Artifact 434723f4ed70089971c737eca3e5bedea4463dfd:
- File unix/gtkwin.c — part of check-in [f92a403fe9] at 2013-11-30 12:04:57 on branch trunk — Make GTK idle and quit function setup idempotent. I found last week that when a local proxy process terminated unexpectedly, Unix PuTTY went into a tight loop calling quit functions, because if idle_toplevel_callback_func is called from inside a subsidiary gtk_main then it will schedule a quit function and _not_ disable itself, so that that quit function keeps being rescheduled on subsequent calls. To fix, I've tried to make the whole handling of idle and quit functions more sensibly robust: we keep our own boolean flag indicating whether each of our functions has already been scheduled with GTK, and if so, we don't schedule the same one again. Also, when idle_toplevel_callback_func schedules a quit function, it should unschedule itself since it's now done everything it can until a gtk_main instance quits. (user: simon size: 116562)
A hex dump of this file is not available. Please download the raw binary file and generate a hex dump yourself.