x11: Handle obsolete selection requests without crashing

The ICCCM says:

If the specified property is None , the requestor is an obsolete client.
Owners are encouraged to support these clients by using the specified
target atom as the property name to be used for the reply.

Lets do that, instead of crashing.

https://bugzilla.gnome.org/show_bug.cgi?id=740613
This commit is contained in:
Matthias Clasen 2014-11-26 22:25:36 -05:00
parent e3bf31886a
commit 732af31424

View File

@ -939,7 +939,7 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
event->selection.selection = gdk_x11_xatom_to_atom_for_display (display, xevent->xselection.selection);
event->selection.target = gdk_x11_xatom_to_atom_for_display (display, xevent->xselection.target);
if (xevent->xselection.property == None)
event->selection.property = GDK_NONE;
event->selection.property = event->selection.target;
else
event->selection.property = gdk_x11_xatom_to_atom_for_display (display, xevent->xselection.property);
event->selection.time = xevent->xselection.time;