[SCM] qtbase packaging branch, ubuntu+1, updated. debian/5.8.0+dfsg-3-247-g035b3be

Timo Jyrinki timo at moszumanska.debian.org
Tue Apr 11 10:33:20 UTC 2017


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

The following commit has been merged in the ubuntu+1 branch:
commit 035b3be052d18db6314af5e25e222c0d1a59859d
Author: Timo Jyrinki <timo.jyrinki at canonical.com>
Date:   Tue Apr 11 10:33:07 2017 +0000

    Drop Ubuntu specific patches and patches that will be in upstream 5.9.
    
    * Drop Ubuntu specific patches and patches that will be in upstream 5.9.
     - Add-workaround-for-GL-on-Android-emulator.patch - 5.9
     - qdbus-tray-icon-always-save-icon-in-unity.patch - 5.9
     - qdbus-tray-icon-use-runtimedir.patch - 5.9
     - qnam-ubuntu-fix6.patch - not submitted upstream, but also might be
       outdated
     - skip-largefile-test-s390x.patch - likely not needed anymore
---
 debian/changelog                                   |   7 +
 ...Add-workaround-for-GL-on-Android-emulator.patch |  40 --
 debian/patches/disable_overlay_scrollbars.diff     |  50 ---
 ...qdbus-tray-icon-always-save-icon-in-unity.patch |  43 --
 .../patches/qdbus-tray-icon-use-runtimedir.patch   |  66 ---
 debian/patches/qnam-ubuntu-fix6.patch              | 499 ---------------------
 debian/patches/series                              |   6 -
 debian/patches/skip-largefile-test-s390x.patch     |  14 -
 8 files changed, 7 insertions(+), 718 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index b56673c..30254da 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,13 @@ qtbase-opensource-src (5.8.0+dfsg-4) UNRELEASED; urgency=medium
 
   [ Timo Jyrinki ]
   * Drop support for twin gles packages.
+  * Drop Ubuntu specific patches and patches that will be in upstream 5.9.
+   - Add-workaround-for-GL-on-Android-emulator.patch - 5.9
+   - qdbus-tray-icon-always-save-icon-in-unity.patch - 5.9
+   - qdbus-tray-icon-use-runtimedir.patch - 5.9
+   - qnam-ubuntu-fix6.patch - not submitted upstream, but also might be
+     outdated
+   - skip-largefile-test-s390x.patch - likely not needed anymore
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Thu, 16 Feb 2017 11:40:03 +0300
 
diff --git a/debian/patches/Add-workaround-for-GL-on-Android-emulator.patch b/debian/patches/Add-workaround-for-GL-on-Android-emulator.patch
deleted file mode 100644
index 700330e..0000000
--- a/debian/patches/Add-workaround-for-GL-on-Android-emulator.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From cbf649ff92e7d3416cb9d03609648f96efdf76dd Mon Sep 17 00:00:00 2001
-From: Ricardo Salveti de Araujo <ricardo.salveti at canonical.com>
-Date: Mon, 17 Mar 2014 19:43:41 -0300
-Subject: [PATCH] Add workaround for GL on Android emulator
-
-On the Android Emulator, the shaders will be compiled by a desktop
-GL driver, since the GL driver in the emulator is just a thin
-wrapper. The GL driver does not necessarily support the precision
-qualifiers, which can cause applications to break. We detect this
-at runtime in the platform plugin and set a workaround flag to
-
-Upstream (9eeb1bd) just enabled the workaround when the android
-backend is used, which is not true in our case (traditional desktop).
-As a consequence, we also need a similar check in order to have
-a functional Ubuntu Touch emulator.
-
-Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti at canonical.com>
----
- src/gui/kernel/qopenglcontext.cpp | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp
-index 39dd2a2..71e3f8c 100644
---- a/src/gui/kernel/qopenglcontext.cpp
-+++ b/src/gui/kernel/qopenglcontext.cpp
-@@ -774,6 +774,11 @@ bool QOpenGLContext::makeCurrent(QSurface *surface)
- 
-         d->shareGroup->d_func()->deletePendingResources(this);
- 
-+        const char *rendererString = reinterpret_cast<const char *>(glGetString(GL_RENDERER));
-+        if (rendererString != 0 && qstrncmp(rendererString, "Android Emulator", 16) == 0) {
-+            QOpenGLContextPrivate *ctx_d = QOpenGLContextPrivate::get(this);
-+            ctx_d->workaround_missingPrecisionQualifiers = true;
-+        }
- #ifndef QT_NO_DEBUG
-         QOpenGLContextPrivate::toggleMakeCurrentTracker(this, true);
- #endif
--- 
-1.9.0
-
diff --git a/debian/patches/disable_overlay_scrollbars.diff b/debian/patches/disable_overlay_scrollbars.diff
deleted file mode 100644
index 52e9194..0000000
--- a/debian/patches/disable_overlay_scrollbars.diff
+++ /dev/null
@@ -1,50 +0,0 @@
-Description: disable Ubuntu overlay scrollbars as they don’t play well with Qt
-Author: Aurélien Gâteau <aurelien.gateau at canonical.com>
-Last-Update: 2013-04-22
-Forwarded: not-needed
-
---- a/src/widgets/styles/qgtkstyle_p.cpp
-+++ b/src/widgets/styles/qgtkstyle_p.cpp
-@@ -99,6 +99,7 @@ Q_GLOBAL_STATIC(QGtkStyleUpdateScheduler, styleScheduler)
- 
- Ptr_gtk_container_forall QGtkStylePrivate::gtk_container_forall = 0;
- Ptr_gtk_init QGtkStylePrivate::gtk_init = 0;
-+Ptr_ubuntu_gtk_set_use_overlay_scrollbar QGtkStylePrivate::ubuntu_gtk_set_use_overlay_scrollbar = 0;
- Ptr_gtk_style_attach QGtkStylePrivate::gtk_style_attach = 0;
- Ptr_gtk_window_new QGtkStylePrivate::gtk_window_new = 0;
- Ptr_gtk_widget_destroy QGtkStylePrivate::gtk_widget_destroy = 0;
-@@ -351,6 +352,7 @@ void QGtkStylePrivate::resolveGtk() const
-     QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
- 
-     gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
-+    ubuntu_gtk_set_use_overlay_scrollbar = (Ptr_ubuntu_gtk_set_use_overlay_scrollbar)libgtk.resolve("ubuntu_gtk_set_use_overlay_scrollbar");
-     gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
-     gtk_style_attach = (Ptr_gtk_style_attach)libgtk.resolve("gtk_style_attach");
-     gtk_widget_destroy = (Ptr_gtk_widget_destroy)libgtk.resolve("gtk_widget_destroy");
-@@ -549,6 +551,8 @@ void QGtkStylePrivate::initGtkWidgets() const
-         QGtkStylePrivate::gtk_init (NULL, NULL);
- #ifndef Q_OS_MAC
-         XSetErrorHandler(qt_x_errhandler);
-+        if (QGtkStylePrivate::ubuntu_gtk_set_use_overlay_scrollbar)
-+            QGtkStylePrivate::ubuntu_gtk_set_use_overlay_scrollbar(false);
- #endif
- 
-         // make a window
---- a/src/widgets/styles/qgtkstyle_p_p.h
-+++ b/src/widgets/styles/qgtkstyle_p_p.h
-@@ -129,6 +129,7 @@ typedef char* (*Ptr_gconf_client_get_string)(GConfClient*, const char*, GError *
- typedef bool (*Ptr_gconf_client_get_bool)(GConfClient*, const char*, GError **);
- 
- typedef void (*Ptr_gtk_init)(int *, char ***);
-+typedef void (*Ptr_ubuntu_gtk_set_use_overlay_scrollbar) (gboolean);
- typedef GtkWidget* (*Ptr_gtk_window_new) (GtkWindowType);
- typedef GtkStyle* (*Ptr_gtk_style_attach)(GtkStyle *, GdkWindow *);
- typedef void (*Ptr_gtk_widget_destroy) (GtkWidget *);
-@@ -344,6 +345,7 @@ public:
- 
-     static Ptr_gtk_container_forall gtk_container_forall;
-     static Ptr_gtk_init gtk_init;
-+    static Ptr_ubuntu_gtk_set_use_overlay_scrollbar ubuntu_gtk_set_use_overlay_scrollbar;
-     static Ptr_gtk_style_attach gtk_style_attach;
-     static Ptr_gtk_window_new gtk_window_new;
-     static Ptr_gtk_widget_destroy gtk_widget_destroy;
diff --git a/debian/patches/qdbus-tray-icon-always-save-icon-in-unity.patch b/debian/patches/qdbus-tray-icon-always-save-icon-in-unity.patch
deleted file mode 100644
index 8ca7fc4..0000000
--- a/debian/patches/qdbus-tray-icon-always-save-icon-in-unity.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Description: QDBusTrayIcon: always save the temp icon in Unity
-Author: Marco Trevisan <marco.trevisan at canonical.com>
-Bug-Ubuntu: 1600136
-Forwarded: yes
-Applied-Upstream: http://code.qt.io/cgit/qt/qtbase.git/commit/?id=b934572
-
-
-From b934572b30ca64ea0f85dffaeb9ff3c30add1e7e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail at 3v1n0.net>
-Date: Fri, 13 Jan 2017 17:40:56 +0100
-Subject: QDBusTrayIcon: always save the temp icon in Unity
-
-We enforce the check of saving the icon when the indicator
-process name isn't available (as we might be running in a
-confined world), but we're running in Unity.
-
-Change-Id: I80d3be1a8c6eba8c391364260746e78cf89a5b98
-Reviewed-by: Dmitry Shachnev <mitya57 at gmail.com>
-Reviewed-by: Shawn Rutledge <shawn.rutledge at qt.io>
----
- src/platformsupport/dbustray/qdbustrayicon.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/platformsupport/dbustray/qdbustrayicon.cpp b/src/platformsupport/dbustray/qdbustrayicon.cpp
-index 5c4157c..b55ace3 100644
---- a/src/platformsupport/themes/genericunix/dbustray/qdbustrayicon.cpp
-+++ b/src/platformsupport/themes/genericunix/dbustray/qdbustrayicon.cpp
-@@ -171,6 +171,12 @@ QTemporaryFile *QDBusTrayIcon::tempIcon(const QIcon &icon)
-         uint pid = session.interface()->servicePid(KDEWatcherService).value();
-         QString processName = QLockFilePrivate::processNameByPid(pid);
-         necessary = processName.endsWith(QLatin1String("indicator-application-service"));
-+        if (!necessary && QGuiApplication::desktopSettingsAware()) {
-+            // Accessing to process name might be not allowed if the application
-+            // is confined, thus we can just rely on the current desktop in use
-+            const QPlatformServices *services = QGuiApplicationPrivate::platformIntegration()->services();
-+            necessary = services->desktopEnvironment().split(':').contains("UNITY");
-+        }
-         necessity_checked = true;
-     }
-     if (!necessary)
--- 
-cgit v1.0-4-g1e03
-
diff --git a/debian/patches/qdbus-tray-icon-use-runtimedir.patch b/debian/patches/qdbus-tray-icon-use-runtimedir.patch
deleted file mode 100644
index dcd3be2..0000000
--- a/debian/patches/qdbus-tray-icon-use-runtimedir.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Description: QDBusTrayIcon: try use runtime or cache for icons
-Author: Marco Trevisan <marco.trevisan at canonical.com>
-Bug-Ubuntu: 1600136
-Forwarded: yes
-Applied-Upstream: http://code.qt.io/cgit/qt/qtbase.git/commit/?id=e1c93cc74
-
-
-From e1c93cc74b43d8c49208b38dde824298590ac788 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail at 3v1n0.net>
-Date: Fri, 13 Jan 2017 17:17:14 +0100
-Subject: QDBusTrayIcon: try use runtime or cache for icons
-
-It's better to save icons in $XDG_RUNTIME_DIR or
-$XDG_CACHE_HOME paths than in $TMPDIR as these
-places are readable from the desktop environment
-when an app is ran confined in a sandbox (as in
-snap packages)
-
-Change-Id: I1a3e4c5714f8ea51034d18fb87cead87ed21d6be
-Reviewed-by: Shawn Rutledge <shawn.rutledge at qt.io>
-Reviewed-by: Dmitry Shachnev <mitya57 at gmail.com>
----
- .../themes/genericunix/dbustray/qdbustrayicon.cpp  | 25 +++++++++++++++++++++-
- 1 file changed, 24 insertions(+), 1 deletion(-)
-
-diff --git a/src/platformsupport/dbustray/qdbustrayicon.cpp b/src/platformsupport/dbustray/qdbustrayicon.cpp
-index b55ace3..9baf947 100644
---- a/src/platformsupport/themes/genericunix/dbustray/qdbustrayicon.cpp
-+++ b/src/platformsupport/themes/genericunix/dbustray/qdbustrayicon.cpp
-@@ -65,9 +65,32 @@ QT_BEGIN_NAMESPACE
- 
- Q_LOGGING_CATEGORY(qLcTray, "qt.qpa.tray")
- 
-+static QString iconTempPath()
-+{
-+    QString tempPath = QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation);
-+    if (!tempPath.isEmpty())
-+        return tempPath;
-+
-+    tempPath = QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation);
-+
-+    if (!tempPath.isEmpty()) {
-+        QDir tempDir(tempPath);
-+        if (tempDir.exists())
-+            return tempPath;
-+
-+        if (tempDir.mkpath(QStringLiteral("."))) {
-+            const QFile::Permissions permissions = QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner;
-+            if (QFile(tempPath).setPermissions(permissions))
-+                return tempPath;
-+        }
-+    }
-+
-+    return QDir::tempPath();
-+}
-+
- static const QString KDEItemFormat = QStringLiteral("org.kde.StatusNotifierItem-%1-%2");
- static const QString KDEWatcherService = QStringLiteral("org.kde.StatusNotifierWatcher");
--static const QString TempFileTemplate =  QDir::tempPath() + QLatin1String("/qt-trayicon-XXXXXX.png");
-+static const QString TempFileTemplate = iconTempPath() + QLatin1String("/qt-trayicon-XXXXXX.png");
- static const QString XdgNotificationService = QStringLiteral("org.freedesktop.Notifications");
- static const QString XdgNotificationPath = QStringLiteral("/org/freedesktop/Notifications");
- static const QString DefaultAction = QStringLiteral("default");
--- 
-cgit v1.0-4-g1e03
-
diff --git a/debian/patches/qnam-ubuntu-fix6.patch b/debian/patches/qnam-ubuntu-fix6.patch
deleted file mode 100644
index 57e792f..0000000
--- a/debian/patches/qnam-ubuntu-fix6.patch
+++ /dev/null
@@ -1,499 +0,0 @@
-Index: qtbase-opensource-src-5.4.1+dfsg/src/network/access/qnetworkaccessmanager.cpp
-===================================================================
---- qtbase-opensource-src-5.4.1+dfsg.orig/src/network/access/qnetworkaccessmanager.cpp
-+++ qtbase-opensource-src-5.4.1+dfsg/src/network/access/qnetworkaccessmanager.cpp
-@@ -69,6 +69,8 @@
- 
- QT_BEGIN_NAMESPACE
- 
-+Q_LOGGING_CATEGORY(lcQnam, "qt.network.qnam")
-+
- Q_GLOBAL_STATIC(QNetworkAccessFileBackendFactory, fileBackend)
- #ifndef QT_NO_FTP
- Q_GLOBAL_STATIC(QNetworkAccessFtpBackendFactory, ftpBackend)
-Index: qtbase-opensource-src-5.4.1+dfsg/src/network/access/qnetworkaccessmanager_p.h
-===================================================================
---- qtbase-opensource-src-5.4.1+dfsg.orig/src/network/access/qnetworkaccessmanager_p.h
-+++ qtbase-opensource-src-5.4.1+dfsg/src/network/access/qnetworkaccessmanager_p.h
-@@ -55,8 +55,11 @@
- #ifndef QT_NO_BEARERMANAGEMENT
- #include "QtNetwork/qnetworkconfigmanager.h"
- #endif
-+#include <QtCore/QLoggingCategory>
-+
- 
- QT_BEGIN_NAMESPACE
-+Q_DECLARE_LOGGING_CATEGORY(lcQnam)
- 
- class QAuthenticator;
- class QAbstractNetworkCache;
-Index: qtbase-opensource-src-5.4.1+dfsg/src/network/access/qnetworkreplyhttpimpl.cpp
-===================================================================
---- qtbase-opensource-src-5.4.1+dfsg.orig/src/network/access/qnetworkreplyhttpimpl.cpp
-+++ qtbase-opensource-src-5.4.1+dfsg/src/network/access/qnetworkreplyhttpimpl.cpp
-@@ -1598,6 +1598,11 @@ bool QNetworkReplyHttpImplPrivate::start
-         Q_Q(QNetworkReplyHttpImpl);
-         QObject::connect(networkSession.data(), SIGNAL(usagePoliciesChanged(QNetworkSession::UsagePolicies)),
-                             q, SLOT(_q_networkSessionUsagePoliciesChanged(QNetworkSession::UsagePolicies)));
-+            QObject::connect(networkSession.data(), SIGNAL(error(QNetworkSession::SessionError)),
-+                             q, SLOT(_q_networkSessionFailed()), Qt::QueuedConnection);
-+            QObject::connect(networkSession.data(), SIGNAL(stateChanged(QNetworkSession::State)),
-+                             q, SLOT(_q_networkSessionStateChanged(QNetworkSession::State)), Qt::QueuedConnection);
-+
-         postRequest(newHttpRequest);
-         return true;
-     } else if (synchronous) {
-@@ -1648,7 +1653,7 @@ void QNetworkReplyHttpImplPrivate::_q_st
-                              q, SLOT(_q_networkSessionFailed()), Qt::QueuedConnection);
- 
-             if (!session->isOpen()) {
--                session->setSessionProperty(QStringLiteral("ConnectInBackground"), isBackground);
-+               session->setSessionProperty(QStringLiteral("ConnectInBackground"), isBackground);
-                 session->open();
-             }
-         } else {
-@@ -1811,6 +1818,7 @@ void QNetworkReplyHttpImplPrivate::_q_bu
- #ifndef QT_NO_BEARERMANAGEMENT
- void QNetworkReplyHttpImplPrivate::_q_networkSessionConnected()
- {
-+
-     Q_Q(QNetworkReplyHttpImpl);
- 
-     if (!manager)
-@@ -1841,7 +1849,8 @@ void QNetworkReplyHttpImplPrivate::_q_ne
- 
- void QNetworkReplyHttpImplPrivate::_q_networkSessionStateChanged(QNetworkSession::State sessionState)
- {
--    if (sessionState == QNetworkSession::Disconnected
-+    if ((sessionState == QNetworkSession::Disconnected ||
-+         sessionState == QNetworkSession::NotAvailable)
-         && state != Idle && state != Reconnecting) {
-         error(QNetworkReplyImpl::NetworkSessionFailedError,
-               QCoreApplication::translate("QNetworkReply", "Network session error."));
-Index: qtbase-opensource-src-5.4.1+dfsg/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
-===================================================================
---- qtbase-opensource-src-5.4.1+dfsg.orig/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
-+++ qtbase-opensource-src-5.4.1+dfsg/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
-@@ -125,7 +125,12 @@ void QNetworkManagerEngine::setupConfigu
- 
-         QNetworkManagerConnectionActive *activeConnection =
-                 new QNetworkManagerConnectionActive(acPath.path(),this);
--        activeConnectionsList.insert(acPath.path(), activeConnection);
-+        if (activeConnection->defaultRoute()) {
-+             defaultPathConnectionPath = activeConnection->connection().path();
-+        }
-+            newConnection(activeConnection->connection(), systemSettings); //add system connection configs
-+
-+        activeConnectionsList.insert(activeConnection->connection().path(), activeConnection);
-         connect(activeConnection, SIGNAL(propertiesChanged(QMap<QString,QVariant>)),
-                 this, SLOT(activeConnectionPropertiesChanged(QMap<QString,QVariant>)));
- 
-@@ -242,70 +247,50 @@ void QNetworkManagerEngine::requestUpdat
- void QNetworkManagerEngine::interfacePropertiesChanged(const QMap<QString, QVariant> &properties)
- {
-     QMutexLocker locker(&mutex);
--    QMapIterator<QString, QVariant> i(properties);
--    while (i.hasNext()) {
--        i.next();
--
--        if (i.key() == QLatin1String("ActiveConnections")) {
--            // Active connections changed, update configurations.
-+    if (properties.contains(QLatin1String("PrimaryConnectionType"))) {
- 
--            QList<QDBusObjectPath> activeConnections =
--                qdbus_cast<QList<QDBusObjectPath> >(i.value().value<QDBusArgument>());
--
--            QStringList identifiers = accessPointConfigurations.keys();
--            QStringList priorActiveConnections = activeConnectionsList.keys();
-+        QString aPath = properties.value("PrimaryConnection").value<QDBusObjectPath>().path();
-+        QNetworkManagerConnectionActive *activeConnection = new QNetworkManagerConnectionActive(aPath,this);
-+        defaultPathConnectionPath = activeConnection->connection().path();
-+     }
- 
--            foreach (const QDBusObjectPath &acPath, activeConnections) {
--                priorActiveConnections.removeOne(acPath.path());
--                QNetworkManagerConnectionActive *activeConnection =
-+    if (properties.contains(QLatin1String("ActiveConnections"))) {
-+        // Active connections changed, update configurations.
-+        QList<QDBusObjectPath> activeConnections =
-+                qdbus_cast<QList<QDBusObjectPath> >(properties.value("ActiveConnections").value<QDBusArgument>());
-+
-+        QStringList identifiers = accessPointConfigurations.keys();
-+        QStringList priorActiveConnections = activeConnectionsList.keys();
-+
-+        foreach (const QDBusObjectPath &acPath, activeConnections) {
-+            priorActiveConnections.removeOne(acPath.path());
-+            QNetworkManagerConnectionActive *activeConnection =
-                     activeConnectionsList.value(acPath.path());
- 
--                if (!activeConnection) {
--                    activeConnection = new QNetworkManagerConnectionActive(acPath.path(),this);
--                    activeConnectionsList.insert(acPath.path(), activeConnection);
--
--                    connect(activeConnection, SIGNAL(propertiesChanged(QMap<QString,QVariant>)),
--                            this, SLOT(activeConnectionPropertiesChanged(QMap<QString,QVariant>)));
--                }
-+            if (!activeConnection) {
-+                activeConnection = new QNetworkManagerConnectionActive(acPath.path(),this);
-+                activeConnectionsList.insert(acPath.path(), activeConnection);
- 
--                const QString id = activeConnection->connection().path();
--
--                identifiers.removeOne(id);
--
--                QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id);
--                if (ptr) {
--                    ptr->mutex.lock();
--                    if (activeConnection->state() == NM_ACTIVE_CONNECTION_STATE_ACTIVATED &&
--                            (ptr->state & QNetworkConfiguration::Active) != QNetworkConfiguration::Active) {
--
--                        ptr->state |= QNetworkConfiguration::Active;
--
--                        if (activeConnectionsList.value(id) && activeConnectionsList.value(id)->defaultRoute()
--                                && managerInterface->state() < QNetworkManagerInterface::NM_STATE_CONNECTED_GLOBAL) {
--                            ptr->purpose = QNetworkConfiguration::PrivatePurpose;
--                        }
--                        ptr->mutex.unlock();
--
--                        locker.unlock();
--                        emit configurationChanged(ptr);
--                        locker.relock();
--                    } else {
--                        ptr->mutex.unlock();
--                    }
--                }
-+                connect(activeConnection, SIGNAL(propertiesChanged(QMap<QString,QVariant>)),
-+                        this, SLOT(activeConnectionPropertiesChanged(QMap<QString,QVariant>)));
-             }
- 
--            while (!priorActiveConnections.isEmpty())
--                delete activeConnectionsList.take(priorActiveConnections.takeFirst());
-+            const QString id = activeConnection->connection().path();
- 
--            while (!identifiers.isEmpty()) {
--                QNetworkConfigurationPrivatePointer ptr =
--                    accessPointConfigurations.value(identifiers.takeFirst());
-+            identifiers.removeOne(id);
- 
-+            QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id);
-+            if (ptr) {
-                 ptr->mutex.lock();
--                if ((ptr->state & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) {
--                    QNetworkConfiguration::StateFlags flag = QNetworkConfiguration::Defined;
--                    ptr->state = (flag | QNetworkConfiguration::Discovered);
-+                if (activeConnection->state() == NM_ACTIVE_CONNECTION_STATE_ACTIVATED &&
-+                        (ptr->state & QNetworkConfiguration::Active) != QNetworkConfiguration::Active) {
-+
-+                    ptr->state |= QNetworkConfiguration::Active;
-+
-+                    if (activeConnectionsList.value(id) && activeConnectionsList.value(id)->defaultRoute()
-+                            && managerInterface->state() < QNetworkManagerInterface::NM_STATE_CONNECTED_GLOBAL) {
-+                        ptr->purpose = QNetworkConfiguration::PrivatePurpose;
-+                    }
-                     ptr->mutex.unlock();
- 
-                     locker.unlock();
-@@ -316,6 +301,27 @@ void QNetworkManagerEngine::interfacePro
-                 }
-             }
-         }
-+
-+        while (!priorActiveConnections.isEmpty())
-+            delete activeConnectionsList.take(priorActiveConnections.takeFirst());
-+
-+        while (!identifiers.isEmpty()) {
-+            QNetworkConfigurationPrivatePointer ptr =
-+                    accessPointConfigurations.value(identifiers.takeFirst());
-+
-+            ptr->mutex.lock();
-+            if ((ptr->state & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) {
-+                QNetworkConfiguration::StateFlags flag = QNetworkConfiguration::Defined;
-+                ptr->state = (flag | QNetworkConfiguration::Discovered);
-+                ptr->mutex.unlock();
-+
-+                locker.unlock();
-+                emit configurationChanged(ptr);
-+                locker.relock();
-+            } else {
-+                ptr->mutex.unlock();
-+            }
-+        }
-     }
- }
- 
-@@ -323,8 +329,6 @@ void QNetworkManagerEngine::activeConnec
- {
-     QMutexLocker locker(&mutex);
- 
--    Q_UNUSED(properties)
--
-     QNetworkManagerConnectionActive *activeConnection = qobject_cast<QNetworkManagerConnectionActive *>(sender());
- 
-     if (!activeConnection)
-@@ -354,57 +358,10 @@ void QNetworkManagerEngine::activeConnec
-                 ptr->mutex.unlock();
-             }
-         }
--    }
--}
--
--void QNetworkManagerEngine::deviceConnectionsChanged(const QStringList &connectionsList)
--{
--    QMutexLocker locker(&mutex);
--    for (int i = 0; i < connections.count(); ++i) {
--        if (connectionsList.contains(connections.at(i)->path()))
--            continue;
--
--        const QString settingsPath = connections.at(i)->path();
--
--        QNetworkConfigurationPrivatePointer ptr =
--            accessPointConfigurations.value(settingsPath);
--        ptr->mutex.lock();
--        QNetworkConfiguration::StateFlags flag = QNetworkConfiguration::Defined;
--        ptr->state = (flag | QNetworkConfiguration::Discovered);
--        ptr->mutex.unlock();
--
--        locker.unlock();
--        emit configurationChanged(ptr);
--        locker.relock();
--        Q_EMIT updateCompleted();
--    }
--}
--
--void QNetworkManagerEngine::wiredCarrierChanged(bool carrier)
--{
--    QNetworkManagerInterfaceDeviceWired *deviceWired = qobject_cast<QNetworkManagerInterfaceDeviceWired *>(sender());
--    if (!deviceWired)
--        return;
--    QMutexLocker locker(&mutex);
--    foreach (const QDBusObjectPath &settingsPath, systemSettings->listConnections()) {
--        for (int i = 0; i < connections.count(); ++i) {
--            QNetworkManagerSettingsConnection *connection = connections.at(i);
--            if (connection->getType() == DEVICE_TYPE_ETHERNET
--                    && settingsPath.path() == connection->path()) {
--                QNetworkConfigurationPrivatePointer ptr =
--                        accessPointConfigurations.value(settingsPath.path());
--
--                if (ptr) {
--                    ptr->mutex.lock();
--                    if (carrier)
--                        ptr->state |= QNetworkConfiguration::Discovered;
--                    else
--                        ptr->state = QNetworkConfiguration::Defined;
--                    ptr->mutex.unlock();
--                    locker.unlock();
--                    emit configurationChanged(ptr);
--                    return;
--                }
-+        if (properties.contains(QStringLiteral("Default")) || properties.contains(QStringLiteral("Default6"))) {
-+            if (!properties.value("Default").toBool() && !properties.value("Default6").toBool()) {
-+                if (defaultPathConnectionPath == id)
-+                    defaultPathConnectionPath.clear();
-             }
-         }
-     }
-@@ -460,7 +417,7 @@ void QNetworkManagerEngine::newConnectio
-         parseConnection(settingsPath, connection->getSettings());
- 
-     // Check if connection is active.
--    if (isConnectionActive(settingsPath))
-+    if (isConnectionActive(settingsPath)|| defaultPathConnectionPath.contains(settingsPath))
-         cpPriv->state |= QNetworkConfiguration::Active;
- 
-     if (deviceType == DEVICE_TYPE_ETHERNET) {
-@@ -829,14 +786,8 @@ QNetworkSessionPrivate *QNetworkManagerE
- 
- QNetworkConfigurationPrivatePointer QNetworkManagerEngine::defaultConfiguration()
- {
--    QHashIterator<QString, QNetworkManagerConnectionActive*> i(activeConnectionsList);
--    while (i.hasNext()) {
--        i.next();
--        QNetworkManagerConnectionActive *activeConnection = i.value();
--        if ((activeConnection->defaultRoute() || activeConnection->default6Route())) {
--            return accessPointConfigurations.value(activeConnection->connection().path());
--        }
--    }
-+    if (!defaultPathConnectionPath.isEmpty())
-+        return accessPointConfigurations.value(defaultPathConnectionPath);
- 
-     return QNetworkConfigurationPrivatePointer();
- }
-Index: qtbase-opensource-src-5.4.1+dfsg/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h
-===================================================================
---- qtbase-opensource-src-5.4.1+dfsg.orig/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h
-+++ qtbase-opensource-src-5.4.1+dfsg/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h
-@@ -97,10 +97,8 @@ private Q_SLOTS:
-     void newConnection(const QDBusObjectPath &path, QNetworkManagerSettings *settings = 0);
-     void removeConnection(const QString &path);
-     void updateConnection();
--    void activationFinished(QDBusPendingCallWatcher *watcher);
--    void deviceConnectionsChanged(const QStringList &activeConnectionsList);
- 
--    void wiredCarrierChanged(bool);
-+    void activationFinished(QDBusPendingCallWatcher *watcher);
- 
-     void nmRegistered(const QString &serviceName = QString());
-     void nmUnRegistered(const QString &serviceName = QString());
-@@ -138,6 +136,7 @@ private:
-     bool isActiveContext(const QString &contextPath);
-     bool nmAvailable;
-     void setupConfigurations();
-+    QString defaultPathConnectionPath;
- };
- 
- QT_END_NAMESPACE
-Index: qtbase-opensource-src-5.4.1+dfsg/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
-===================================================================
---- qtbase-opensource-src-5.4.1+dfsg.orig/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
-+++ qtbase-opensource-src-5.4.1+dfsg/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp
-@@ -228,20 +228,8 @@ void QNetworkManagerInterface::propertie
-     while (i.hasNext()) {
-         i.next();
-         propertyMap.insert(i.key(),i.value());
--
--        if (i.key() == QLatin1String("State")) {
--            quint32 state = i.value().toUInt();
--            if (state == NM_DEVICE_STATE_ACTIVATED
--                || state == NM_DEVICE_STATE_DISCONNECTED
--                || state == NM_DEVICE_STATE_UNAVAILABLE
--                || state == NM_DEVICE_STATE_FAILED) {
--                Q_EMIT propertiesChanged(map);
--                Q_EMIT stateChanged(state);
--            }
--        } else if (i.key() == QLatin1String("ActiveConnections")) {
--            Q_EMIT propertiesChanged(map);
--        }
-     }
-+    Q_EMIT propertiesChanged(map);
- }
- 
- QNetworkManagerInterfaceAccessPoint::QNetworkManagerInterfaceAccessPoint(const QString &dbusPathName, QObject *parent)
-@@ -411,25 +399,36 @@ QDBusObjectPath QNetworkManagerInterface
-     return QDBusObjectPath();
- }
- 
-+QStringList QNetworkManagerInterfaceDevice::availableConnections() const
-+{
-+    return availableConnectionPaths;
-+}
-+
- void QNetworkManagerInterfaceDevice::propertiesSwap(QMap<QString,QVariant> map)
- {
-     QMapIterator<QString, QVariant> i(map);
-     while (i.hasNext()) {
-         i.next();
--        if (i.key() == QLatin1String("AvailableConnections")) { //Device
--            const QDBusArgument &dbusArgs = i.value().value<QDBusArgument>();
--            QDBusObjectPath path;
--            QStringList paths;
--            dbusArgs.beginArray();
--            while (!dbusArgs.atEnd()) {
--                dbusArgs >> path;
--                paths << path.path();
--            }
--            dbusArgs.endArray();
--            Q_EMIT connectionsChanged(paths);
--        }
-         propertyMap.insert(i.key(),i.value());
-     }
-+
-+    if (map.contains(QLatin1String("AvailableConnections"))) {
-+        availableConnectionPaths.clear();
-+        const QDBusArgument &dbusArgs = map.value("ActiveConnections").value<QDBusArgument>();
-+        QDBusObjectPath path;
-+        dbusArgs.beginArray();
-+        while (!dbusArgs.atEnd()) {
-+            dbusArgs >> path;
-+            availableConnectionPaths << path.path();
-+        }
-+        dbusArgs.endArray();
-+        Q_EMIT connectionsChanged(availableConnectionPaths);
-+    }
-+    if (map.contains(QLatin1String("State"))) {
-+        quint32 state = map.value("State").toUInt();
-+        Q_EMIT stateChanged(state);
-+    }
-+
-     Q_EMIT propertiesChanged(map);
- }
- 
-@@ -1007,20 +1006,21 @@ bool QNetworkManagerConnectionActive::de
-     return false;
- }
- 
-+QString QNetworkManagerConnectionActive::type() const
-+{
-+    if (propertyMap.contains("Type"))
-+        return propertyMap.value("Type").toString();
-+    return QString();
-+}
-+
- void QNetworkManagerConnectionActive::propertiesSwap(QMap<QString,QVariant> map)
- {
-     QMapIterator<QString, QVariant> i(map);
-     while (i.hasNext()) {
-         i.next();
-         propertyMap.insert(i.key(),i.value());
--        if (i.key() == QLatin1String("State")) {
--            quint32 state = i.value().toUInt();
--            if (state == NM_ACTIVE_CONNECTION_STATE_ACTIVATED
--                || state == NM_ACTIVE_CONNECTION_STATE_DEACTIVATED) {
--                Q_EMIT propertiesChanged(map);
--            }
--        }
-     }
-+    Q_EMIT propertiesChanged(map);
- }
- 
- QNetworkManagerIp4Config::QNetworkManagerIp4Config( const QString &deviceObjectPath, QObject *parent)
-Index: qtbase-opensource-src-5.4.1+dfsg/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h
-===================================================================
---- qtbase-opensource-src-5.4.1+dfsg.orig/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h
-+++ qtbase-opensource-src-5.4.1+dfsg/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h
-@@ -79,6 +79,8 @@ typedef enum
-     NM_DEVICE_STATE_CONFIG = 50,
-     NM_DEVICE_STATE_NEED_AUTH = 60,
-     NM_DEVICE_STATE_IP_CONFIG = 70,
-+    NM_DEVICE_STATE_IP_CHECK = 80,
-+    NM_DEVICE_STATE_SECONDARIES = 90,
-     NM_DEVICE_STATE_ACTIVATED = 100,
-     NM_DEVICE_STATE_DEACTIVATING = 110,
-     NM_DEVICE_STATE_FAILED = 120
-@@ -89,6 +91,7 @@ typedef enum
-     NM_ACTIVE_CONNECTION_STATE_UNKNOWN = 0,
-     NM_ACTIVE_CONNECTION_STATE_ACTIVATING,
-     NM_ACTIVE_CONNECTION_STATE_ACTIVATED,
-+    NM_ACTIVE_CONNECTION_STATE_DEACTIVATING,
-     NM_ACTIVE_CONNECTION_STATE_DEACTIVATED = 4
- } NMActiveConnectionState;
- 
-@@ -261,11 +264,12 @@ public:
-     quint32 ip4Address() const;
-     quint32 state() const;
-     quint32 deviceType() const;
-+    QStringList availableConnections() const;
- 
-     QDBusObjectPath ip4config() const;
- 
- Q_SIGNALS:
--    void stateChanged(const QString &, quint32);
-+    void stateChanged(quint32);
-     void propertiesChanged(QMap<QString,QVariant>);
-     void connectionsChanged(QStringList);
-     void propertiesReady();
-@@ -273,6 +277,7 @@ private Q_SLOTS:
-     void propertiesSwap(QMap<QString,QVariant>);
- private:
-     QVariantMap propertyMap;
-+    QStringList availableConnectionPaths;
- };
- 
- class QNetworkManagerInterfaceDeviceWired : public QDBusAbstractInterface
-@@ -454,6 +459,7 @@ public:
-     quint32 state() const;
-     bool defaultRoute() const;
-     bool default6Route() const;
-+    QString type() const;
- 
- 
- Q_SIGNALS:
diff --git a/debian/patches/series b/debian/patches/series
index c0dc661..29acf30 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -20,10 +20,4 @@ armv4.diff
 
 # Ubuntu specific.
 qt5-qmake-arm-linux-gnueabihf
-Add-workaround-for-GL-on-Android-emulator.patch
 #enable-tests.patch
-skip-largefile-test-s390x.patch
-#qnam-ubuntu-fix6.patch
-#disable_overlay_scrollbars.diff
-qdbus-tray-icon-always-save-icon-in-unity.patch
-qdbus-tray-icon-use-runtimedir.patch
diff --git a/debian/patches/skip-largefile-test-s390x.patch b/debian/patches/skip-largefile-test-s390x.patch
deleted file mode 100644
index 6e5221d..0000000
--- a/debian/patches/skip-largefile-test-s390x.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Description: Skip largefile test on s390x too, in addition to amd64.
-Author: Dimitri John Ledkov <xnox at ubuntu.com>
-
---- qtbase-opensource-src-5.5.1+dfsg.orig/tests/auto/corelib/io/largefile/tst_largefile.cpp
-+++ qtbase-opensource-src-5.5.1+dfsg/tests/auto/corelib/io/largefile/tst_largefile.cpp
-@@ -511,7 +511,7 @@ void tst_LargeFile::mapOffsetOverflow()
-         uchar *address = 0;
- 
-         address = largeFile.map(((qint64)1 << i), blockSize);
--#if defined(__x86_64__)
-+#if defined(__x86_64__) || defined(Q_PROCESSOR_S390_X)
-         QEXPECT_FAIL("", "fails on 64-bit Linux (QTBUG-21175)", Abort);
- #endif
-         QVERIFY( !address );

-- 
qtbase packaging



More information about the pkg-kde-commits mailing list