[SCM] qtdeclarative packaging branch, master, updated. debian/5.5.1-3-6-g9be46d6

Timo Jyrinki timo at moszumanska.debian.org
Wed Feb 17 10:43:18 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtdeclarative.git;a=commitdiff;h=787ed4d

The following commit has been merged in the master branch:
commit 787ed4d665b503d6b05e525f2a8e18c498e8711d
Author: Timo Jyrinki <timo.jyrinki at canonical.com>
Date:   Wed Dec 16 10:07:00 2015 +0000

    Cherry-pick a flickable and multi point touch area fixes.
    
    * debian/patches/Flickable-avoid-perturbing-the-timeline-further-whil.patch:
      - Avoid infinite velocity during release, after a drag. (LP: #1521917)
    * debian/patches/MultiPointTouchArea-Fixed-released-duplication-on-mo.patch:
      - Fix every key being pressed twice on desktop (LP: #1451554)
---
 debian/changelog                                   |  4 ++
 ...void-perturbing-the-timeline-further-whil.patch | 50 +++++++++++++++++
 ...ouchArea-Fixed-released-duplication-on-mo.patch | 65 ++++++++++++++++++++++
 debian/patches/series                              |  2 +
 4 files changed, 121 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index da82676..c5b3cef 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,10 @@ qtdeclarative-opensource-src (5.5.1-4) UNRELEASED; urgency=medium
 
   * Add qmlplugindump-Don-t-try-to-import-Qt.test.qtestroot.patch
     (LP: #1473976)
+  * debian/patches/Flickable-avoid-perturbing-the-timeline-further-whil.patch:
+    - Avoid infinite velocity during release, after a drag. (LP: #1521917)
+  * debian/patches/MultiPointTouchArea-Fixed-released-duplication-on-mo.patch:
+    - Fix every key being pressed twice on desktop (LP: #1451554)
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Wed, 17 Feb 2016 10:15:48 +0000
 
diff --git a/debian/patches/Flickable-avoid-perturbing-the-timeline-further-whil.patch b/debian/patches/Flickable-avoid-perturbing-the-timeline-further-whil.patch
new file mode 100644
index 0000000..3640dd4
--- /dev/null
+++ b/debian/patches/Flickable-avoid-perturbing-the-timeline-further-whil.patch
@@ -0,0 +1,50 @@
+From 8f339861d48a6d624516780442e191b55209a053 Mon Sep 17 00:00:00 2001
+From: Shawn Rutledge <shawn.rutledge at digia.com>
+Date: Wed, 2 Dec 2015 15:26:50 +0100
+Subject: [PATCH] Flickable: avoid perturbing the timeline further while in
+ overshoot
+
+The bug was that when using the mouse wheel, a single "scroll down"
+wheel event followed by a rapid succession of "scroll up" events
+would cause extreme overshoot.  Experimentally determined that when
+this happens, the calls to timeline.accel() in
+QQuickFlickablePrivate::flick() were occurring after the call to
+accel in QQuickFlickablePrivate::viewportAxisMoved().  But nearby,
+data.inOvershoot is set to true, so that can be used to avoid calling
+accel() additional times in flick().  So basically, this patch avoids
+doing any more acceleration in response to further wheel events after
+the momentum from previous events has already taken the content
+beyond bounds.
+
+Task-number: QTBUG-21328
+Change-Id: I3ab5510a288a080f6b526407b6a2293c44a2498a
+Reviewed-by: J-P Nurmi <jpnurmi at theqtcompany.com>
+Reviewed-by: Robin Burchell <robin.burchell at viroteck.net>
+---
+ src/quick/items/qquickflickable.cpp | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/src/quick/items/qquickflickable.cpp b/src/quick/items/qquickflickable.cpp
+index 9d6c51f..092d4af 100644
+--- a/src/quick/items/qquickflickable.cpp
++++ b/src/quick/items/qquickflickable.cpp
+@@ -344,10 +344,12 @@ bool QQuickFlickablePrivate::flick(AxisData &data, qreal minExtent, qreal maxExt
+         accel = v2 / (2.0f * qAbs(dist));
+ 
+         resetTimeline(data);
+-        if (boundsBehavior & QQuickFlickable::OvershootBounds)
+-            timeline.accel(data.move, v, accel);
+-        else
+-            timeline.accel(data.move, v, accel, maxDistance);
++        if (!data.inOvershoot) {
++            if (boundsBehavior & QQuickFlickable::OvershootBounds)
++                timeline.accel(data.move, v, accel);
++            else
++                timeline.accel(data.move, v, accel, maxDistance);
++        }
+         timeline.callback(QQuickTimeLineCallback(&data.move, fixupCallback, this));
+ 
+         if (&data == &hData)
+-- 
+2.6.4
+
diff --git a/debian/patches/MultiPointTouchArea-Fixed-released-duplication-on-mo.patch b/debian/patches/MultiPointTouchArea-Fixed-released-duplication-on-mo.patch
new file mode 100644
index 0000000..f13c7f8
--- /dev/null
+++ b/debian/patches/MultiPointTouchArea-Fixed-released-duplication-on-mo.patch
@@ -0,0 +1,65 @@
+From 1e47ced7464dff465ece78c99b6ab9706d05fcdd Mon Sep 17 00:00:00 2001
+From: Alexandr Akulich <akulichalexander at gmail.com>
+Date: Fri, 16 Oct 2015 16:27:46 +0600
+Subject: [PATCH] MultiPointTouchArea: Fixed released() duplication on mouse
+ release.
+
+MousePress and MouseRelease event handlers now better integrated into
+generic touch processing methods.
+
+We used to manually add a touch point for mouse press event and
+prevent updateTouchData() from pressed() emission, but mouseRelease
+handler used to cause the signal emission in updateTouchData() and then
+emit the signal on its own.
+
+The code reworked to always emit pressed() and released() signals from
+the single place in updateTouchData().
+
+[ChangeLog][QtQuick][MultiPointTouchArea] Fixed released() signal
+duplication on mouseReleaseEvent.
+
+Task-number: 44370
+Change-Id: I2d88931ba56d6edf778213c61e9467c2b6abf0e7
+---
+ src/quick/items/qquickmultipointtoucharea.cpp | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/src/quick/items/qquickmultipointtoucharea.cpp b/src/quick/items/qquickmultipointtoucharea.cpp
+index 13ace44..9e658cc 100644
+--- a/src/quick/items/qquickmultipointtoucharea.cpp
++++ b/src/quick/items/qquickmultipointtoucharea.cpp
+@@ -502,8 +502,9 @@ void QQuickMultiPointTouchArea::updateTouchData(QEvent *event)
+         else if (event->type() == QEvent::MouseButtonRelease)
+             _mouseQpaTouchPoint.setState(Qt::TouchPointReleased);
+         else { // QEvent::MouseButtonPress
++            addTouchPoint(me);
++            started = true;
+             _mouseQpaTouchPoint.setState(Qt::TouchPointPressed);
+-            _pressedTouchPoints.append(_mouseTouchPoint);
+         }
+         touchPoints << _mouseQpaTouchPoint;
+         isMouseEvent = true;
+@@ -729,9 +730,7 @@ void QQuickMultiPointTouchArea::mousePressEvent(QMouseEvent *event)
+         return;
+ 
+     if (_touchPoints.count() >= _minimumTouchPoints - 1 && _touchPoints.count() < _maximumTouchPoints) {
+-        addTouchPoint(event);
+         updateTouchData(event);
+-        emit pressed(_pressedTouchPoints);
+     }
+ }
+ 
+@@ -762,10 +761,7 @@ void QQuickMultiPointTouchArea::mouseReleaseEvent(QMouseEvent *event)
+ 
+     if (_mouseTouchPoint) {
+         updateTouchData(event);
+-        _mouseTouchPoint->setPressed(false);
+         _mouseTouchPoint->setInUse(false);
+-        _releasedTouchPoints.append(_mouseTouchPoint);
+-        emit released(_releasedTouchPoints);
+         _releasedTouchPoints.removeAll(_mouseTouchPoint);
+         _mouseTouchPoint = Q_NULLPTR;
+     }
+-- 
+2.6.2
+
diff --git a/debian/patches/series b/debian/patches/series
index 71625f6..eebe606 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,5 +1,7 @@
 # Backported patches
 qmlplugindump-Don-t-try-to-import-Qt.test.qtestroot.patch
+Flickable-avoid-perturbing-the-timeline-further-whil.patch
+MultiPointTouchArea-Fixed-released-duplication-on-mo.patch
 
 # Debian patches
 check_system_double-conversion.patch

-- 
qtdeclarative packaging



More information about the pkg-kde-commits mailing list