diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-04-11 17:12:18 +0200 |
---|---|---|
committer | Robert Mader <robert.mader@posteo.de> | 2020-04-16 16:26:04 +0000 |
commit | 04d429b743a641c81e2fd8b683a8ec40775b3213 (patch) | |
tree | 76532d2710b8c27344980a1a2268d5c8b1a856e0 /src/x11/meta-x11-selection-output-stream.c | |
parent | 0b21dcfe08c9a3ac137da518d6ef5f3a80528883 (diff) | |
download | mutter-04d429b743a641c81e2fd8b683a8ec40775b3213.tar.gz |
x11: Finish INCR transfers properly
INCR transfers are mandated to finish with a final 0-size XChangeProperty
roundtrip after the final data chunk. Actually honor this and ensure we
iterate just once more for this.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1198
Diffstat (limited to 'src/x11/meta-x11-selection-output-stream.c')
-rw-r--r-- | src/x11/meta-x11-selection-output-stream.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/x11/meta-x11-selection-output-stream.c b/src/x11/meta-x11-selection-output-stream.c index 59ca1d400..c6df055b4 100644 --- a/src/x11/meta-x11-selection-output-stream.c +++ b/src/x11/meta-x11-selection-output-stream.c @@ -125,7 +125,12 @@ meta_x11_selection_output_stream_needs_flush_unlocked (MetaX11SelectionOutputStr meta_x11_selection_output_stream_get_instance_private (stream); if (priv->data->len == 0) - return FALSE; + { + if (priv->incr) + return g_output_stream_is_closing (G_OUTPUT_STREAM (stream)); + else + return FALSE; + } if (g_output_stream_is_closing (G_OUTPUT_STREAM (stream))) return TRUE; |