diff options
author | Tor Lillqvist <tml@iki.fi> | 2000-05-16 21:27:10 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2000-05-16 21:27:10 +0000 |
commit | 8596f7edc559f94f6daeb593d298e9c78b0bf40d (patch) | |
tree | 3177e0bce7517422ddec629eb730aa285e33638c /gdk/win32/gdkevents-win32.c | |
parent | 386ae2097042d60afa3c4d4d4244161d16966b77 (diff) | |
download | gtk+-8596f7edc559f94f6daeb593d298e9c78b0bf40d.tar.gz |
Plug same refcount leaks as in the X11 backend.gdk-object-branchpoint
2000-05-17 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
refcount leaks as in the X11 backend.
* gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
cosmetics.
* gdk/win32/gdkwindow-win32.c: Similar changes as in X11
backend. Add _gdk_windowing_window_destroy().
* gtk/gtkcolorsel.c: Include correct backend-specific header.
Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
either, but these probably do exist on nanox?)
* gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
which isn't necessarily defined by <math.h>.
* gtk/gtkobject.c (gtk_object_init): Don't go up the class
ancestry past GtkObject.
* gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
from DLL on Win32.
* gtk/gtk.def: Update corresponding to recent changes.
* gtk/makefile.{cygwin,msc}: Updates.
Diffstat (limited to 'gdk/win32/gdkevents-win32.c')
-rw-r--r-- | gdk/win32/gdkevents-win32.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index be4509124a..54ca493daf 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -2979,6 +2979,9 @@ gdk_event_translate (GdkEvent *event, window = gdk_window_lookup (xevent->hwnd); orig_window = window; + event->any.window = window; + event->any.send_event = FALSE; + if (window != NULL) gdk_drawable_ref (window); else @@ -3013,13 +3016,14 @@ gdk_event_translate (GdkEvent *event, { /* Check for filters for this window */ GdkFilterReturn result; - event->any.window = window; + result = gdk_event_apply_filters (xevent, event, ((GdkWindowPrivate *) window)->filters); if (result != GDK_FILTER_CONTINUE) { - return (result == GDK_FILTER_TRANSLATE) ? TRUE : FALSE; + return_val = (result == GDK_FILTER_TRANSLATE) ? TRUE : FALSE; + goto done; } } @@ -3104,7 +3108,7 @@ gdk_event_translate (GdkEvent *event, event->client.data.l[1] = xevent->lParam; break; } - goto bypass_switch; /* Ouch */ + goto done; } tmp_list = tmp_list->next; } @@ -3163,8 +3167,8 @@ gdk_event_translate (GdkEvent *event, xevent->lParam)); ignore_WM_CHAR = TRUE; - keyup_or_down: + keyup_or_down: if (!propagate (&window, xevent, k_grab_window, k_grab_owner_events, GDK_ALL_EVENTS_MASK, doesnt_want_key)) @@ -4265,7 +4269,7 @@ gdk_event_translate (GdkEvent *event, xevent->wParam, xevent->lParam)); } -bypass_switch: +done: if (return_val) { |