[gnome-settings-daemon] clipboard: add a missing free_contents



commit 776bb25f46fc2b85089ba10be275971bd41bba5a
Author: Роман Донченко <dpb corrigendum ru>
Date:   Sun Nov 12 00:29:28 2017 +0300

    clipboard: add a missing free_contents
    
    Currently, when gsd-clipboard receives a response to a conversion
    request for the MULTIPLE target that indicates failure (i.e. property
    == None), it doesn't free the contents list. This leads it to believe
    it owns the CLIPBOARD selection, when it actually doesn't. Because of
    this, it returns an error for all subsequent SAVE_TARGETS requests,
    effectively becoming inoperative as a clipboard manager.
    
    So fix that. Because of the way the code is structured, free_contents
    will also be called when a request for the TARGETS target fails, but
    at that point the contents list should be empty, so it'll be harmless.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=790344

 plugins/clipboard/gsd-clipboard-manager.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/plugins/clipboard/gsd-clipboard-manager.c b/plugins/clipboard/gsd-clipboard-manager.c
index 88be6c9..abe2683 100644
--- a/plugins/clipboard/gsd-clipboard-manager.c
+++ b/plugins/clipboard/gsd-clipboard-manager.c
@@ -796,6 +796,8 @@ clipboard_manager_process_event (GsdClipboardManager *manager,
                         }
                         else if (xev->xselection.property == None) {
                                 send_selection_notify (manager, False);
+
+                                free_contents (manager);
                                 clipboard_manager_watch_cb (manager,
                                                             manager->priv->requestor,
                                                             False,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]