[gtk+] win32: make fixup_event correctly ref all GdkWindow members
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] win32: make fixup_event correctly ref all GdkWindow members
- Date: Thu, 17 Nov 2011 11:27:00 +0000 (UTC)
commit 361fcabbde2af6e4c8f785cdf6482f366ba4affe
Author: Alexander Larsson <alexl redhat com>
Date: Thu Nov 17 12:25:56 2011 +0100
win32: make fixup_event correctly ref all GdkWindow members
This fixes some crashes related to owner changes and selections.
gdk/win32/gdkevents-win32.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index 6fc6f58..16d8195 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -833,6 +833,14 @@ fixup_event (GdkEvent *event)
(event->any.type == GDK_LEAVE_NOTIFY)) &&
(event->crossing.subwindow != NULL))
g_object_ref (event->crossing.subwindow);
+ if (((event->any.type == GDK_SELECTION_CLEAR) ||
+ (event->any.type == GDK_SELECTION_NOTIFY) ||
+ (event->any.type == GDK_SELECTION_REQUEST)) &&
+ (event->selection.requestor != NULL))
+ g_object_ref (event->selection.requestor);
+ if ((event->any.type == GDK_OWNER_CHANGE) &&
+ (event->owner_change.owner != NULL))
+ g_object_ref (event->owner_change.owner);
event->any.send_event = InSendMessage ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]