Hi,
But to call it twice is the only way to differentiate between no active plugin active and a user interaction.
Calling it twice is creative, but not very elegant. Active() could be modified, but I didn't want to go that far. In the end, I liked the idea being asked separately for each reason not to shut down, so there's no need to know how forced the shutdown was.
That's also correct, but if the variable ForceShutdown exists, then it should be set whenever the user commits a question, and not only on some questions :)
Anyway I think both patches will fix the actual problem so it doesn't matter which one to take ..