From 688757b751d6ebe8a0e33ab0e431bc711a69eca5 Mon Sep 17 00:00:00 2001 From: Bibiko Date: Fri, 14 Aug 2009 18:47:46 +0000 Subject: =?UTF-8?q?=E2=80=A2=20improved=20the=20closing=20behaviour=20of?= =?UTF-8?q?=20the=20SPTooltip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/SPTooltip.m | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'Source/SPTooltip.m') diff --git a/Source/SPTooltip.m b/Source/SPTooltip.m index aa3e906f..315ea92c 100644 --- a/Source/SPTooltip.m +++ b/Source/SPTooltip.m @@ -336,18 +336,22 @@ static float slow_in_out (float t) BOOL didAcceptMouseMovedEvents = [keyWindow acceptsMouseMovedEvents]; [keyWindow setAcceptsMouseMovedEvents:YES]; NSEvent* event; + int eventType; while(event = [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate distantFuture] inMode:NSDefaultRunLoopMode dequeue:YES]) { [NSApp sendEvent:event]; - - if([event type] == NSLeftMouseDown || [event type] == NSRightMouseDown || [event type] == NSOtherMouseDown || [event type] == NSKeyDown || [event type] == NSScrollWheel) + eventType = [event type]; + if(eventType == NSKeyDown || eventType == NSLeftMouseDown || eventType == NSRightMouseDown || eventType == NSOtherMouseDown || eventType == NSScrollWheel) break; - if([event type] == NSMouseMoved && [self shouldCloseForMousePosition:[NSEvent mouseLocation]]) + if(eventType == NSMouseMoved && [self shouldCloseForMousePosition:[NSEvent mouseLocation]]) break; if(keyWindow != [NSApp keyWindow] || ![NSApp isActive]) break; + + if(spTooltipCounter > 1) + break; } [keyWindow setAcceptsMouseMovedEvents:didAcceptMouseMovedEvents]; -- cgit v1.2.3