-
Notifications
You must be signed in to change notification settings - Fork 289
Repair broken triggers #1886
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Repair broken triggers #1886
Conversation
If a trigger is loaded before the objects it refers to appear in the catalog, the identifiers will be treated as text objects and fail to work as intended. fixes #1858
perhaps it didn’t have any desired functionality in the past, but now it does
The setters have a built-in check for `nil`.
How come you say 'it only happens once per launch of QS'? If a trigger's dObject is text, then surely it's run every time. Also, this doesn't fix the problem where I try and execute a trigger before the catalog is loaded. Not that this is the wrong solution, just we know the real solution is not really feasible, so we might as well make the 'not right' solution as good as possible :/ |
OK, that part happens every time. I just meant the replacement of the objects happens once. (If you look at the setters, they test to see if the objects are the same, so text shouldn’t get replaced. Well, maybe it will be a different-but-identical string object and get replaced. Do we care?)
Right. The trigger will still fail if the object in question hasn’t been scanned in yet. Don’t see any way around that, but it’s largely theoretical. See if you can pull it off in practice. I can’t. 😃 |
|
Yes, I’ve been using it and haven’t seen a single side-effect. I feel better about it than the old way, anyway. |
OK, for now I think this is the best we've got :) |
Sweet! So close to 1.2.0… |
Yep…. let’s do this! :D On 23 Gorff 2014, at 15:41, Rob McBroom notifications@github.com wrote:
|
Here’s my proposed fix for #1858. “Repairing” the trigger is a pretty inexpensive process, and it only happens once per launch of QS.
The only questionable change is in
QSTriggerCenter.m
. Is there a reason we were short-circuitingexecute
, @tiennou? Was it just to speed things up?