summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2003-06-05 22:05:14 +0000
committerTor Lillqvist <tml@src.gnome.org>2003-06-05 22:05:14 +0000
commit72a70cb6461913d48e1449a7063e6bcf7450396f (patch)
tree2e806e14c84c1b0664f583448d4f52ba16cc306e /gdk
parentfc82265675ff4e0649946a60618e707bc5564c5f (diff)
downloadgdk-pixbuf-72a70cb6461913d48e1449a7063e6bcf7450396f.tar.gz
Handle global filters.
2003-06-05 Tor Lillqvist <tml@iki.fi> * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle global filters.
Diffstat (limited to 'gdk')
-rw-r--r--gdk/win32/gdkevents-win32.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index e35476086..ff70323ab 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -1901,6 +1901,23 @@ gdk_event_translate (GdkDisplay *display,
if (ret_val_flagp)
*ret_val_flagp = FALSE;
+ /* init these, since the done: block uses them */
+ ASSIGN_WINDOW (NULL);
+ event->any.window = NULL;
+
+ if (_gdk_default_filters)
+ {
+ /* Apply global filters */
+ GdkFilterReturn result;
+ result = gdk_event_apply_filters (msg, event, _gdk_default_filters);
+
+ if (result != GDK_FILTER_CONTINUE)
+ {
+ return_val = (result == GDK_FILTER_TRANSLATE) ? TRUE : FALSE;
+ goto done;
+ }
+ }
+
ASSIGN_WINDOW (gdk_win32_handle_table_lookup ((GdkNativeWindow) msg->hwnd));
orig_window = window;