aboutsummaryrefslogtreecommitdiffhomepage
path: root/qt/ScintillaEditBase/ScintillaQt.cpp
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2016-02-29 13:42:44 +1100
committerNeil <nyamatongwe@gmail.com>2016-02-29 13:42:44 +1100
commitbb947090a07efeb103bd04560f1e7d967e741b2b (patch)
tree2d67c6317380b478661656f19de00ac1ef52fe75 /qt/ScintillaEditBase/ScintillaQt.cpp
parent2f462bfb9925cc30f849341c1508d43abca768d1 (diff)
downloadscintilla-mirror-bb947090a07efeb103bd04560f1e7d967e741b2b.tar.gz
Backed out changeset: 8bc19ede3b51
Was incompatible with Qt 4.7 and 4.8.
Diffstat (limited to 'qt/ScintillaEditBase/ScintillaQt.cpp')
-rw-r--r--qt/ScintillaEditBase/ScintillaQt.cpp38
1 files changed, 11 insertions, 27 deletions
diff --git a/qt/ScintillaEditBase/ScintillaQt.cpp b/qt/ScintillaEditBase/ScintillaQt.cpp
index e4bbb5c1d..3b7db8002 100644
--- a/qt/ScintillaEditBase/ScintillaQt.cpp
+++ b/qt/ScintillaEditBase/ScintillaQt.cpp
@@ -25,7 +25,6 @@
#include <QScrollBar>
#include <QTimer>
#include <QTextCodec>
-#include <QThread>
#ifdef SCI_NAMESPACE
using namespace Scintilla;
@@ -307,36 +306,21 @@ void ScintillaQt::ReconfigureScrollBars()
}
}
-static bool clipboardAccessFailed;
-static void ClipboardMessageHandler(QtMsgType, const QMessageLogContext &, const QString &)
-{
- clipboardAccessFailed = true;
-}
-
void ScintillaQt::CopyToModeClipboard(const SelectionText &selectedText, QClipboard::Mode clipboardMode_)
{
- // Try up to 8 times, with an initial delay of 1 ms and an exponential
- // back off for a maximum total delay of 127 ms (1+2+4+8+16+32+64).
- QString text = StringFromSelectedText(selectedText);
- for (int attempt = 0; attempt < 8; attempt++) {
- if (attempt > 0)
- QThread::msleep(1 << (attempt-1));
-
- QMimeData *mimeData = new QMimeData;
- mimeData->setText(text);
- if (selectedText.rectangular)
- AddRectangularToMime(mimeData, text);
+ QClipboard *clipboard = QApplication::clipboard();
+ clipboard->clear(clipboardMode_);
+ QString su = StringFromSelectedText(selectedText);
+ QMimeData *mimeData = new QMimeData();
+ mimeData->setText(su);
+ if (selectedText.rectangular) {
+ AddRectangularToMime(mimeData, su);
+ }
- // Allow client code to add additional data (e.g rich text).
- emit aboutToCopy(mimeData);
+ // Allow client code to add additional data (e.g rich text).
+ emit aboutToCopy(mimeData);
- clipboardAccessFailed = false;
- QtMessageHandler handler = qInstallMessageHandler(ClipboardMessageHandler);
- QApplication::clipboard()->setMimeData(mimeData, clipboardMode_);
- qInstallMessageHandler(handler);
- if (!clipboardAccessFailed)
- return;
- }
+ clipboard->setMimeData(mimeData, clipboardMode_);
}
void ScintillaQt::Copy()