diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-qt/qtgui/files | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-qt/qtgui/files')
-rw-r--r-- | dev-qt/qtgui/files/qtgui-4.7.3-cups.patch | 84 | ||||
-rw-r--r-- | dev-qt/qtgui/files/qtgui-4.8.5-disable-gtk-theme-check.patch | 22 | ||||
-rw-r--r-- | dev-qt/qtgui/files/qtgui-4.8.5-qclipboard-delay.patch | 33 | ||||
-rw-r--r-- | dev-qt/qtgui/files/qtgui-5.9.4-libinput-pixeldelta.patch | 68 | ||||
-rw-r--r-- | dev-qt/qtgui/files/qtgui-5.9.4-opengl.patch | 87 | ||||
-rw-r--r-- | dev-qt/qtgui/files/qtgui-5.9.4-qsimpledrag.patch | 170 |
6 files changed, 464 insertions, 0 deletions
diff --git a/dev-qt/qtgui/files/qtgui-4.7.3-cups.patch b/dev-qt/qtgui/files/qtgui-4.7.3-cups.patch new file mode 100644 index 000000000000..e0305e11b89a --- /dev/null +++ b/dev-qt/qtgui/files/qtgui-4.7.3-cups.patch @@ -0,0 +1,84 @@ +diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp +--- qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-11 16:55:22.000000000 +0100 ++++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-28 04:34:16.000000000 +0100 +@@ -569,6 +569,32 @@ + void QPrintDialogPrivate::selectPrinter(QCUPSSupport *cups) + { + options.duplex->setEnabled(cups && cups->ppdOption("Duplex")); ++ ++ if (cups) { ++ const ppd_option_t* duplex = cups->ppdOption("Duplex"); ++ if (duplex) { ++ // copy default ppd duplex to qt dialog ++ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0) ++ options.duplexShort->setChecked(true); ++ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0) ++ options.duplexLong->setChecked(true); ++ else ++ options.noDuplex->setChecked(true); ++ } ++ ++ if (cups->currentPPD()) { ++ // set default color ++ if (cups->currentPPD()->color_device) ++ options.color->setChecked(true); ++ else ++ options.grayscale->setChecked(true); ++ } ++ ++ // set collation ++ const ppd_option_t *collate = cups->ppdOption("Collate"); ++ if (collate) ++ options.collate->setChecked(qstrcmp(collate->defchoice, "True")==0); ++ } + } + #endif + +diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp +--- qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp 2010-02-11 16:55:22.000000000 +0100 ++++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp 2010-02-28 04:55:15.000000000 +0100 +@@ -627,6 +627,44 @@ + && d_ptr->paintEngine->type() != QPaintEngine::MacPrinter) { + setOutputFormat(QPrinter::PdfFormat); + } ++ ++#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY) ++ // fill in defaults from ppd file ++ QCUPSSupport cups; ++ ++ int printernum = -1; ++ for (int i = 0; i < cups.availablePrintersCount(); i++) { ++ if (printerName().toLocal8Bit() == cups.availablePrinters()[i].name) ++ printernum = i; ++ } ++ if (printernum >= 0) { ++ cups.setCurrentPrinter(printernum); ++ ++ const ppd_option_t* duplex = cups.ppdOption("Duplex"); ++ if (duplex) { ++ // copy default ppd duplex to qt dialog ++ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0) ++ setDuplex(DuplexShortSide); ++ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0) ++ setDuplex(DuplexLongSide); ++ else ++ setDuplex(DuplexNone); ++ } ++ ++ if (cups.currentPPD()) { ++ // set default color ++ if (cups.currentPPD()->color_device) ++ setColorMode(Color); ++ else ++ setColorMode(GrayScale); ++ } ++ ++ // set collation ++ const ppd_option_t *collate = cups.ppdOption("Collate"); ++ if (collate) ++ setCollateCopies(qstrcmp(collate->defchoice, "True")==0); ++ } ++#endif + } + + /*! diff --git a/dev-qt/qtgui/files/qtgui-4.8.5-disable-gtk-theme-check.patch b/dev-qt/qtgui/files/qtgui-4.8.5-disable-gtk-theme-check.patch new file mode 100644 index 000000000000..9a9f773537e4 --- /dev/null +++ b/dev-qt/qtgui/files/qtgui-4.8.5-disable-gtk-theme-check.patch @@ -0,0 +1,22 @@ +diff -up qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp +--- qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check 2013-06-09 16:28:22.938840346 -0500 ++++ qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp 2013-06-09 17:03:01.781125479 -0500 +@@ -503,18 +503,6 @@ void QGtkStylePrivate::initGtkWidgets() + return; + } + +- static QString themeName; +- if (!gtkWidgetMap()->contains("GtkWindow") && themeName.isEmpty()) { +- themeName = getThemeName(); +- +- if (themeName == QLS("Qt") || themeName == QLS("Qt4")) { +- // Due to namespace conflicts with Qt3 and obvious recursion with Qt4, +- // we cannot support the GTK_Qt Gtk engine +- qWarning("QGtkStyle cannot be used together with the GTK_Qt engine."); +- return; +- } +- } +- + if (QGtkStylePrivate::gtk_init) { + // Gtk will set the Qt error handler so we have to reset it afterwards + x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0); diff --git a/dev-qt/qtgui/files/qtgui-4.8.5-qclipboard-delay.patch b/dev-qt/qtgui/files/qtgui-4.8.5-qclipboard-delay.patch new file mode 100644 index 000000000000..d46f8c541872 --- /dev/null +++ b/dev-qt/qtgui/files/qtgui-4.8.5-qclipboard-delay.patch @@ -0,0 +1,33 @@ +From a83ddc5212736f89a0b94667c495494fe6861d63 Mon Sep 17 00:00:00 2001 +From: Michael Palimaka <kensington@gentoo.org> +Date: Mon, 16 Jun 2014 23:52:24 +1000 +Subject: Fix delay with QClipboard and useEventLoop. + +This manifests when using LibreOffice with KDE integration. When KFileDialog is +open, the clipboard is repeatedly polled causing a visible delay since using +QClipboard in "useEventLoop" mode adds 50ms delay to every single clipboard +fetch. + +Change-Id: Id30cda7b983ae7c949fa270d04f772fa44fc21cd +Task-number: QTBUG-38585 +--- + src/gui/kernel/qclipboard_x11.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/gui/kernel/qclipboard_x11.cpp b/src/gui/kernel/qclipboard_x11.cpp +index 14bf088..5f442b9 100644 +--- a/src/gui/kernel/qclipboard_x11.cpp ++++ b/src/gui/kernel/qclipboard_x11.cpp +@@ -548,7 +548,8 @@ bool QX11Data::clipboardWaitForEvent(Window win, int type, XEvent *event, int ti + return false; + + XSync(X11->display, false); +- usleep(50000); ++ if (!XPending(X11->display)) ++ usleep(5000); + + now.start(); + +-- +2.0.0 + diff --git a/dev-qt/qtgui/files/qtgui-5.9.4-libinput-pixeldelta.patch b/dev-qt/qtgui/files/qtgui-5.9.4-libinput-pixeldelta.patch new file mode 100644 index 000000000000..b9adb8b2f623 --- /dev/null +++ b/dev-qt/qtgui/files/qtgui-5.9.4-libinput-pixeldelta.patch @@ -0,0 +1,68 @@ +From d196036024697a75868c1f1626525710495ca428 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen <allan.jensen@qt.io> +Date: Thu, 23 Nov 2017 14:25:04 +0100 +Subject: [PATCH] Avoid providing bad pixelDeltas on X11 + +With libinput we now get a hardcoded resolution that is unrelated to +the hardware. So avoid using that as a real pixel delta and document +pixel deltas as being driver specific and unreliable on X11. + +Task-number: QTBUG-59261 +Change-Id: I9fe86d80e7ccd290ed2e4091d7eafa52cb537d34 +Reviewed-by: David Edmundson <davidedmundson@kde.org> +Reviewed-by: Marco Martin <mart@kde.org> +Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> +--- + src/gui/kernel/qevent.cpp | 1 + + src/plugins/platforms/xcb/qxcbconnection_xi2.cpp | 14 ++++++++------ + 2 files changed, 9 insertions(+), 6 deletions(-) + +diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp +index 06d52aa..c68f9af 100644 +--- a/src/gui/kernel/qevent.cpp ++++ b/src/gui/kernel/qevent.cpp +@@ -971,6 +971,7 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, + \li scrolling is about to begin, but the distance did not yet change (Qt::ScrollBegin), + \li or scrolling has ended and the distance did not change anymore (Qt::ScrollEnd). + \endlist ++ \note On X11 this value is driver specific and unreliable, use angleDelta() instead + */ + + /*! +diff --git a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp +index d1d97af..94f543f 100644 +--- a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp ++++ b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp +@@ -953,10 +953,12 @@ void QXcbConnection::xi2HandleScrollEvent(void *event, ScrollingDevice &scrollin + double delta = scrollingDevice.lastScrollPosition.y() - value; + scrollingDevice.lastScrollPosition.setY(value); + angleDelta.setY((delta / scrollingDevice.verticalIncrement) * 120); +- // We do not set "pixel" delta if it is only measured in ticks. +- if (scrollingDevice.verticalIncrement > 1) ++ // With most drivers the increment is 1 for wheels. ++ // For libinput it is hardcoded to a useless 15. ++ // For a proper touchpad driver it should be in the same order of magnitude as 120 ++ if (scrollingDevice.verticalIncrement > 15) + rawDelta.setY(delta); +- else if (scrollingDevice.verticalIncrement < -1) ++ else if (scrollingDevice.verticalIncrement < -15) + rawDelta.setY(-delta); + } + } +@@ -965,10 +967,10 @@ void QXcbConnection::xi2HandleScrollEvent(void *event, ScrollingDevice &scrollin + double delta = scrollingDevice.lastScrollPosition.x() - value; + scrollingDevice.lastScrollPosition.setX(value); + angleDelta.setX((delta / scrollingDevice.horizontalIncrement) * 120); +- // We do not set "pixel" delta if it is only measured in ticks. +- if (scrollingDevice.horizontalIncrement > 1) ++ // See comment under vertical ++ if (scrollingDevice.horizontalIncrement > 15) + rawDelta.setX(delta); +- else if (scrollingDevice.horizontalIncrement < -1) ++ else if (scrollingDevice.horizontalIncrement < -15) + rawDelta.setX(-delta); + } + } +-- +2.7.4 + diff --git a/dev-qt/qtgui/files/qtgui-5.9.4-opengl.patch b/dev-qt/qtgui/files/qtgui-5.9.4-opengl.patch new file mode 100644 index 000000000000..2a447414c215 --- /dev/null +++ b/dev-qt/qtgui/files/qtgui-5.9.4-opengl.patch @@ -0,0 +1,87 @@ +From b63aeba4a88088c7de61c1664a510c02d38ade84 Mon Sep 17 00:00:00 2001 +From: Antonio Larrosa <alarrosa@suse.com> +Date: Fri, 16 Feb 2018 13:18:42 +0100 +Subject: [PATCH] opengl: Bail if cached shader fails to load + +QOpenGLProgramBinaryCache::setProgramBinary() should check +GL_LINK_STATUS after glProgramBinary(), but doesn't. + +In practice, this means that SDDM is a white screen, and KDE is just +a gray task bar. + +So far, Qt tries to check this using its internal ::link() function. +But in case the cached binary fails to load, Qt currently attempts to +link the inexistent program, resulting in a zero-length, fixed +pipeline shader. + +Checking this already in ::setProgramBinary() makes the call to +::link() superfluous, so we remove that as well. + +Done-with: Max Staudt <mstaudt@suse.com> +Done-with: Michal Srb <msrb@suse.com> +Done-with: Fabian Vogt <fvogt@suse.de> +Task-number: QTBUG-66420 +Change-Id: Iabb51d0eb2c0c16bde696efff623e57d15f28d82 +Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> +Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> +(cherry picked from commit fa091640134b3ff99a9eb92df8286d15203122bf) +--- + src/gui/opengl/qopenglprogrambinarycache.cpp | 20 ++++++++++++++++++-- + src/gui/opengl/qopenglshaderprogram.cpp | 8 +------- + 2 files changed, 19 insertions(+), 9 deletions(-) + +diff --git a/src/gui/opengl/qopenglprogrambinarycache.cpp b/src/gui/opengl/qopenglprogrambinarycache.cpp +index 06373e1..d16173d 100644 +--- a/src/gui/opengl/qopenglprogrambinarycache.cpp ++++ b/src/gui/opengl/qopenglprogrambinarycache.cpp +@@ -161,10 +161,26 @@ bool QOpenGLProgramBinaryCache::setProgramBinary(uint programId, uint blobFormat + QOpenGLExtraFunctions *funcs = QOpenGLContext::currentContext()->extraFunctions(); + while (funcs->glGetError() != GL_NO_ERROR) { } + funcs->glProgramBinary(programId, blobFormat, p, blobSize); +- int err = funcs->glGetError(); ++ ++ GLenum err = funcs->glGetError(); ++ if (err != GL_NO_ERROR) { ++ qCDebug(DBG_SHADER_CACHE, "Program binary failed to load for program %u, size %d, " ++ "format 0x%x, err = 0x%x", ++ programId, blobSize, blobFormat, err); ++ return false; ++ } ++ GLint linkStatus = 0; ++ funcs->glGetProgramiv(programId, GL_LINK_STATUS, &linkStatus); ++ if (linkStatus != GL_TRUE) { ++ qCDebug(DBG_SHADER_CACHE, "Program binary failed to load for program %u, size %d, " ++ "format 0x%x, linkStatus = 0x%x, err = 0x%x", ++ programId, blobSize, blobFormat, linkStatus, err); ++ return false; ++ } ++ + qCDebug(DBG_SHADER_CACHE, "Program binary set for program %u, size %d, format 0x%x, err = 0x%x", + programId, blobSize, blobFormat, err); +- return err == 0; ++ return true; + } + + #ifdef Q_OS_UNIX +diff --git a/src/gui/opengl/qopenglshaderprogram.cpp b/src/gui/opengl/qopenglshaderprogram.cpp +index cc8af16..3b82bac 100644 +--- a/src/gui/opengl/qopenglshaderprogram.cpp ++++ b/src/gui/opengl/qopenglshaderprogram.cpp +@@ -3824,13 +3824,7 @@ bool QOpenGLShaderProgramPrivate::linkBinary() + bool needsCompile = true; + if (binCache.load(cacheKey, q->programId())) { + qCDebug(DBG_SHADER_CACHE, "Program binary received from cache"); +- linkBinaryRecursion = true; +- bool ok = q->link(); +- linkBinaryRecursion = false; +- if (ok) +- needsCompile = false; +- else +- qCDebug(DBG_SHADER_CACHE, "Link failed after glProgramBinary"); ++ needsCompile = false; + } + + bool needsSave = false; +-- +2.7.4 + diff --git a/dev-qt/qtgui/files/qtgui-5.9.4-qsimpledrag.patch b/dev-qt/qtgui/files/qtgui-5.9.4-qsimpledrag.patch new file mode 100644 index 000000000000..60d2ec424f47 --- /dev/null +++ b/dev-qt/qtgui/files/qtgui-5.9.4-qsimpledrag.patch @@ -0,0 +1,170 @@ +From 4a7771f206d4b29be549d3827c36a46679d90de6 Mon Sep 17 00:00:00 2001 +From: Eike Hein <hein@kde.org> +Date: Sun, 7 Jan 2018 13:02:01 +0900 +Subject: [PATCH] QSimpleDrag: Fix mouse release coords for delayed event + transmission + +On platforms such as XCB, the drag cursor pixmap is shown via a window +(a QShapedPixmapWindow) under the cursor. + +The mouse button release event at the end of the drag is received in +this QXcbWindow, but intercepted by an event filter that QSimpleDrag +installs on the QApplication. It then resends it unmodified(!) after +the drag has ended and the drag pixmap window destroyed, causing it to +be delivered to the new top-level window. + +The local coordinates in the unmodified QMouseEvent are local to the +drag pixmap window and don't match the window it is delayed-transmitted +to. + +This ends up having fatal, user-visible effects particularly in Qt +Quick: QQuickWindow synthesizes a hover event once per frame using +the last received mouse coordinates, here: the release posted by +QSimpleDrag. This is done to update the hover event state for items +under the cursor when the mouse hasn't moved (e.g. QQuickMouseArea:: +containsMouse). The bogus event coordinates in the release event then +usually end up causing an item near the top-left of the QQuickWindow +to assume it is hovered (because drag pixmap windows tend to be small), +even when the mouse cursor is actually far away from it at the end of +the drag. + +This shows up e.g. in the Plasma 5 desktop, where dragging an icon +on the desktop will cause the icon at the top-left of the screen (if +any) to switch to hovered state, as the release coordinates on the +drag pixmap window (showing a dragged icon) fall into the geometry +of the top-left icon. + +QSimpleDrag contains a topLevelAt() function to find the top-level +window under the global cursor coordinates that is not the drag +pixmap window. This is used by the drop event delivery code. + +This patch uses this function to find the relevant top-level window, +then asks it to map the global cusor coordinates to its local +coordinate system, then synthesizes a new QMouseEvent with local +coordinates computed in this fashion. As a result the window now +gets a release event with coordinates that make sense and are +correct. + +Task-number: QTBUG-66103 +Change-Id: I04ebe6ccd4a991fdd4b540ff0227973ea8896a9d +Reviewed-by: Eike Hein <hein@kde.org> +Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> +--- + src/gui/kernel/qsimpledrag.cpp | 32 +++++++++++++++++++++++++++----- + src/gui/kernel/qsimpledrag_p.h | 6 +++--- + 2 files changed, 30 insertions(+), 8 deletions(-) + +diff --git a/src/gui/kernel/qsimpledrag.cpp b/src/gui/kernel/qsimpledrag.cpp +index a1e25dc..87d3ba5 100644 +--- a/src/gui/kernel/qsimpledrag.cpp ++++ b/src/gui/kernel/qsimpledrag.cpp +@@ -58,6 +58,7 @@ + + #include <QtCore/QEventLoop> + #include <QtCore/QDebug> ++#include <QtCore/QLoggingCategory> + + #include <private/qguiapplication_p.h> + #include <private/qdnd_p.h> +@@ -69,6 +70,8 @@ QT_BEGIN_NAMESPACE + + #ifndef QT_NO_DRAGANDDROP + ++Q_LOGGING_CATEGORY(lcDnd, "qt.gui.dnd") ++ + static QWindow* topLevelAt(const QPoint &pos) + { + QWindowList list = QGuiApplication::topLevelWindows(); +@@ -94,10 +97,10 @@ static QWindow* topLevelAt(const QPoint &pos) + */ + + QBasicDrag::QBasicDrag() : +- m_restoreCursor(false), m_eventLoop(0), ++ m_current_window(nullptr), m_restoreCursor(false), m_eventLoop(nullptr), + m_executed_drop_action(Qt::IgnoreAction), m_can_drop(false), +- m_drag(0), m_drag_icon_window(0), m_useCompositing(true), +- m_screen(Q_NULLPTR) ++ m_drag(nullptr), m_drag_icon_window(nullptr), m_useCompositing(true), ++ m_screen(nullptr) + { + } + +@@ -161,6 +164,7 @@ bool QBasicDrag::eventFilter(QObject *o, QEvent *e) + return true; // Eat all mouse move events + } + case QEvent::MouseButtonRelease: ++ { + disableEventFilter(); + if (canDrop()) { + QPoint nativePosition = getNativeMousePos(e, m_drag_icon_window); +@@ -169,8 +173,25 @@ bool QBasicDrag::eventFilter(QObject *o, QEvent *e) + cancel(); + } + exitDndEventLoop(); +- QCoreApplication::postEvent(o, new QMouseEvent(*static_cast<QMouseEvent *>(e))); ++ ++ // If a QShapedPixmapWindow (drag feedback) is being dragged along, the ++ // mouse event's localPos() will be relative to that, which is useless. ++ // We want a position relative to the window where the drag ends, if possible (?). ++ // If there is no such window (belonging to this Qt application), ++ // make the event relative to the window where the drag started. (QTBUG-66103) ++ const QMouseEvent *release = static_cast<QMouseEvent *>(e); ++ const QWindow *releaseWindow = topLevelAt(release->globalPos()); ++ qCDebug(lcDnd) << "mouse released over" << releaseWindow << "after drag from" << m_current_window << "globalPos" << release->globalPos(); ++ if (!releaseWindow) ++ releaseWindow = m_current_window; ++ QPoint releaseWindowPos = (releaseWindow ? releaseWindow->mapFromGlobal(release->globalPos()) : release->globalPos()); ++ QMouseEvent *newRelease = new QMouseEvent(release->type(), ++ releaseWindowPos, releaseWindowPos, release->screenPos(), ++ release->button(), release->buttons(), ++ release->modifiers(), release->source()); ++ QCoreApplication::postEvent(o, newRelease); + return true; // defer mouse release events until drag event loop has returned ++ } + case QEvent::MouseButtonDblClick: + case QEvent::Wheel: + return true; +@@ -349,7 +370,7 @@ static inline QPoint fromNativeGlobalPixels(const QPoint &point) + into account. + */ + +-QSimpleDrag::QSimpleDrag() : m_current_window(0) ++QSimpleDrag::QSimpleDrag() + { + } + +@@ -373,6 +394,7 @@ void QSimpleDrag::startDrag() + updateCursor(Qt::IgnoreAction); + } + setExecutedDropAction(Qt::IgnoreAction); ++ qCDebug(lcDnd) << "drag began from" << m_current_window<< "cursor pos" << QCursor::pos() << "can drop?" << canDrop(); + } + + void QSimpleDrag::cancel() +diff --git a/src/gui/kernel/qsimpledrag_p.h b/src/gui/kernel/qsimpledrag_p.h +index 0b8a0bc..bbd7f7f 100644 +--- a/src/gui/kernel/qsimpledrag_p.h ++++ b/src/gui/kernel/qsimpledrag_p.h +@@ -105,6 +105,9 @@ protected: + + QDrag *drag() const { return m_drag; } + ++protected: ++ QWindow *m_current_window; ++ + private: + void enableEventFilter(); + void disableEventFilter(); +@@ -132,9 +135,6 @@ protected: + virtual void cancel() Q_DECL_OVERRIDE; + virtual void move(const QPoint &globalPos) Q_DECL_OVERRIDE; + virtual void drop(const QPoint &globalPos) Q_DECL_OVERRIDE; +- +-private: +- QWindow *m_current_window; + }; + + #endif // QT_NO_DRAGANDDROP +-- +2.7.4 + |