diff --git a/0002-Fix-crash-when-a-standard-bus-isn-t-available.patch b/0002-Fix-crash-when-a-standard-bus-isn-t-available.patch new file mode 100644 index 0000000..5c15004 --- /dev/null +++ b/0002-Fix-crash-when-a-standard-bus-isn-t-available.patch @@ -0,0 +1,43 @@ +From 469e293286f7b9ea093fdac41938e00082c70bcd Mon Sep 17 00:00:00 2001 +From: Thiago Macieira +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 +--- + 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 + diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index f47e06b..866981f 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -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 5.6.0-0.38.rc +- backport "crash on start if system bus is not available" (QTBUG-51299) + * Sat Mar 05 2016 Rex Dieter 5.6.0-0.37.rc - %build: ./configure -journal (f24+)