summaryrefslogtreecommitdiff
path: root/gdk/win32/gdkevents-win32.c
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2000-05-16 21:27:10 +0000
committerTor Lillqvist <tml@src.gnome.org>2000-05-16 21:27:10 +0000
commit8596f7edc559f94f6daeb593d298e9c78b0bf40d (patch)
tree3177e0bce7517422ddec629eb730aa285e33638c /gdk/win32/gdkevents-win32.c
parent386ae2097042d60afa3c4d4d4244161d16966b77 (diff)
downloadgtk+-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.c14
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)
{