[SCM] qtbase packaging branch, ubuntu+1, updated. debian/5.6.0-beta+dfsg-5-101-g5817138

Timo Jyrinki timo at moszumanska.debian.org
Mon Feb 29 13:12:44 UTC 2016


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

The following commit has been merged in the ubuntu+1 branch:
commit 58171380f094c696e7eefef69b33b5b0aed17556
Author: Timo Jyrinki <timo.jyrinki at canonical.com>
Date:   Mon Feb 29 13:12:30 2016 +0000

    Remove patches included in 5.6 RC.
---
 debian/patches/multiscreen.diff                    |  93 --------------
 debian/patches/qnativesocketengine_freebsd.diff    |  16 ---
 debian/patches/qt_functions_missing_eval.diff      |  16 ---
 debian/patches/series                              |   5 -
 ..._dont_select_XInput_events_on_root_window.patch |  40 ------
 ...b_fix_drag_and_drop_when_window_is_hidden.patch | 139 ---------------------
 6 files changed, 309 deletions(-)

diff --git a/debian/patches/multiscreen.diff b/debian/patches/multiscreen.diff
deleted file mode 100644
index 73a0262..0000000
--- a/debian/patches/multiscreen.diff
+++ /dev/null
@@ -1,93 +0,0 @@
-Description: xcb: Fix incorrect screen number reported by QDesktopWidget
-Origin: upstream, https://codereview.qt-project.org/#/c/138819/
-Last-Update: 2015-01-03
-
-commit a6b2a4642f07cd6e52b447e1e441b257990a8d03
-Author: Błażej Szczygieł <spaz16 at wp.pl>
-Date:   Sun Oct 25 01:11:28 2015 +0200
-
-    Fix incorrect screen number reported by QDesktopWidget
-    
-    Screens connected to separate graphics cards are detected as
-    separate screens which don't have offset. This patch fixes obtaining
-    the screen number by QWidget: it uses the screen assigned to the root
-    widget. The patch also assigns a proper QScreen to each QDesktopWidget
-    screen().
-    
-    It also fixes closing a popup menu by clicking on another screen.
-    
-    Task-number: QTBUG-48545
-    Change-Id: I3d76261c0c067293d39949c4428b2d8dfd085dc7
-    Reviewed-by: Shawn Rutledge <shawn.rutledge at theqtcompany.com>
-
---- a/src/widgets/kernel/qdesktopwidget.cpp
-+++ b/src/widgets/kernel/qdesktopwidget.cpp
-@@ -36,6 +36,7 @@
- #include "qdesktopwidget_p.h"
- #include "qscreen.h"
- #include "qwidget_p.h"
-+#include "qwindow.h"
- 
- QT_BEGIN_NAMESPACE
- 
-@@ -99,13 +100,18 @@
- 
-     QRegion virtualGeometry;
- 
--    // update the geometry of each screen widget, determine virtual geometry
--    // and emit change signals afterwards.
-+    // update the geometry of each screen widget, determine virtual geometry,
-+    // set the new screen for window handle and emit change signals afterwards.
-     QList<int> changedScreens;
-     for (int i = 0; i < screens.length(); i++) {
--        const QRect screenGeometry = screenList.at(i)->geometry();
--        if (screenGeometry != screens.at(i)->geometry()) {
--            screens.at(i)->setGeometry(screenGeometry);
-+        QDesktopScreenWidget *screenWidget = screens.at(i);
-+        QScreen *qScreen = screenList.at(i);
-+        QWindow *winHandle = screenWidget->windowHandle();
-+        if (winHandle && winHandle->screen() != qScreen)
-+            winHandle->setScreen(qScreen);
-+        const QRect screenGeometry = qScreen->geometry();
-+        if (screenGeometry != screenWidget->geometry()) {
-+            screenWidget->setGeometry(screenGeometry);
-             changedScreens.push_back(i);
-         }
-         virtualGeometry += screenGeometry;
-@@ -191,6 +197,21 @@
-     if (!w)
-         return 0;
- 
-+    // Find the root widget, get a QScreen pointer from it and find
-+    // the screen number.
-+    const QWidget *root = w;
-+    const QWidget *tmp = w;
-+    while ((tmp = tmp->parentWidget()))
-+        root = tmp;
-+    QWindow *winHandle = root->windowHandle();
-+    if (winHandle) {
-+        int screenIdx = QGuiApplication::screens().indexOf(winHandle->screen());
-+        if (screenIdx > -1)
-+            return screenIdx;
-+    }
-+
-+    // If the screen number cannot be obtained using QScreen pointer,
-+    // get it from window position using screen geometry.
-     QRect frame = w->frameGeometry();
-     if (!w->isWindow())
-         frame.moveTopLeft(w->mapToGlobal(QPoint(0, 0)));
---- a/src/widgets/widgets/qmenu.cpp
-+++ b/src/widgets/widgets/qmenu.cpp
-@@ -2586,7 +2586,11 @@
-     Q_D(QMenu);
-     if (d->aboutToHide || d->mouseEventTaken(e))
-         return;
--    if (!rect().contains(e->pos())) {
-+    // Workaround for XCB on multiple screens which doesn't have offset. If the menu is open on one screen
-+    // and mouse clicks on second screen, e->pos() is QPoint(0,0) and the menu doesn't hide. This trick makes
-+    // possible to hide the menu when mouse clicks on another screen (e->screenPos() returns correct value).
-+    // Only when mouse clicks in QPoint(0,0) on second screen, the menu doesn't hide.
-+    if ((e->pos().isNull() && !e->screenPos().isNull()) || !rect().contains(e->pos())) {
-          if (d->noReplayFor
-              && QRect(d->noReplayFor->mapToGlobal(QPoint()), d->noReplayFor->size()).contains(e->globalPos()))
-              setAttribute(Qt::WA_NoMouseReplay);
diff --git a/debian/patches/qnativesocketengine_freebsd.diff b/debian/patches/qnativesocketengine_freebsd.diff
deleted file mode 100644
index c9aa7c1..0000000
--- a/debian/patches/qnativesocketengine_freebsd.diff
+++ /dev/null
@@ -1,16 +0,0 @@
-Description: QNativeSocketEngine: fix undefined variable on FreeBSD
-Author: Dmitry Shachnev <mitya57 at debian.org>
-Forwarded: https://codereview.qt-project.org/144838
-Last-Update: 2015-12-30
-
---- a/src/network/socket/qnativesocketengine_unix.cpp
-+++ b/src/network/socket/qnativesocketengine_unix.cpp
-@@ -994,7 +994,7 @@
- #  elif defined(IP_SENDSRCADDR)
-             struct in_addr *data = reinterpret_cast<in_addr *>(CMSG_DATA(cmsgptr));
-             cmsgptr->cmsg_type = IP_SENDSRCADDR;
--            addr->s_addr = htonl(header.senderAddress.toIPv4Address());
-+            data->s_addr = htonl(header.senderAddress.toIPv4Address());
- #  endif
-             cmsgptr->cmsg_level = IPPROTO_IP;
-             msg.msg_controllen += CMSG_SPACE(sizeof(*data));
diff --git a/debian/patches/qt_functions_missing_eval.diff b/debian/patches/qt_functions_missing_eval.diff
deleted file mode 100644
index 07203e5..0000000
--- a/debian/patches/qt_functions_missing_eval.diff
+++ /dev/null
@@ -1,16 +0,0 @@
-Description: qt_functions.prf: Add missing $$eval
-Author: Dmitry Shachnev <mitya57 at debian.org>
-Forwarded: https://codereview.qt-project.org/144902
-Last-Update: 2016-01-02
-
---- a/mkspecs/features/qt_functions.prf
-+++ b/mkspecs/features/qt_functions.prf
-@@ -152,7 +152,7 @@
-         pluginpath.value =
-         ppaths = $$[QT_INSTALL_PLUGINS/get]
-         for(qplug, QT_PLUGINS): \
--            contains(ptypes, QT_PLUGIN.$${qplug}.TYPE): \
-+            contains(ptypes, $$eval(QT_PLUGIN.$${qplug}.TYPE)): \
-                 ppaths += $$eval(QT_PLUGIN.$${qplug}.PATH)
-         ppaths = $$unique(ppaths)
-         for(qplug, ppaths) {
diff --git a/debian/patches/series b/debian/patches/series
index 2117c29..a6d1480 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,10 +1,5 @@
 # Backported from upstream
 no_dbus_dependency.diff
-qnativesocketengine_freebsd.diff
-qt_functions_missing_eval.diff
-multiscreen.diff
-xcb_dont_select_XInput_events_on_root_window.patch
-xcb_fix_drag_and_drop_when_window_is_hidden.patch
 fix_not_delivering_focus.patch
 
 # Debian specific.
diff --git a/debian/patches/xcb_dont_select_XInput_events_on_root_window.patch b/debian/patches/xcb_dont_select_XInput_events_on_root_window.patch
deleted file mode 100644
index 820cbc8..0000000
--- a/debian/patches/xcb_dont_select_XInput_events_on_root_window.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 2d8b0d1cd566cc0c3ab600650b66cdc771d8314f Mon Sep 17 00:00:00 2001
-From: Shawn Rutledge <shawn.rutledge at digia.com>
-Date: Mon, 4 Jan 2016 15:09:10 +0100
-Subject: [PATCH] xcb: don't select XInput events on the root window
-
-If we select XInput events, then when the mouse is clicked, there will
-not be a fallback to a core pointer event. But a typical Qt application
-doesn't own the root window.  If the window manager (such as OpenBox,
-Awesome or fvwm) relies on receiving core pointer click events, e.g.
-to show a desktop menu, then each time a device is hotplugged while a
-Qt application is running, we would select XI2 events and thereby
-prevent the window manager from receiving them.
-
-QDesktopWidget's native window is added to m_mapper, even when
-it isn't mapped.  Then after hotplugging there's a hierarchy event,
-and that calls xi2Select for every window in m_mapper.  The assumption
-with this patch is that the root window does need to be in m_mapper
-in case the QDesktopWidget is shown (that was done already in Qt 5.1:
-fca94fa5ed8321e84e7b0ff515620fbb901db545), but xi2Select must avoid
-selecting XI2 events on it to fix this bug.
-
-Task-number: QTBUG-49952
-Change-Id: I5c160e879d93fadfce14120ef2e89a4f71d4f599
-Reviewed-by: Uli Schlachter <psychon at znc.in>
-Reviewed-by: Paul Olav Tvete <paul.tvete at theqtcompany.com>
----
- src/plugins/platforms/xcb/qxcbconnection_xi2.cpp |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
-+++ b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
-@@ -274,7 +274,7 @@
- 
- void QXcbConnection::xi2Select(xcb_window_t window)
- {
--    if (!m_xi2Enabled)
-+    if (!m_xi2Enabled || window == rootWindow())
-         return;
- 
-     Display *xDisplay = static_cast<Display *>(m_xlib_display);
diff --git a/debian/patches/xcb_fix_drag_and_drop_when_window_is_hidden.patch b/debian/patches/xcb_fix_drag_and_drop_when_window_is_hidden.patch
deleted file mode 100644
index 3679aa7..0000000
--- a/debian/patches/xcb_fix_drag_and_drop_when_window_is_hidden.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 0b3da1907d46a03e8838c4086b23d48ba69c8776 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?B=C5=82a=C5=BCej=20Szczygie=C5=82?= <spaz16 at wp.pl>
-Date: Sun, 18 Oct 2015 00:16:15 +0200
-Subject: [PATCH] xcb: fix drag and drop when window is hidden
-
-This patch fixes drag and drop operation on XCB platform when window
-will be hidden. The window can be hidden during dnd operation by
-switching virtual desktops or by minimizing all windows (show desktop)
-using key shortcut.
-
-The ShapedPixmapWindow must grab mouse before dnd operation if mouse is
-not grabbed by other window (like in Qt4).
-
-Task-number: QTBUG-46243
-Change-Id: I807bc842719a2d0ea0f4dcb733c06c1fd08813e1
-Reviewed-by: Shawn Rutledge <shawn.rutledge at theqtcompany.com>
----
- src/plugins/platforms/xcb/qxcbconnection.cpp |    5 +++++
- src/plugins/platforms/xcb/qxcbconnection.h   |    3 +++
- src/plugins/platforms/xcb/qxcbdrag.cpp       |    2 ++
- src/plugins/platforms/xcb/qxcbwindow.cpp     |   21 +++++++++++++++++++--
- 4 files changed, 29 insertions(+), 2 deletions(-)
-
---- a/src/plugins/platforms/xcb/qxcbconnection.cpp
-+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
-@@ -535,6 +535,7 @@
-     , has_xkb(false)
-     , m_buttons(0)
-     , m_focusWindow(0)
-+    , m_mouseGrabber(0)
-     , m_clientLeader(0)
-     , m_systemTrayTracker(0)
-     , m_glIntegration(Q_NULLPTR)
-@@ -1328,6 +1329,10 @@
- {
-     m_focusWindow = w;
- }
-+void QXcbConnection::setMouseGrabber(QXcbWindow *w)
-+{
-+    m_mouseGrabber = w;
-+}
- 
- void QXcbConnection::grabServer()
- {
---- a/src/plugins/platforms/xcb/qxcbconnection.h
-+++ b/src/plugins/platforms/xcb/qxcbconnection.h
-@@ -469,6 +469,8 @@
- 
-     QXcbWindow *focusWindow() const { return m_focusWindow; }
-     void setFocusWindow(QXcbWindow *);
-+    QXcbWindow *mouseGrabber() const { return m_mouseGrabber; }
-+    void setMouseGrabber(QXcbWindow *);
- 
-     QByteArray startupId() const { return m_startupId; }
-     void setStartupId(const QByteArray &nextId) { m_startupId = nextId; }
-@@ -647,6 +649,7 @@
-     Qt::MouseButtons m_buttons;
- 
-     QXcbWindow *m_focusWindow;
-+    QXcbWindow *m_mouseGrabber;
- 
-     xcb_window_t m_clientLeader;
-     QByteArray m_startupId;
---- a/src/plugins/platforms/xcb/qxcbdrag.cpp
-+++ b/src/plugins/platforms/xcb/qxcbdrag.cpp
-@@ -194,6 +194,8 @@
- 
-     setUseCompositing(current_virtual_desktop->compositingActive());
-     QBasicDrag::startDrag();
-+    if (connection()->mouseGrabber() == Q_NULLPTR)
-+        shapedPixmapWindow()->setMouseGrabEnabled(true);
- }
- 
- void QXcbDrag::endDrag()
---- a/src/plugins/platforms/xcb/qxcbwindow.cpp
-+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
-@@ -594,12 +594,16 @@
- {
-     if (window()->type() != Qt::ForeignWindow)
-         destroy();
-+    else if (connection()->mouseGrabber() == this)
-+        connection()->setMouseGrabber(Q_NULLPTR);
- }
- 
- void QXcbWindow::destroy()
- {
-     if (connection()->focusWindow() == this)
-         doFocusOut();
-+    if (connection()->mouseGrabber() == this)
-+        connection()->setMouseGrabber(Q_NULLPTR);
- 
-     if (m_syncCounter && m_usingSyncProtocol)
-         Q_XCB_CALL(xcb_sync_destroy_counter(xcb_connection(), m_syncCounter));
-@@ -847,6 +851,9 @@
- 
-     xcb_flush(xcb_connection());
- 
-+    if (connection()->mouseGrabber() == this)
-+        connection()->setMouseGrabber(Q_NULLPTR);
-+
-     m_mapped = false;
- }
- 
-@@ -2357,6 +2364,8 @@
-             QWindowSystemInterface::handleWindowStateChanged(window(), newState);
-             m_lastWindowStateEvent = newState;
-             m_windowState = newState;
-+            if (m_windowState == Qt::WindowMinimized && connection()->mouseGrabber() == this)
-+                connection()->setMouseGrabber(Q_NULLPTR);
-         }
-         return;
-     } else if (event->atom == atom(QXcbAtom::_NET_FRAME_EXTENTS)) {
-@@ -2411,9 +2420,15 @@
- 
- bool QXcbWindow::setMouseGrabEnabled(bool grab)
- {
-+    if (!grab && connection()->mouseGrabber() == this)
-+        connection()->setMouseGrabber(Q_NULLPTR);
- #ifdef XCB_USE_XINPUT22
--    if (connection()->xi2MouseEvents())
--        return connection()->xi2SetMouseGrabEnabled(m_window, grab);
-+    if (connection()->xi2MouseEvents()) {
-+        bool result = connection()->xi2SetMouseGrabEnabled(m_window, grab);
-+        if (grab && result)
-+            connection()->setMouseGrabber(this);
-+        return result;
-+    }
- #endif
-     if (grab && !connection()->canGrab())
-         return false;
-@@ -2432,6 +2447,8 @@
-     xcb_grab_pointer_reply_t *reply = xcb_grab_pointer_reply(xcb_connection(), cookie, NULL);
-     bool result = !(!reply || reply->status != XCB_GRAB_STATUS_SUCCESS);
-     free(reply);
-+    if (result)
-+        connection()->setMouseGrabber(this);
-     return result;
- }
- 

-- 
qtbase packaging



More information about the pkg-kde-commits mailing list