gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnustep-cvs] r29026 - /libs/gui/branches/testplant_1/Source/NSMenuV


From: Doug Simons
Subject: Re: [Gnustep-cvs] r29026 - /libs/gui/branches/testplant_1/Source/NSMenuView.m
Date: Wed, 18 Nov 2009 08:32:42 -0700

I agree that my present solution is a workaround. The code I added checks whether the window is actually in a different place than the frame that is recorded in the NSWindow object, and adjusts the mouse location accordingly. But obviously the real problem is that the NSWindow doesn't know where the window really is.

Are you saying that the backend notifies the gui of the window movement through posting an asynchronous notification? I would have thought it would make a direct call for something like that, but then I don't know anything about the backend and how it's structured. I assumed that the notification was just broken somehow (or not implemented) but I don't have the knowledge needed to fix the problem, hence the workaround.

I don't know what the right solution is, but it doesn't seem like developers who use GNUstep (such as myself) should have to worry about running an event loop periodically in order to guarantee the internal consistency of the system. But maybe that wasn't quite what you meant.

--
Doug Simons

Principal Developer
TestPlant
 
TestPlant Inc T    +1 720-890-0211 ext 13
4730 Walnut Street F    +1 720-890-0209
Boulder, CO 80301 address@hidden
USA
http://www.testplant.com

This email and any attachments may contain privileged / confidential information. If you have received this email in error
or believe that you are not the intended recipient, please delete all content and attached files and contact TestPlant via
the switchboard on +1 720-890-0211 or via return e-mail. You should not copy, forward or use any part of the
contents in any way. Any such unauthorised use or disclosure may be unlawful.

On Nov 18, 2009, at 2:11 AM, Fred Kiefer wrote:

Doug Simons schrieb:
Author: dpsimons
Date: Mon Nov 16 23:51:14 2009
New Revision: 29026

URL: http://svn.gna.org/viewcvs/gnustep?rev=29026&view=rev
Log:
fix problem with mouse tracking being off in submenus that are shifted to stay on screen

Modified:
   libs/gui/branches/testplant_1/Source/NSMenuView.m

I think that this is an important patch we should discuss on this
mailing list. The patch clearly is wrong, as it is only trying to
address the result of a problem, but not the problem itself. What
happens is that after opening a submenu the interaction of the mouse has
an offset, when the window manager repositions the submenu. I think that
this is caused by the code not accepting any repositioning events for
the submenu. I would expect that the backend tries to tell gui where the
submenu window did get positioned, but as we are in a tracking loop we
ignore these events.
An easy solution would be to run the normal event loop for a short time
after we attach a new submenu, but this looks like just another hack.
Any better idea, how to resolve the issue?


_______________________________________________
Gnustep-dev mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/gnustep-dev



reply via email to

[Prev in Thread] Current Thread [Next in Thread]