[gtk+/client-side-windows: 241/284] Don't ignore all events when inactive, only clicks
- From: Alexander Larsson <alexl src gnome org>
- To: svn-commits-list gnome org
- Subject: [gtk+/client-side-windows: 241/284] Don't ignore all events when inactive, only clicks
- Date: Thu, 2 Apr 2009 14:20:10 -0400 (EDT)
commit 6d1a8853c408c3bcaea714e608f8eecc69434e62
Author: Richard Hult <richard imendio com>
Date: Tue Feb 3 18:47:09 2009 +0100
Don't ignore all events when inactive, only clicks
---
gdk/quartz/gdkevents-quartz.c | 17 +++++++----------
1 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c
index 1c3a177..a9f3154 100644
--- a/gdk/quartz/gdkevents-quartz.c
+++ b/gdk/quartz/gdkevents-quartz.c
@@ -889,12 +889,6 @@ gdk_event_translate (GdkEvent *event,
int x_root, y_root;
gboolean return_val;
- /* Ignore events altogether when we're not active, otherwise we get
- * tooltips etc for inactive apps.
- */
- if (![NSApp isActive])
- return FALSE;
-
/* There is no support for real desktop wide grabs, so we break
* grabs when the application loses focus (gets deactivated).
*/
@@ -990,9 +984,9 @@ gdk_event_translate (GdkEvent *event,
}
}
- /* We only activate the application on click if it's not already active,
- * or if it's active but the window isn't focused. This matches most use
- * cases of native apps (no click-through).
+ /* If the app is not active, or the window (when not grabbed) is not
+ * active, leave the event to AppKit so the window gets focused correctly
+ * and don't do click-through (so we behave like most native apps).
*/
if ((event_type == NSRightMouseDown ||
event_type == NSOtherMouseDown ||
@@ -1002,7 +996,10 @@ gdk_event_translate (GdkEvent *event,
GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl);
if (![NSApp isActive])
- return FALSE;
+ {
+ [NSApp activateIgnoringOtherApps:YES];
+ return FALSE;
+ }
else if (![impl->toplevel isKeyWindow])
return FALSE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]