]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiSelection.h
* fix spelling in comments to please John.
[lyx.git] / src / frontends / qt4 / GuiSelection.h
index 7e77da715a85a9bc728b08fb22e1de2c760e184a..1567b3e697f5f4734e6bcae98fa30542270686d2 100644 (file)
@@ -11,8 +11,8 @@
  * Full author contact details are available in file CREDITS.
  */
 
-#ifndef SELECTION_H
-#define SELECTION_H
+#ifndef GUISELECTION_H
+#define GUISELECTION_H
 
 #include "frontends/Selection.h"
 
@@ -44,11 +44,18 @@ private Q_SLOTS:
        void on_dataChanged();
 
 private:
-       bool text_selection_empty_;
+       // Direct call clipboard()->text(QClipboard::Selection) inside onDataChanged causes
+       // selection to be obtained. Now imagine the some LyX instance A, when making selection -
+       // each change triggers onDataChange in all others instances for each mouse
+       // or keyboard move. This in turn causes many calls of requestSelection in A
+       // which interferes with the selecting itself. As a result middle button pasting
+       // for more instances don't work and debugging is a hell. So we just schedule
+       // obtaining of selection on the time empty() is actually called.
+       mutable bool schedule_check_;
        bool const selection_supported_;
 };
 
 } // namespace frontend
 } // namespace lyx
 
-#endif // SELECTION_H
+#endif // GUISELECTION_H