x11: Don't invariably queue a pending delete request

We don't need doing this roundtrip for non-INCR transfers.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1198

(cherry picked from commit d2c762cc66)
This commit is contained in:
Carlos Garnacho 2020-04-11 17:13:52 +02:00 committed by Robert Mader
parent c43f178495
commit b1c47c6213

View File

@ -243,9 +243,13 @@ meta_x11_selection_output_stream_perform_flush (MetaX11SelectionOutputStream *st
PropModeReplace, PropModeReplace,
(guchar *) &(long) { n_elements }, (guchar *) &(long) { n_elements },
1); 1);
priv->delete_pending = TRUE;
} }
else else
{ {
if (priv->incr && priv->data->len > 0)
priv->delete_pending = TRUE;
XChangeProperty (xdisplay, XChangeProperty (xdisplay,
priv->xwindow, priv->xwindow,
priv->xproperty, priv->xproperty,
@ -260,7 +264,6 @@ meta_x11_selection_output_stream_perform_flush (MetaX11SelectionOutputStream *st
if (first_chunk) if (first_chunk)
meta_x11_selection_output_stream_notify_selection (stream); meta_x11_selection_output_stream_notify_selection (stream);
priv->delete_pending = TRUE;
g_cond_broadcast (&priv->cond); g_cond_broadcast (&priv->cond);
g_mutex_unlock (&priv->mutex); g_mutex_unlock (&priv->mutex);