Hello community, here is the log from the commit of package kdeclarative for openSUSE:Factory checked in at 2017-07-05 23:54:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdeclarative (Old) and /work/SRC/openSUSE:Factory/.kdeclarative.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdeclarative" Wed Jul 5 23:54:47 2017 rev:43 rq:504341 version:5.35.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kdeclarative/kdeclarative.changes 2017-06-01 16:18:54.096155257 +0200 +++ /work/SRC/openSUSE:Factory/.kdeclarative.new/kdeclarative.changes 2017-07-05 23:54:49.350793857 +0200 @@ -1,0 +2,21 @@ +Sat Jun 17 10:20:31 UTC 2017 - fab...@ritter-vogt.de + +- Add upstream patch to account for behavioural change in Qt 5.8+ + regarding ungrab events: + * 0001-Don-t-rely-on-QQuickWindow-delivering-QEvent-Ungrab-.patch + +------------------------------------------------------------------- +Sun Jun 11 09:27:42 CEST 2017 - lbeltr...@kde.org + +- Update to 5.35.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/kde-frameworks-5.35.0.php +- Changes since 5.34.0: + * Consistently emit MouseEventListener::pressed signal + * Use explicit flag constructor instead of nullptr + * Don't leak MimeData object (kde#380270) + * API Dox: note forwarding CamelCase files as class headers + * API Dox: add some non-empty class/namespace docs where missing + +------------------------------------------------------------------- Old: ---- kdeclarative-5.34.0.tar.xz New: ---- 0001-Don-t-rely-on-QQuickWindow-delivering-QEvent-Ungrab-.patch kdeclarative-5.35.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdeclarative.spec ++++++ --- /var/tmp/diff_new_pack.1pVG9N/_old 2017-07-05 23:54:50.086690197 +0200 +++ /var/tmp/diff_new_pack.1pVG9N/_new 2017-07-05 23:54:50.090689633 +0200 @@ -18,11 +18,19 @@ %bcond_without lang %define lname libKF5Declarative5 -%define _tar_path 5.34 +%define _tar_path 5.35 Name: kdeclarative -Version: 5.34.0 +Version: 5.35.0 Release: 0 %define kf5_version %{version} +Summary: Integration of QML and KDE workspaces +License: LGPL-2.1+ +Group: System/GUI/KDE +Url: http://www.kde.org +Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz +Source1: baselibs.conf +# PATCH-FIX-UPSTREAM +Patch100: 0001-Don-t-rely-on-QQuickWindow-delivering-QEvent-Ungrab-.patch BuildRequires: cmake >= 3.0 BuildRequires: extra-cmake-modules >= %{_tar_path} BuildRequires: fdupes @@ -43,12 +51,6 @@ BuildRequires: cmake(Qt5Qml) >= 5.6.0 BuildRequires: cmake(Qt5Quick) >= 5.6.0 BuildRequires: cmake(Qt5Test) >= 5.6.0 -Summary: Integration of QML and KDE workspaces -License: LGPL-2.1+ -Group: System/GUI/KDE -Url: http://www.kde.org -Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz -Source1: baselibs.conf BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -115,6 +117,7 @@ %lang_package -n %lname %prep %setup -q +%patch100 -p1 %build %cmake_kf5 -d build ++++++ 0001-Don-t-rely-on-QQuickWindow-delivering-QEvent-Ungrab-.patch ++++++ >From 3a832a27fc655ea39c8a2943ad9af41213fea8df Mon Sep 17 00:00:00 2001 From: Eike Hein <h...@kde.org> Date: Sat, 17 Jun 2017 12:19:26 +0200 Subject: [PATCH] Don't rely on QQuickWindow delivering QEvent::Ungrab as mouseUngrabEvent (as it no longer does in Qt 5.8+) Summary: QQuickWindow::sendEvent in Qt 5.7 and older had the following code to deliver QEvent::UngrabMouse by calling QQuickItem::mouseUngrabEvent: case QEvent::UngrabMouse: { QSet<QQuickItem *> hasFiltered; if (!d->sendFilteredMouseEvent(item->parentItem(), item, e, &hasFiltered)) { e->accept(); item->mouseUngrabEvent(); } } This is gone from Qt 5.8+. While QEvent::Ungrab is still delivered to items, QQuickItem::mouseUngrabEvent is only called under constrained circumstances elsewhere, e.g. when ending an actual mouse grab held by an item and tracked by Qt. MouseEventListener relied on mouseUngrabEvent being called to implement something akin to MouseArea::canceled: Signaling a user it should clean up state after a press event, instead of, say, assuming the button is still held and waiting around for a release event. While QEvent::Ungrab was already being intercepted as well, it was only done for event de- duplication, not used for the above. This changes the code so handleUngrab checks first whether we're actually in press state (to make it safe to call repeatedly) and then call it from both the generic event handler and mouseUngrabEvent. This makes it work again with newer Qts. We rely on this particularly in the desktop containment, where we use EventGenerator from this same lib to deliver QEvent::Ungrab to applets when the containment goes into applet move mode on press-and-hold. Without MouseEventListener emiting canceled in response, e.g. moving a Folder View applet will e.g. put it into rectangle selection mode unwanted. BUG:380354 Reviewers: #plasma, davidedmundson Reviewed By: #plasma, davidedmundson Subscribers: plasma-devel, #frameworks Tags: #plasma, #frameworks Differential Revision: https://phabricator.kde.org/D6246 --- src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.cpp b/src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.cpp index af4d76f..0b8d981 100644 --- a/src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.cpp +++ b/src/qmlcontrols/kquickcontrolsaddons/mouseeventlistener.cpp @@ -325,6 +325,7 @@ bool MouseEventListener::childMouseEventFilter(QQuickItem *item, QEvent *event) } case QEvent::UngrabMouse: { m_lastEvent = event; + handleUngrab(); break; } case QEvent::Wheel: { @@ -368,10 +369,12 @@ void MouseEventListener::touchUngrabEvent() void MouseEventListener::handleUngrab() { - m_pressAndHoldTimer->stop(); + if (m_pressed) { + m_pressAndHoldTimer->stop(); - m_pressed = false; - emit pressedChanged(); + m_pressed = false; + emit pressedChanged(); - emit canceled(); + emit canceled(); + } } -- 2.13.0 ++++++ kdeclarative-5.34.0.tar.xz -> kdeclarative-5.35.0.tar.xz ++++++ ++++ 902906 lines of diff (skipped)