Bug#871482: krita: mouse wheel canvas zoom control lost after using another widget
Package: krita
Version: 1:3.1.1+dfsg-1
Severity: normal
Dear Maintainer,
*** Reporter, please consider answering these questions, where appropriate ***
* What led up to the situation?
normal usage of the stable package:
- Start krita
- use mouse wheel over canvas, works as expected
- use mouse wheel over brush size or scroll bar or similar widget of the
workspace
- use mouse wheel over canvas again does not zoom in or out anymore
* What exactly did you do (or not do) that was effective (or
ineffective)?
- clicking onto canvas with left mouse button does not reactivate normal
behaviour
- changed to a new user (no change of bug effect)
- patching like in https://cgit.kde.org/krita.git/commit/?
id=9bec9bb20d9b593ed4a3194dce11bc5191c9bea5
helps to solve the problem
further investigations:
seems to be a problem of new Qt 5.7 :
http://code.qt.io/cgit/qt/qtbase.git/commit/?
id=f253f4c3310655933266f62e90f46fd12b5c49e4
which was not patched like in :
https://cgit.kde.org/krita.git/commit/?
id=9bec9bb20d9b593ed4a3194dce11bc5191c9bea5
Just fixing it with these two changes solved the problem...
* What was the outcome of this action?
Applying the attached patch helps to solve the problem
-- System Information:
Debian Release: 9.1
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.9.0-3-amd64 (SMP w/8 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=de
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages krita depends on:
ii kio 5.28.0-2
ii krita-data 1:3.1.1+dfsg-1
ii libboost-system1.62.0 1.62.0+dfsg-4
ii libc6 2.24-11+deb9u1
ii libcurl3 7.52.1-5
ii libexiv2-14 0.25-3.1
ii libfftw3-double3 3.3.5-3
ii libgcc1 1:6.3.0-18
ii libgomp1 6.3.0-18
ii libgsl2 2.3+dfsg-1
ii libilmbase12 2.2.0-12
ii libjpeg62-turbo 1:1.5.1-2
ii libkf5archive5 5.28.0-2
ii libkf5completion5 5.28.0-1
ii libkf5configcore5 5.28.0-2
ii libkf5configgui5 5.28.0-2
ii libkf5coreaddons5 5.28.0-2
ii libkf5crash5 5.28.0-1
ii libkf5guiaddons5 5.28.0-1
ii libkf5i18n5 5.28.0-2
ii libkf5itemviews5 5.28.0-1
ii libkf5kiocore5 5.28.0-2
ii libkf5widgetsaddons5 5.28.0-3
ii libkf5windowsystem5 5.28.0-2
ii liblcms2-2 2.8-4
ii libopencolorio1v5 1.0.9~dfsg0-6+b2
ii libopenexr22 2.2.0-11+b1
ii libpng16-16 1.6.28-1
ii libpoppler-qt5-1 0.48.0-2
ii libqt5concurrent5 5.7.1+dfsg-3+b1
ii libqt5core5a 5.7.1+dfsg-3+b1
ii libqt5dbus5 5.7.1+dfsg-3+b1
ii libqt5gui5 5.7.1+dfsg-3+b1
ii libqt5network5 5.7.1+dfsg-3+b1
ii libqt5printsupport5 5.7.1+dfsg-3+b1
ii libqt5svg5 5.7.1~20161021-2+b2
ii libqt5widgets5 5.7.1+dfsg-3+b1
ii libqt5x11extras5 5.7.1~20161021-2
ii libqt5xml5 5.7.1+dfsg-3+b1
ii libraw15 0.17.2-6+b1
ii libstdc++6 6.3.0-18
ii libtiff5 4.0.8-2+deb9u1
ii libx11-6 2:1.6.4-3
ii libxcb1 1.12-1
ii libxi6 2:1.7.9-1
ii zlib1g 1:1.2.8.dfsg-5
krita recommends no packages.
Versions of packages krita suggests:
ii colord 1.3.3-2
ii ffmpeg 7:3.2.5-1
ii krita-l10n 1:3.1.1+dfsg-1.1
-- no debconf information
Index: krita-3.1.1+dfsg/libs/ui/input/wintab/qxcbconnection.cpp
===================================================================
--- krita-3.1.1+dfsg.orig/libs/ui/input/wintab/qxcbconnection.cpp
+++ krita-3.1.1+dfsg/libs/ui/input/wintab/qxcbconnection.cpp
@@ -545,7 +545,7 @@ public:
class WheelEvent : public InputEvent {
public:
WheelEvent(QWindow *w, ulong time, const QPointF & local, const QPointF & global, QPoint pixelD, QPoint angleD, int qt4D, Qt::Orientation qt4O,
- Qt::KeyboardModifiers mods, Qt::ScrollPhase phase = Qt::ScrollUpdate, Qt::MouseEventSource src = Qt::MouseEventNotSynthesized)
+ Qt::KeyboardModifiers mods, Qt::ScrollPhase phase = Qt::NoScrollPhase, Qt::MouseEventSource src = Qt::MouseEventNotSynthesized)
: InputEvent(w, time, Wheel, mods), pixelDelta(pixelD), angleDelta(angleD), qt4Delta(qt4D), qt4Orientation(qt4O), localPos(local), globalPos(global), phase(phase), source(src) { }
QPoint pixelDelta;
QPoint angleDelta;
Index: krita-3.1.1+dfsg/libs/ui/input/wintab/qxcbconnection_xi2.h
===================================================================
--- krita-3.1.1+dfsg.orig/libs/ui/input/wintab/qxcbconnection_xi2.h
+++ krita-3.1.1+dfsg/libs/ui/input/wintab/qxcbconnection_xi2.h
@@ -109,7 +109,7 @@ public:
ENTER_FUNCTION();
}
- static void handleWheelEvent(QWindow *w, ulong timestamp, const QPointF & local, const QPointF & global, QPoint pixelDelta, QPoint angleDelta, Qt::KeyboardModifiers mods = Qt::NoModifier, Qt::ScrollPhase phase = Qt::ScrollUpdate, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
+ static void handleWheelEvent(QWindow *w, ulong timestamp, const QPointF & local, const QPointF & global, QPoint pixelDelta, QPoint angleDelta, Qt::KeyboardModifiers mods = Qt::NoModifier, Qt::ScrollPhase phase = Qt::NoScrollPhase, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
static void handleTabletEnterProximityEvent(int device, int pointerType, qint64 uid);
static void handleTabletLeaveProximityEvent(int device, int pointerType, qint64 uid);
Reply to: