backport "crash on start if system bus is not available" (QTBUG-51299)
This commit is contained in:
parent
0030abbcaf
commit
5523e1423f
|
@ -0,0 +1,43 @@
|
|||
From 469e293286f7b9ea093fdac41938e00082c70bcd Mon Sep 17 00:00:00 2001
|
||||
From: Thiago Macieira <thiago.macieira@intel.com>
|
||||
Date: Mon, 22 Feb 2016 14:44:30 -0800
|
||||
Subject: [PATCH 2/6] Fix crash when a standard bus isn't available
|
||||
|
||||
Commit 1f6fa1f37a14742ddf53c753ce52d9dc048cd1dc added a way of
|
||||
suspending delivery of messages to standard buses when they connect and
|
||||
resuming delivery when the main loop starts. As a side-effect, we caused
|
||||
an attempt to do dispatching even after the connection failed. The D-Bus
|
||||
library doesn't like that.
|
||||
|
||||
Task-number: QTBUG-51299
|
||||
Change-Id: I0c94a5c2846b48c8aea7ffff143564f7fcede890
|
||||
Reviewed-by: David Faure <david.faure@kdab.com>
|
||||
---
|
||||
src/dbus/qdbusconnection.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
|
||||
index 7f44272..34b3da7 100644
|
||||
--- a/src/dbus/qdbusconnection.cpp
|
||||
+++ b/src/dbus/qdbusconnection.cpp
|
||||
@@ -208,7 +208,7 @@ QDBusConnectionPrivate *QDBusConnectionManager::connectToBus(QDBusConnection::Bu
|
||||
data.suspendedDelivery = suspendedDelivery;
|
||||
|
||||
emit connectionRequested(&data);
|
||||
- if (suspendedDelivery) {
|
||||
+ if (suspendedDelivery && data.result->connection) {
|
||||
data.result->ref.ref();
|
||||
QDBusConnectionDispatchEnabler *o = new QDBusConnectionDispatchEnabler(data.result);
|
||||
QTimer::singleShot(0, o, SLOT(execute()));
|
||||
@@ -291,7 +291,7 @@ void QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::Co
|
||||
// will lock in QDBusConnectionPrivate::connectRelay()
|
||||
d->setConnection(c, error);
|
||||
d->createBusService();
|
||||
- if (data->suspendedDelivery)
|
||||
+ if (c && data->suspendedDelivery)
|
||||
d->setDispatchEnabled(false);
|
||||
}
|
||||
}
|
||||
--
|
||||
2.5.0
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
Summary: Qt5 - QtBase components
|
||||
Name: qt5-qtbase
|
||||
Version: 5.6.0
|
||||
Release: 0.37.%{prerelease}%{?dist}
|
||||
Release: 0.38.%{prerelease}%{?dist}
|
||||
|
||||
# See LGPL_EXCEPTIONS.txt, for exception details
|
||||
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
||||
|
@ -101,6 +101,9 @@ Patch100: qt5-qtbase-5.6.0-el6-sqrt.patch
|
|||
|
||||
## upstream patches
|
||||
|
||||
Patch102: 0002-Fix-crash-when-a-standard-bus-isn-t-available.patch
|
||||
|
||||
|
||||
# recently passed code review, not integrated yet
|
||||
# https://codereview.qt-project.org/126102/
|
||||
Patch150: moc-get-the-system-defines-from-the-compiler-itself.patch
|
||||
|
@ -357,6 +360,8 @@ RPM macros for building Qt5 packages.
|
|||
|
||||
%patch100 -p1 -b .sqrt
|
||||
|
||||
%patch102 -p1 -b .QTBUG-51299
|
||||
|
||||
%patch150 -p1 -b .moc_system_defines
|
||||
%patch176 -p1 -b .0076
|
||||
|
||||
|
@ -953,6 +958,9 @@ fi
|
|||
|
||||
|
||||
%changelog
|
||||
* Mon Mar 07 2016 Rex Dieter <rdieter@fedoraproject.org> 5.6.0-0.38.rc
|
||||
- backport "crash on start if system bus is not available" (QTBUG-51299)
|
||||
|
||||
* Sat Mar 05 2016 Rex Dieter <rdieter@fedoraproject.org> 5.6.0-0.37.rc
|
||||
- %build: ./configure -journal (f24+)
|
||||
|
||||
|
|
Loading…
Reference in New Issue