summaryrefslogtreecommitdiff
path: root/dev-qt/qtwidgets
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-08-02 19:14:55 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-08-02 19:14:55 +0100
commitb24bd25253fe093f722ab576d29fdc41d04cb1ee (patch)
tree0fcf2afd9f852c4d4c291cf8afaa2c244d598105 /dev-qt/qtwidgets
parent121ed4eec41fbf03e1998d09eede1bf449da63b9 (diff)
gentoo resync : 02.08.2019
Diffstat (limited to 'dev-qt/qtwidgets')
-rw-r--r--dev-qt/qtwidgets/Manifest4
-rw-r--r--dev-qt/qtwidgets/files/qtwidgets-5.12.4-fix-notification-of-QDockWidget.patch37
-rw-r--r--dev-qt/qtwidgets/files/qtwidgets-5.12.4-synth-enterleaveEvent-for-accepted-QTabletEvent.patch49
-rw-r--r--dev-qt/qtwidgets/qtwidgets-5.12.4-r2.ebuild (renamed from dev-qt/qtwidgets/qtwidgets-5.12.4-r1.ebuild)3
4 files changed, 92 insertions, 1 deletions
diff --git a/dev-qt/qtwidgets/Manifest b/dev-qt/qtwidgets/Manifest
index 11be07624284..94200430dedc 100644
--- a/dev-qt/qtwidgets/Manifest
+++ b/dev-qt/qtwidgets/Manifest
@@ -1,6 +1,8 @@
+AUX qtwidgets-5.12.4-fix-notification-of-QDockWidget.patch 1476 BLAKE2B 046a588ad0345ee8ebc76abff6a0042aaa3d45ea89ea34c4e16587cf206cb7c869cc875e9cf9a8c4f124f8bb55fbbf19bc411f1279392dca8fcf57a49ecc5862 SHA512 da9249530c6718052cdbdff277319e99274dc6a545a963efe81d45900078e081908cf2e83ea6bc5ed273586b464f17a0f8bf7b41b58be8f3392615b432ae3302
AUX qtwidgets-5.12.4-revert-reset-winId.patch 1657 BLAKE2B 72a1cb720871ab907e22e0f26ddbc60a995002f99433a99da2e6e44ca5acae9611e155d301eed83ddbb84894e4238c08e050823e422ffcd646e3ff4bdf273879 SHA512 abfa16a13685f9689b176daaf600bfe31d03de6d61f8543430857e6823405d593ed4021e4290d627ad5c27ff7e17afb2801411deb13e6c1df435fd32a2eba370
+AUX qtwidgets-5.12.4-synth-enterleaveEvent-for-accepted-QTabletEvent.patch 2015 BLAKE2B 6aefa4fd585a7b4bdde335d48a90270c611c1762703ccac330641d761004dbed0df01cd683778c7b02175f0ac00de67709cff8474af958e486ca40f92ecdb15b SHA512 18c2e6c0b55f53f08d3ab3d1a65a83d264a203a8f9948a41a763e1306e462d70f0bac2156f4503f61c31ee38369dfec81e25685d2289db82bee78fda010a351e
DIST qtbase-everywhere-src-5.12.3.tar.xz 48382148 BLAKE2B 779c43a75403e0f21357a90228bbcc3f216495613f4f17a2f442c7aa93f277a79cc7addf5ae44e22964069580f4932cfd14ba4773aa0ab30405d5587577a545c SHA512 1dab927573eb22b1ae772de3a418f7d3999ea78d6e667a7f2494390dd1f0981ea93f4f892cb6e124ac18812c780ee71da3021b485c61eaf1ef2234a5c12b7fe2
DIST qtbase-everywhere-src-5.12.4.tar.xz 48431020 BLAKE2B 7eeb3f6698984343ec14d03b8ad66ab23d81cd7a25c590316f7300c868ab869a9c96b125d56bba149ee116dff44bf47c751cce06f2cdd2d3121e5448708c5f6b SHA512 28b029a0d3621477f625d474b8bc38ddcc7173df6adb274b438e290b6c50bd0891e5b62c04b566a281781acee3a353a6a3b0bc88228e996994f92900448d7946
EBUILD qtwidgets-5.12.3.ebuild 1042 BLAKE2B 2d926509df7f1d79e5fc9ca45ab0f0eb7d3a019b975771c3e2c95b13801f82ae4c43eaf528080b724d87abaf16d637590c4529fcd5a9fd58976f3e79668e13b3 SHA512 2883a409b5012eb8ca7a51c49be0523332753de7c5d8d13151dd21977ae509802d09aa28685115631437b5771c20d87a6067e92901d65924f0cc0915791b2e2a
-EBUILD qtwidgets-5.12.4-r1.ebuild 1120 BLAKE2B f0ddb20b7c856634f52377491575516a315044b175b4d3dd28168eb86aa03832c83918cfd1efac0b419eca70a9645961106318f61f098823b0c5919ac8c036d4 SHA512 4045be970b9a09a6ee0ad3e9823b5994d289101a496967214e7be2042e2bb4ce6842d92c48653e52dffdec4c88b59cd6f7435872d1488f4fce23951712b4c311
+EBUILD qtwidgets-5.12.4-r2.ebuild 1325 BLAKE2B 12764ac5c577a6740308a2d574d8de00e746a0768e70d19b4263f65b689450864cfacf961a4b8f3a4e9e3cbe49b9188a197b399b12eded2e642464618d834603 SHA512 9ff7feeb1a245a9162da6a6242baf7074fc4535d673d4c76ea9fccbb195be06fc3404fb936960aee5bebef651b5373b56f5265a0caba2bb3589ffc0b4a1527d4
MISC metadata.xml 569 BLAKE2B cd6274981285a9e65662016fa8042af5ee8a329f6b0f09f77cd8e34e08e00a817048f412cdaa214f32aa6ec921f607edf7d27af9c6cf04c323c5126306c81fc5 SHA512 a8f035a140ff40e92944369ea2d744c049a56becd4e10e72fe98065c203b458ea9ebae40ef23e4bb86d0487d0b68b52e6c2f9f8a99d1ffc4a12d1d372d061192
diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.12.4-fix-notification-of-QDockWidget.patch b/dev-qt/qtwidgets/files/qtwidgets-5.12.4-fix-notification-of-QDockWidget.patch
new file mode 100644
index 000000000000..5f72fef9d34c
--- /dev/null
+++ b/dev-qt/qtwidgets/files/qtwidgets-5.12.4-fix-notification-of-QDockWidget.patch
@@ -0,0 +1,37 @@
+Description: fix notification of QDockWidget when it gets undocked
+ Before the patch the notification was emitted only when the docker
+ was attached to the panel or changed a position on it.
+ .
+ It looks like the old behavior was documented in a unittest,
+ so this patch might actually be a "behavior change".
+ .
+ Note: https://mail.kde.org/pipermail/distributions/2019-April/000317.html
+Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=06b8644953fc5267
+Last-Update: 2019-06-14
+
+--- a/src/widgets/widgets/qdockwidget.cpp
++++ b/src/widgets/widgets/qdockwidget.cpp
+@@ -1171,6 +1171,8 @@ void QDockWidgetPrivate::setWindowState(
+ QMainWindowLayout *mwlayout = qt_mainwindow_layout_from_dock(q);
+ if (mwlayout)
+ emit q->dockLocationChanged(mwlayout->dockWidgetArea(q));
++ } else {
++ emit q->dockLocationChanged(Qt::NoDockWidgetArea);
+ }
+ }
+
+--- a/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
++++ b/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
+@@ -669,7 +669,11 @@ void tst_QDockWidget::dockLocationChange
+ spy.clear();
+
+ dw.setFloating(true);
+- QTest::qWait(100);
++ QTRY_COMPARE(spy.count(), 1);
++ QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),
++ Qt::NoDockWidgetArea);
++ spy.clear();
++
+ dw.setFloating(false);
+ QTRY_COMPARE(spy.count(), 1);
+ QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),
diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.12.4-synth-enterleaveEvent-for-accepted-QTabletEvent.patch b/dev-qt/qtwidgets/files/qtwidgets-5.12.4-synth-enterleaveEvent-for-accepted-QTabletEvent.patch
new file mode 100644
index 000000000000..ab225009ab43
--- /dev/null
+++ b/dev-qt/qtwidgets/files/qtwidgets-5.12.4-synth-enterleaveEvent-for-accepted-QTabletEvent.patch
@@ -0,0 +1,49 @@
+From de811eca72d17b7ef734afc1d44af00cc5952f22 Mon Sep 17 00:00:00 2001
+From: Dmitry Kazakov <dimula73@gmail.com>
+Date: Mon, 11 Mar 2019 13:18:06 +0300
+Subject: [PATCH] Synthesize Enter/LeaveEvent for accepted QTabletEvent
+
+When the tablet event is accepted, then Qt doesn't synthesize a mouse
+event, it means that QApplicationPrivate::sendMouseEvent() will not be
+called, and, therefore, enter/leave events will not be dispatched.
+
+The patch looks a bit hackish. Ideally, the synthesize should happen
+in QGuiApplicationPrivate::processTabletEvent(), which takes the decision
+about synthesizing mouse events. But there is not enough information
+on this level: neither qt_last_mouse_receiver nor the receiver widget
+are known at this stage.
+
+On Windows and other platforms where there is a parallel stream of
+mouse events synthesized by the platform, we shouldn't generate these
+events manually.
+
+Change-Id: Ifbad6284483ee282ad129db54606f5d0d9ddd633
+---
+ src/widgets/kernel/qwidgetwindow.cpp | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
+index fbc71cd0ea1..729a7f701ae 100644
+--- a/src/widgets/kernel/qwidgetwindow.cpp
++++ b/src/widgets/kernel/qwidgetwindow.cpp
+@@ -1051,6 +1051,18 @@ void QWidgetWindow::handleTabletEvent(QTabletEvent *event)
+ event->setAccepted(ev.isAccepted());
+ }
+
++ /**
++ * Synthesize Enter/Leave events if it is requested by the system and user
++ */
++ if (widget != qt_last_mouse_receiver &&
++ event->isAccepted() &&
++ !QWindowSystemInterfacePrivate::TabletEvent::platformSynthesizesMouse &&
++ qApp->testAttribute(Qt::AA_SynthesizeMouseForUnhandledTabletEvents)) {
++
++ QApplicationPrivate::dispatchEnterLeave(widget, qt_last_mouse_receiver, event->globalPos());
++ qt_last_mouse_receiver = widget;
++ }
++
+ if (event->type() == QEvent::TabletRelease && event->buttons() == Qt::NoButton)
+ qt_tablet_target = 0;
+ }
+--
+2.16.3
diff --git a/dev-qt/qtwidgets/qtwidgets-5.12.4-r1.ebuild b/dev-qt/qtwidgets/qtwidgets-5.12.4-r2.ebuild
index 9839e4d9c9df..9d414296830e 100644
--- a/dev-qt/qtwidgets/qtwidgets-5.12.4-r1.ebuild
+++ b/dev-qt/qtwidgets/qtwidgets-5.12.4-r2.ebuild
@@ -44,6 +44,9 @@ QT5_GENTOO_PRIVATE_CONFIG=(
PATCHES+=(
"${FILESDIR}/${P}-revert-reset-winId.patch" # bug 689704
+ "${FILESDIR}/${P}-fix-notification-of-QDockWidget.patch"
+ # Still pending: https://codereview.qt-project.org/c/qt/qtbase/+/255384
+ "${FILESDIR}/${P}-synth-enterleaveEvent-for-accepted-QTabletEvent.patch"
)
src_configure() {