diff options
author | Tor Lillqvist <tml@iki.fi> | 2003-06-05 22:05:14 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2003-06-05 22:05:14 +0000 |
commit | 72a70cb6461913d48e1449a7063e6bcf7450396f (patch) | |
tree | 2e806e14c84c1b0664f583448d4f52ba16cc306e /gdk | |
parent | fc82265675ff4e0649946a60618e707bc5564c5f (diff) | |
download | gdk-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.c | 17 |
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; |