win32: make fixup_event correctly ref all GdkWindow members
This fixes some crashes related to owner changes and selections.
This commit is contained in:
parent
6690e6dc58
commit
361fcabbde
@ -833,6 +833,14 @@ fixup_event (GdkEvent *event)
|
|||||||
(event->any.type == GDK_LEAVE_NOTIFY)) &&
|
(event->any.type == GDK_LEAVE_NOTIFY)) &&
|
||||||
(event->crossing.subwindow != NULL))
|
(event->crossing.subwindow != NULL))
|
||||||
g_object_ref (event->crossing.subwindow);
|
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 ();
|
event->any.send_event = InSendMessage ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user