Gregory Casamento wrote:
Fred,
I understand what you're saying, but I'm not sure what to do to
correct it. I admit I had a feeling when I made this commit that
there must be a better way of doing this. Something, perhaps, more
centralized is needed. NSMenuView, as you suggested, does seem like
the right place.
After some research it looks like _executeItemAtIndex:removeSubmenu:
might be a good candidate for this to be located centrally.
Let me know what you think.
I think the main problem is that NSMenuView's event tracking loop is
too autistic. On one hand it accepts only mouse events during event
tracking, but on the other hand it does not communicate this
information to the window manager and so the user can freely move or
close windows while the loop is active. This is absolutely
inconsistent. Either we must also grab the mouse at the level of the X
server during the event tracking, or the event tracking loop must
handle AppKit generated events like window close and window move
events. Personally, I'd prefer the latter, since grabbing would make
it impossible to enter a debugging session in the event loop (at least
without a second machine), but the former may be easier to implement.
Wolfgang
_______________________________________________
Gnustep-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnustep-dev