[SCM] qtbase packaging branch, ubuntu, updated. debian/5.5.0+dfsg-4-50-g5dd6ccc

Timo Jyrinki timo at moszumanska.debian.org
Thu Oct 1 15:00:29 UTC 2015


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

The following commit has been merged in the ubuntu branch:
commit 5dd6cccad64546ab4432175c6f5b3db3b1a8bd16
Author: Timo Jyrinki <timo.jyrinki at canonical.com>
Date:   Thu Oct 1 14:59:28 2015 +0000

    debian/patches/Make-sure-networkAccessibilityChanged-is-emitted.patch
    
    * debian/patches/Make-sure-networkAccessibilityChanged-is-emitted.patch:
      - Include a network fix from Qt 5.5 branch (merged after 5.5.1), but
        disable it until 5.5.1 is out that has two pre-required patches
        (LP: #1470700)
---
 debian/changelog                                   |   4 +
 ...re-networkAccessibilityChanged-is-emitted.patch | 233 +++++++++++++++++++++
 debian/patches/series                              |   1 +
 3 files changed, 238 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 40aef81..26bb177 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -15,6 +15,10 @@ qtbase-opensource-src (5.5.0+dfsg-4ubuntu1) UNRELEASED; urgency=medium
       Add-an-option-to-skip-the-generic-bearer-engine.patch
     - Drop qopenglframebufferobject_powervrworkaround.patch, replace with
       Blacklist-PowerVR-Rogue-G6200-v1.3-from-supporting-B.patch
+  * debian/patches/Make-sure-networkAccessibilityChanged-is-emitted.patch:
+    - Include a network fix from Qt 5.5 branch (merged after 5.5.1), but 
+      disable it until 5.5.1 is out that has two pre-required patches
+      (LP: #1470700)
 
  -- Timo Jyrinki <timo-jyrinki at ubuntu.com>  Tue, 24 Mar 2015 13:56:14 +0000
 
diff --git a/debian/patches/Make-sure-networkAccessibilityChanged-is-emitted.patch b/debian/patches/Make-sure-networkAccessibilityChanged-is-emitted.patch
new file mode 100644
index 0000000..9cdda58
--- /dev/null
+++ b/debian/patches/Make-sure-networkAccessibilityChanged-is-emitted.patch
@@ -0,0 +1,233 @@
+From bb281eea179d50a413f4ec1ff172d27ee48d3a41 Mon Sep 17 00:00:00 2001
+From: Lorn Potter <lorn.potter at gmail.com>
+Date: Fri, 17 Jul 2015 15:32:23 +1000
+Subject: [PATCH] Make sure networkAccessibilityChanged is emitted
+
+Task-number: QTBUG-46323
+Change-Id: I8297072b62763136f457ca6ae15282d1c22244f4
+Reviewed-by: Timo Jyrinki <timo.jyrinki at canonical.com>
+Reviewed-by: Alex Blasche <alexander.blasche at theqtcompany.com>
+---
+ src/network/access/qnetworkaccessmanager.cpp       | 70 +++++++++++++++-------
+ src/network/access/qnetworkaccessmanager_p.h       | 14 ++++-
+ .../tst_qnetworkaccessmanager.cpp                  | 31 +++++-----
+ 3 files changed, 77 insertions(+), 38 deletions(-)
+
+diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
+index 84931cb..f9e9513 100644
+--- a/src/network/access/qnetworkaccessmanager.cpp
++++ b/src/network/access/qnetworkaccessmanager.cpp
+@@ -278,7 +278,8 @@ static void ensureInitialized()
+ 
+     \snippet code/src_network_access_qnetworkaccessmanager.cpp 4
+ 
+-    Network requests can be reenabled again by calling
++    Network requests can be re-enabled again, and this property will resume to
++    reflect the actual device state by calling
+ 
+     \snippet code/src_network_access_qnetworkaccessmanager.cpp 5
+ 
+@@ -467,16 +468,12 @@ QNetworkAccessManager::QNetworkAccessManager(QObject *parent)
+     qRegisterMetaType<QSharedPointer<char> >();
+ 
+ #ifndef QT_NO_BEARERMANAGEMENT
+-    if (!d->networkSessionRequired) {
+-        // if a session is required, we track online state through
+-        // the QNetworkSession's signals
+-        connect(&d->networkConfigurationManager, SIGNAL(onlineStateChanged(bool)),
+-                SLOT(_q_onlineStateChanged(bool)));
+-    }
+-    // we would need all active configurations to check for
+-    // d->networkConfigurationManager.isOnline(), which is asynchronous
+-    // and potentially expensive. We can just check the configuration here
+-    d->online = (d->networkConfiguration.state() & QNetworkConfiguration::Active);
++    // if a session is required, we track online state through
++    // the QNetworkSession's signals if a request is already made.
++    // we need to track current accessibility state by default
++    //
++    connect(&d->networkConfigurationManager, SIGNAL(onlineStateChanged(bool)),
++            SLOT(_q_onlineStateChanged(bool)));
+ #endif
+ }
+ 
+@@ -946,7 +943,8 @@ QNetworkConfiguration QNetworkAccessManager::activeConfiguration() const
+ void QNetworkAccessManager::setNetworkAccessible(QNetworkAccessManager::NetworkAccessibility accessible)
+ {
+     Q_D(QNetworkAccessManager);
+-    d->defaultAccessControl = false;
++
++    d->defaultAccessControl = accessible == NotAccessible ? false : true;
+ 
+     if (d->networkAccessible != accessible) {
+         NetworkAccessibility previous = networkAccessible();
+@@ -965,6 +963,10 @@ void QNetworkAccessManager::setNetworkAccessible(QNetworkAccessManager::NetworkA
+ QNetworkAccessManager::NetworkAccessibility QNetworkAccessManager::networkAccessible() const
+ {
+     Q_D(const QNetworkAccessManager);
++
++    if (d->networkConfiguration.state().testFlag(QNetworkConfiguration::Undefined))
++        return UnknownAccessibility;
++
+     if (d->networkSessionRequired) {
+         QSharedPointer<QNetworkSession> networkSession(d->getNetworkSession());
+         if (networkSession) {
+@@ -1622,32 +1624,56 @@ void QNetworkAccessManagerPrivate::_q_networkSessionStateChanged(QNetworkSession
+     if (online) {
+         if (state != QNetworkSession::Connected && state != QNetworkSession::Roaming) {
+             online = false;
+-            networkAccessible = QNetworkAccessManager::NotAccessible;
+-            emit q->networkAccessibleChanged(networkAccessible);
++            if (networkAccessible != QNetworkAccessManager::NotAccessible) {
++                networkAccessible = QNetworkAccessManager::NotAccessible;
++                emit q->networkAccessibleChanged(networkAccessible);
++            }
+         }
+     } else {
+         if (state == QNetworkSession::Connected || state == QNetworkSession::Roaming) {
+             online = true;
+             if (defaultAccessControl)
+-                networkAccessible = QNetworkAccessManager::Accessible;
+-            emit q->networkAccessibleChanged(networkAccessible);
++                if (networkAccessible != QNetworkAccessManager::Accessible) {
++                    networkAccessible = QNetworkAccessManager::Accessible;
++                    emit q->networkAccessibleChanged(networkAccessible);
++                }
+         }
+     }
+ }
+ 
+ void QNetworkAccessManagerPrivate::_q_onlineStateChanged(bool isOnline)
+ {
+-    // if the user set a config, we only care whether this one is active.
++   Q_Q(QNetworkAccessManager);
++   // if the user set a config, we only care whether this one is active.
+     // Otherwise, this QNAM is online if there is an online config.
+     if (customNetworkConfiguration) {
+         online = (networkConfiguration.state() & QNetworkConfiguration::Active);
+     } else {
+-        if (isOnline && online != isOnline) {
+-            networkSessionStrongRef.clear();
+-            networkSessionWeakRef.clear();
++        if (online != isOnline) {
++            if (isOnline) {
++                networkSessionStrongRef.clear();
++                networkSessionWeakRef.clear();
++            }
++            online = isOnline;
++        }
++    }
++    if (online) {
++        if (defaultAccessControl) {
++            if (networkAccessible != QNetworkAccessManager::Accessible) {
++                networkAccessible = QNetworkAccessManager::Accessible;
++                emit q->networkAccessibleChanged(networkAccessible);
++            }
++        }
++    } else if (networkConfiguration.state().testFlag(QNetworkConfiguration::Undefined)) {
++        if (networkAccessible != QNetworkAccessManager::UnknownAccessibility) {
++            networkAccessible = QNetworkAccessManager::UnknownAccessibility;
++            emit q->networkAccessibleChanged(networkAccessible);
++        }
++    } else {
++        if (networkAccessible != QNetworkAccessManager::NotAccessible) {
++            networkAccessible = QNetworkAccessManager::NotAccessible;
++            emit q->networkAccessibleChanged(networkAccessible);
+         }
+-
+-        online = isOnline;
+     }
+ }
+ 
+diff --git a/src/network/access/qnetworkaccessmanager_p.h b/src/network/access/qnetworkaccessmanager_p.h
+index c715da0..54ae114 100644
+--- a/src/network/access/qnetworkaccessmanager_p.h
++++ b/src/network/access/qnetworkaccessmanager_p.h
+@@ -78,7 +78,6 @@ public:
+           customNetworkConfiguration(false),
+           networkSessionRequired(networkConfigurationManager.capabilities()
+                                  & QNetworkConfigurationManager::NetworkSessionRequired),
+-          networkAccessible(QNetworkAccessManager::Accessible),
+           activeReplyCount(0),
+           online(false),
+           initializeSession(true),
+@@ -86,7 +85,18 @@ public:
+           cookieJarCreated(false),
+           defaultAccessControl(true),
+           authenticationManager(QSharedPointer<QNetworkAccessAuthenticationManager>::create())
+-    { }
++    {
++#ifndef QT_NO_BEARERMANAGEMENT
++        // we would need all active configurations to check for
++        // d->networkConfigurationManager.isOnline(), which is asynchronous
++        // and potentially expensive. We can just check the configuration here
++        online = (networkConfiguration.state().testFlag(QNetworkConfiguration::Active));
++        if (online)
++            networkAccessible = QNetworkAccessManager::Accessible;
++        else
++            networkAccessible = QNetworkAccessManager::NotAccessible;
++#endif
++    }
+     ~QNetworkAccessManagerPrivate();
+ 
+     void _q_replyFinished();
+diff --git a/tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp b/tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp
+index b4e4b9c..8ecb57d 100644
+--- a/tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp
++++ b/tests/auto/network/access/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp
+@@ -74,6 +74,10 @@ void tst_QNetworkAccessManager::networkAccessible()
+     // if there is no session, we cannot know in which state we are in
+     QNetworkAccessManager::NetworkAccessibility initialAccessibility =
+             manager.networkAccessible();
++
++    if (initialAccessibility == QNetworkAccessManager::UnknownAccessibility)
++          QSKIP("Unknown accessibility", SkipAll);
++
+     QCOMPARE(manager.networkAccessible(), initialAccessibility);
+ 
+     manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible);
+@@ -94,29 +98,28 @@ void tst_QNetworkAccessManager::networkAccessible()
+     QCOMPARE(manager.networkAccessible(), initialAccessibility);
+ 
+     QNetworkConfigurationManager configManager;
+-    bool sessionRequired = (configManager.capabilities()
+-                            & QNetworkConfigurationManager::NetworkSessionRequired);
+     QNetworkConfiguration defaultConfig = configManager.defaultConfiguration();
+     if (defaultConfig.isValid()) {
+         manager.setConfiguration(defaultConfig);
+ 
+-        // the accessibility has not changed if no session is required
+-        if (sessionRequired) {
++        QCOMPARE(spy.count(), 0);
++
++        if (defaultConfig.state().testFlag(QNetworkConfiguration::Active))
++            QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::Accessible);
++        else
++            QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible);
++
++        manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible);
++
++        if (defaultConfig.state().testFlag(QNetworkConfiguration::Active)) {
+             QCOMPARE(spy.count(), 1);
+-            QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(),
+-                     QNetworkAccessManager::Accessible);
++            QCOMPARE(QNetworkAccessManager::NetworkAccessibility(spy.takeFirst().at(0).toInt()),
++                     QNetworkAccessManager::NotAccessible);
+         } else {
+             QCOMPARE(spy.count(), 0);
+         }
+-        QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::Accessible);
+-
+-        manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible);
+-
+-        QCOMPARE(spy.count(), 1);
+-        QCOMPARE(QNetworkAccessManager::NetworkAccessibility(spy.takeFirst().at(0).toInt()),
+-                 QNetworkAccessManager::NotAccessible);
+-        QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible);
+     }
++    QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible);
+ #endif
+ }
+ 
+-- 
+2.5.0
+
diff --git a/debian/patches/series b/debian/patches/series
index 427fb81..682f2fd 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,6 +4,7 @@ Fix-compile-error-on-big-endian.patch
 Network-Fix-up-previous-corruption-patch.patch
 Add-an-option-to-skip-the-generic-bearer-engine.patch
 Blacklist-PowerVR-Rogue-G6200-v1.3-from-supporting-B.patch
+#Make-sure-networkAccessibilityChanged-is-emitted.patch
 
 # Debian specific.
 gnukfreebsd.diff

-- 
qtbase packaging



More information about the pkg-kde-commits mailing list