Merge lp:~apachelogger/kubuntu-packaging/qtbase-opensource-src-netrunner15 into lp:~kubuntu-packagers/kubuntu-packaging/qtbase-opensource-src

Proposed by Harald Sitter
Status: Merged
Approved by: Timo Jyrinki
Approved revision: 228
Merged at revision: 229
Proposed branch: lp:~apachelogger/kubuntu-packaging/qtbase-opensource-src-netrunner15
Merge into: lp:~kubuntu-packagers/kubuntu-packaging/qtbase-opensource-src
Diff against target: 216 lines (+176/-0) (has conflicts)
5 files modified
debian/changelog (+18/-0)
debian/patches/series (+5/-0)
debian/patches/upstream-gerrit_Handle-SelectionWindowDestroy-in-QXcbClipboard.patch (+36/-0)
debian/patches/upstream_Handle-SelectionClientClose-in-QXcbClipboard.patch (+39/-0)
debian/patches/upstream_xcb-Update-mouse-buttons-from-MotionNotify-events.patch (+78/-0)
Text conflict in debian/changelog
Text conflict in debian/patches/series
To merge this branch: bzr merge lp:~apachelogger/kubuntu-packaging/qtbase-opensource-src-netrunner15
Reviewer Review Type Date Requested Status
Kubuntu Packagers Pending
Review via email: mp+250586@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian/changelog'
--- debian/changelog 2015-02-22 18:44:34 +0000
+++ debian/changelog 2015-02-23 08:51:24 +0000
@@ -1,3 +1,4 @@
1<<<<<<< TREE
1qtbase-opensource-src (5.4.0+dfsg-4ubuntu3) UNRELEASED; urgency=medium2qtbase-opensource-src (5.4.0+dfsg-4ubuntu3) UNRELEASED; urgency=medium
23
3 * Add debian/patches/make-sure-there-s-a-scene.patch cherry picked from4 * Add debian/patches/make-sure-there-s-a-scene.patch cherry picked from
@@ -5,6 +6,23 @@
56
6 -- Scott Kitterman <scott@kitterman.com> Sun, 22 Feb 2015 02:27:22 -05007 -- Scott Kitterman <scott@kitterman.com> Sun, 22 Feb 2015 02:27:22 -0500
78
9=======
10qtbase-opensource-src (5.4.0+dfsg-4ubuntu3) UNRELEASED; urgency=medium
11
12 * Add upstream patches from 5.4 branch:
13 + upstream_xcb-Update-mouse-buttons-from-MotionNotify-events.patch
14 To prevent mouse clicks from getting lost with the XCB plugin.
15 + upstream_Handle-SelectionClientClose-in-QXcbClipboard.patch
16 To handle clipboard events correctly with the XCB plugin.
17 * Add upstream patches from gerrit:
18 + upstream-gerrit_Handle-SelectionWindowDestroy-in-QXcbClipboard.patch
19 To handlemore events with the XCB plugin and Qt4 applications which
20 would terminate before sending the correct events thus loosing
21 clipboard content.
22
23 -- Harald Sitter <sitter@kde.org> Mon, 23 Feb 2015 09:36:47 +0100
24
25>>>>>>> MERGE-SOURCE
8qtbase-opensource-src (5.4.0+dfsg-4ubuntu2) vivid; urgency=medium26qtbase-opensource-src (5.4.0+dfsg-4ubuntu2) vivid; urgency=medium
927
10 [ Timo Jyrinki ]28 [ Timo Jyrinki ]
1129
=== modified file 'debian/patches/series'
--- debian/patches/series 2015-02-22 18:44:34 +0000
+++ debian/patches/series 2015-02-23 08:51:24 +0000
@@ -24,6 +24,11 @@
24QtBearer-networkmanager-make-sure-to-set-flag-Active.patch24QtBearer-networkmanager-make-sure-to-set-flag-Active.patch
25Qt-should-not-print-warning-unless-we-have-an-API-mi.patch25Qt-should-not-print-warning-unless-we-have-an-API-mi.patch
26Refactor-networkmanager-QtBearer-backend-to-use-QDBu.patch26Refactor-networkmanager-QtBearer-backend-to-use-QDBu.patch
27<<<<<<< TREE
2728
28# Cherrypicked - will be in 5.4.229# Cherrypicked - will be in 5.4.2
29make-sure-there-s-a-scene.patch30make-sure-there-s-a-scene.patch
31=======
32upstream_xcb-Update-mouse-buttons-from-MotionNotify-events.patch
33upstream_Handle-SelectionClientClose-in-QXcbClipboard.patch
34upstream-gerrit_Handle-SelectionWindowDestroy-in-QXcbClipboard.patch>>>>>>> MERGE-SOURCE
3035
=== added file 'debian/patches/upstream-gerrit_Handle-SelectionWindowDestroy-in-QXcbClipboard.patch'
--- debian/patches/upstream-gerrit_Handle-SelectionWindowDestroy-in-QXcbClipboard.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/upstream-gerrit_Handle-SelectionWindowDestroy-in-QXcbClipboard.patch 2015-02-23 08:51:24 +0000
@@ -0,0 +1,36 @@
1From a95b2e88603ecd18d54c384869ff1281e569f556 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= <mgraesslin@kde.org>
3Date: Fri, 6 Feb 2015 07:34:43 +0100
4Subject: [PATCH] Handle SelectionWindowDestroy in QXcbClipboard
5
6This change is related to 6a7ee92b3958e3a3ebc16be15f8bd34217ec7bd2
7which added handling for SelectionClientClose. Further testing showed
8that with e.g. Qt 4 applications the SelectionClientClose is not
9emitted, but the selection window seems to be destroyed before the
10client is destroyed.
11
12Fur a destroyed selection window the same applies: the clipboard
13content is no longer valid and we should emit the changed signal.
14
15Change-Id: Id3778a28b9f5601bf2c6e0106981316e0efa6e7c
16---
17 src/plugins/platforms/xcb/qxcbclipboard.cpp | 3 ++-
18 1 file changed, 2 insertions(+), 1 deletion(-)
19
20diff --git a/src/plugins/platforms/xcb/qxcbclipboard.cpp b/src/plugins/platforms/xcb/qxcbclipboard.cpp
21index f56a29d..4b6caa9 100644
22--- a/src/plugins/platforms/xcb/qxcbclipboard.cpp
23+++ b/src/plugins/platforms/xcb/qxcbclipboard.cpp
24@@ -742,7 +742,8 @@ void QXcbClipboard::handleXFixesSelectionRequest(xcb_xfixes_selection_notify_eve
25 m_xClipboard[mode]->reset();
26 }
27 emitChanged(mode);
28- } else if (event->subtype == XCB_XFIXES_SELECTION_EVENT_SELECTION_CLIENT_CLOSE)
29+ } else if (event->subtype == XCB_XFIXES_SELECTION_EVENT_SELECTION_CLIENT_CLOSE ||
30+ event->subtype == XCB_XFIXES_SELECTION_EVENT_SELECTION_WINDOW_DESTROY)
31 emitChanged(mode);
32 }
33
34--
352.1.4
36
037
=== added file 'debian/patches/upstream_Handle-SelectionClientClose-in-QXcbClipboard.patch'
--- debian/patches/upstream_Handle-SelectionClientClose-in-QXcbClipboard.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/upstream_Handle-SelectionClientClose-in-QXcbClipboard.patch 2015-02-23 08:51:24 +0000
@@ -0,0 +1,39 @@
1From 6a7ee92b3958e3a3ebc16be15f8bd34217ec7bd2 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= <mgraesslin@kde.org>
3Date: Wed, 10 Dec 2014 07:27:23 +0100
4Subject: [PATCH] Handle SelectionClientClose in QXcbClipboard
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9QXcbClipboard listens for subtype SelectionClientClose of Xfixes
10SelectionNotify event, but doesn't handle it. When the client holding
11the clipboard selection closes the Clipboard becomes empty and thus the
12change should be emitted.
13
14This fixes downstream KDE Bug #329174.
15
16Change-Id: I19fb8cfd7bd3b249c0bc6ca2a724a9aeeb05ac7e
17Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
18Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
19---
20 src/plugins/platforms/xcb/qxcbclipboard.cpp | 3 ++-
21 1 file changed, 2 insertions(+), 1 deletion(-)
22
23diff --git a/src/plugins/platforms/xcb/qxcbclipboard.cpp b/src/plugins/platforms/xcb/qxcbclipboard.cpp
24index 8b3893e..f56a29d 100644
25--- a/src/plugins/platforms/xcb/qxcbclipboard.cpp
26+++ b/src/plugins/platforms/xcb/qxcbclipboard.cpp
27@@ -742,7 +742,8 @@ void QXcbClipboard::handleXFixesSelectionRequest(xcb_xfixes_selection_notify_eve
28 m_xClipboard[mode]->reset();
29 }
30 emitChanged(mode);
31- }
32+ } else if (event->subtype == XCB_XFIXES_SELECTION_EVENT_SELECTION_CLIENT_CLOSE)
33+ emitChanged(mode);
34 }
35
36
37--
382.1.4
39
040
=== added file 'debian/patches/upstream_xcb-Update-mouse-buttons-from-MotionNotify-events.patch'
--- debian/patches/upstream_xcb-Update-mouse-buttons-from-MotionNotify-events.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/upstream_xcb-Update-mouse-buttons-from-MotionNotify-events.patch 2015-02-23 08:51:24 +0000
@@ -0,0 +1,78 @@
1From 76de1ac0a4cd384f608a14b5d77a8cf3ef1ec868 Mon Sep 17 00:00:00 2001
2From: Alexander Volkov <a.volkov@rusbitech.ru>
3Date: Mon, 9 Feb 2015 17:19:14 +0300
4Subject: [PATCH] xcb: Update mouse buttons from MotionNotify events
5
6We don't receive ButtonRelease event after closing a popup
7by clicking outside of the client area. Thus the internal
8state of mouse buttons in the xcb plugin becomes outdated
9until we receive ButtonRelease event.
10
11This commit updates the internal state of mouse buttons
12from MotionNotify events. So when a user will move a mouse
13on the client area, the xcb plugin will send a mouse event
14with updated buttons to Qt Gui and QGuiApplication will
15detect the following mouse events correctly.
16
17Task-number: QTBUG-32609
18Task-number: QTBUG-35065
19Task-number: QTBUG-43776
20Task-number: QTBUG-44166
21Task-number: QTBUG-44231
22Change-Id: Ica334dfbf04f7ef81db86b25262328fe5da11808
23Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
24Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
25Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
26---
27 src/plugins/platforms/xcb/qxcbconnection.cpp | 14 ++++++++++----
28 src/plugins/platforms/xcb/qxcbconnection.h | 1 +
29 2 files changed, 11 insertions(+), 4 deletions(-)
30
31diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
32index 5510c3b..77e4601 100644
33--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
34+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
35@@ -818,6 +818,15 @@ void QXcbConnection::handleButtonRelease(xcb_generic_event_t *ev)
36 qCDebug(lcQpaXInput, "xcb: released mouse button %d, button state %X", event->detail, static_cast<unsigned int>(m_buttons));
37 }
38
39+void QXcbConnection::handleMotionNotify(xcb_generic_event_t *ev)
40+{
41+ xcb_motion_notify_event_t *event = (xcb_motion_notify_event_t *)ev;
42+
43+ m_buttons = (m_buttons & ~0x7) | translateMouseButtons(event->state);
44+ if (Q_UNLIKELY(lcQpaXInput().isDebugEnabled()))
45+ qDebug("xcb: moved mouse to %4d, %4d; button state %X", event->event_x, event->event_y, static_cast<unsigned int>(m_buttons));
46+}
47+
48 #ifndef QT_NO_XKB
49 namespace {
50 typedef union {
51@@ -868,11 +877,8 @@ void QXcbConnection::handleXcbEvent(xcb_generic_event_t *event)
52 handleButtonRelease(event);
53 HANDLE_PLATFORM_WINDOW_EVENT(xcb_button_release_event_t, event, handleButtonReleaseEvent);
54 case XCB_MOTION_NOTIFY:
55- if (Q_UNLIKELY(lcQpaXInput().isDebugEnabled())) {
56- xcb_motion_notify_event_t *mev = (xcb_motion_notify_event_t *)event;
57- qDebug("xcb: moved mouse to %4d, %4d; button state %X", mev->event_x, mev->event_y, static_cast<unsigned int>(m_buttons));
58- }
59 m_keyboard->updateXKBStateFromCore(((xcb_motion_notify_event_t *)event)->state);
60+ handleMotionNotify(event);
61 HANDLE_PLATFORM_WINDOW_EVENT(xcb_motion_notify_event_t, event, handleMotionNotifyEvent);
62 case XCB_CONFIGURE_NOTIFY:
63 HANDLE_PLATFORM_WINDOW_EVENT(xcb_configure_notify_event_t, event, handleConfigureNotifyEvent);
64diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h
65index 4d05965..9a73006 100644
66--- a/src/plugins/platforms/xcb/qxcbconnection.h
67+++ b/src/plugins/platforms/xcb/qxcbconnection.h
68@@ -496,6 +496,7 @@ private:
69 void updateScreens();
70 void handleButtonPress(xcb_generic_event_t *event);
71 void handleButtonRelease(xcb_generic_event_t *event);
72+ void handleMotionNotify(xcb_generic_event_t *event);
73
74 bool m_xi2Enabled;
75 int m_xi2Minor;
76--
772.1.4
78

Subscribers

People subscribed via source and target branches