From: Michiel de H. <mjl...@ya...> - 2014-09-27 09:06:03
|
Hi Kevin, [Michiel] > Instead, in tkMacOSXNotify.c nextEventMatchingMask is > overridden (which is an odd thing to do in itself) and now > calls [NSApp tkProcessEvent:event], thereby processing > the event in the event loop rather than in the callback. [Kevin] > tkProcessEvent is just a wrapper for Cocoa > event dispatch; it doesn't run any Tcl procedures. > See tkMacOSXEvent.c. > Given the data points I've outlined, I don't think that > changing tkProcessEvent will have any > useful effect, as it already conforms (as far as I can > tell) to your prescription--no actual Tcl events or > procedures are executed here. I think there is a misunderstanding here. I was referring to Cocoa events, not to Tcl events or procedures. In the current design, tkProcessEvent is processing Cocoa events in the event loop rather than in the callback. > See http://core.tcl.tk/tk/tktview?name=3028676fff > for discussion by Daniel Steffen of the > notifier design. Thanks for the pointer. Let me try and see if reorganizing the event loop can fix this bug. If it does, we can discuss again. In the meantime, are there any volunteers to test any new event loop code? In addition to the Tcl/Tk test suite, it would be good to test the code in the real world. Thanks, -Michiel -------------------------------------------- On Sat, 9/27/14, Kevin Walzer <kw...@co...> wrote: Subject: Re: [TCLCORE] Commits to improve drawing in Tk-Cocoa after removal of private API's To: "Michiel de Hoon" <mjl...@ya...>, "tc...@li... List" <tc...@li...>, "Tcl Core List" <tcl...@li...> Date: Saturday, September 27, 2014, 6:48 AM Michiel, On 9/26/14, 10:38 AM, Michiel de Hoon wrote: > Instead, in tkMacOSXNotify.c nextEventMatchingMask is overridden (which is an odd thing to do in itself) and now calls [NSApp tkProcessEvent:event], thereby processing the event in the event loop rather than in the callback. tkProcessEvent is just a wrapper for Cocoa event dispatch; it doesn't run any Tcl procedures. See tkMacOSXEvent.c. I suspect it's designed that way to put everything in one place. See http://core.tcl.tk/tk/tktview?name=3028676fff for discussion by Daniel Steffen of the notifier design. Given the data points I've outlined, I don't think that changing tkProcessEvent will have any useful effect, as it already conforms (as far as I can tell) to your prescription--no actual Tcl events or procedures are executed here. --Kevin -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |