commit af4ee1a487c4d899b71df02ba57c2f024fea6786
Author: Scott Kostyshak <[email protected]>
Date:   Fri Mar 27 21:23:08 2020 -0400

    Only set dummy X11 selection if we do not own it
    
    Before, we would continually set the selection to the empty string,
    to maintain ownership. This causes problems with clipboard managers
    GPaste and CopyQ. Further, in theory this should have better
    performance since checking ownership should be faster than setting.
    
    A disadvantage of this change is that the timestamp of the selection
    will be old at this point in the code. However, when the selection
    is requested, we put the selection contents at that point so the
    selection timestamp should be accurate then. Further, the selection
    contents are not accurate at this point in the code (they are just
    the empty string), so it is not clear whether having an accurate
    timestamp is beneficial.
    
    Fixes #11715.
---
 src/frontends/qt/GuiSelection.cpp |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/frontends/qt/GuiSelection.cpp 
b/src/frontends/qt/GuiSelection.cpp
index 288cb18..7e9d29f 100644
--- a/src/frontends/qt/GuiSelection.cpp
+++ b/src/frontends/qt/GuiSelection.cpp
@@ -51,9 +51,10 @@ void GuiSelection::haveSelection(bool own)
        // an application actually requests it.
        // This way calling Selection::have() is cheap and we can do it as
        // often as we want.
-       //LYXERR(Debug::SELECTION, "GuiSelection: setting dummy selection");
-       if (own)
+       if (own && !qApp->clipboard()->ownsSelection()) {
+               LYXERR(Debug::SELECTION, "GuiSelection: setting dummy 
selection");
                qApp->clipboard()->setText(QString(), QClipboard::Selection);
+       }
        // We don't need to do anything if own = false, as this case is
        // handled by QT.
        // FIXME (gb): This is wrong. What is missing here is rather a call of
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to