[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