Parrot

240 - Multiple "Check every XX seconds" triggers conflict

performPeriodicCheck is passed the same name for every trigger. This means all triggers share the same elapsed time variable, thus the time elapsed is incremented once for every trigger for every periodic check, only one trigger can trigger per periodic check, and only the trigger(s) with the smallest time period will be triggered.

--- a/Code/Triggers.lua
+++ b/Code/Triggers.lua
@@ -1649,7 +1649,7 @@ function Parrot_Triggers:OnTriggerCondition(name, arg, uid, check)
                                        end
                                end
                        elseif name == "Check every XX seconds" then
-                               good = performPeriodicCheck(name, param)
+                               good = performPeriodicCheck(t.name, param)
                        else
                                good = checkPrimaryCondition(param, arg, check)
                        end
User When Change
zmnspencer Mar 23, 2014 at 03:23 UTC Create

You must login to post a comment. Don't have an account? Register to get one!

Facts

Reported
Mar 23, 2014
Status
New - Issue has not had initial review yet.
Type
Patch - Source code patch for review
Priority
Medium - Normal priority.
Votes
0

Reported by

Possible assignees