gnustep-dev
[Top][All Lists]
Advanced

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

Re: Tooltips in save panels


From: Fred Kiefer
Subject: Re: Tooltips in save panels
Date: Tue, 19 Feb 2013 22:09:22 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130105 Thunderbird/17.0.2

On 19.02.2013 09:10, Fred Kiefer wrote:
Am 18.02.2013 um 23:49 schrieb Riccardo Mottola <address@hidden>:
Fred Kiefer wrote:
On 18.02.2013 12:25, Riccardo Mottola wrote:

I think the root of this problem isn't even in gui. A timer gets set up for the 
tooltip via the NSTimer method
-scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
That method uses the runmode NSDefaultRunLoopMode for the timer. While a modal 
window gets displayed gui requests events in the NSModalPanelRunLoopMode and 
the timer wont get fired. Now this behaviour matches the Apple documentation, 
but results in the tooltip never getting displayed.

when you write "this behaviour matches Apple" do you mean our timer is acting 
correct but we are using the wrong one?

To work around this behaviour gui should create the timer via 
-timerWithTimeInterval:target:selector:userInfo:repeats: and add it to the 
runloop itself for different modes.

I am no expert here, but the behaviour in base matches the documentation. If 
this does not result in the desired effect, we will have to use a different 
way. And maybe the solution is as simple as adding that timer for the modal 
panel mode as well.

I just added the line

[[NSRunLoop currentRunLoop] addTimer: timer forMode: NSModalPanelRunLoopMode];

to GSTooltips.m (plus the required includes) and now tooltips work even in modal panels. There are a lot more places in gui where we use a timer and most of them would benefit from a similar change. The question is, are there any downsides to this change and which places should be adopted? And most important: Should we really change this during the code freeze that is currently in place on gui and back?





reply via email to

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