win32: make fixup_event correctly ref all GdkWindow members

This fixes some crashes related to owner changes and selections.
This commit is contained in:
Alexander Larsson 2011-11-17 12:25:56 +01:00
parent 6690e6dc58
commit 361fcabbde

View File

@ -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 ();
}