mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-26 11:16:55 +00:00
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.
This commit is contained in:
parent
cf628911d0
commit
af4ee1a487
@ -51,9 +51,10 @@ void GuiSelection::haveSelection(bool own)
|
|||||||
// an application actually requests it.
|
// an application actually requests it.
|
||||||
// This way calling Selection::have() is cheap and we can do it as
|
// This way calling Selection::have() is cheap and we can do it as
|
||||||
// often as we want.
|
// often as we want.
|
||||||
//LYXERR(Debug::SELECTION, "GuiSelection: setting dummy selection");
|
if (own && !qApp->clipboard()->ownsSelection()) {
|
||||||
if (own)
|
LYXERR(Debug::SELECTION, "GuiSelection: setting dummy selection");
|
||||||
qApp->clipboard()->setText(QString(), QClipboard::Selection);
|
qApp->clipboard()->setText(QString(), QClipboard::Selection);
|
||||||
|
}
|
||||||
// We don't need to do anything if own = false, as this case is
|
// We don't need to do anything if own = false, as this case is
|
||||||
// handled by QT.
|
// handled by QT.
|
||||||
// FIXME (gb): This is wrong. What is missing here is rather a call of
|
// FIXME (gb): This is wrong. What is missing here is rather a call of
|
||||||
|
Loading…
Reference in New Issue
Block a user