File avoid-dbus-deadlock.diff of Package libqt4

--- a/configure
+++ b/configure
@@ -617,7 +617,7 @@ fi
 unset QTDIR
 
 # the minimum version of libdbus-1 that we require:
-MIN_DBUS_1_VERSION=0.62
+MIN_DBUS_1_VERSION=0.93
 
 # initalize internal variables
 CFG_CONFIGURE_EXIT_ON_ERROR=yes

From bb13e2d43c664359aa61fc39c31f75a5c3fb4f5e Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@nokia.com>
Date: Wed, 7 Oct 2009 12:04:44 +0200
Subject: [PATCH 2/2] Use dbus_threads_init_default instead of QMutex wrappers

The minimum version for the recursive mutexes is D-Bus 0.93. That's
also the same version that introduced the default thread functions. So
we don't need to provide ours anymore, just use the default.
---
 src/dbus/dbus.pro            |    1 -
 src/dbus/qdbus_symbols_p.h   |    3 +
 src/dbus/qdbusintegrator.cpp |    2 +-
 src/dbus/qdbusthread.cpp     |  149 ------------------------------------------
 4 files changed, 4 insertions(+), 151 deletions(-)
 delete mode 100644 src/dbus/qdbusthread.cpp

diff --git a/src/dbus/dbus.pro b/src/dbus/dbus.pro
index dcd8418..57c6a58 100644
--- a/src/dbus/dbus.pro
+++ b/src/dbus/dbus.pro
@@ -61,7 +61,6 @@ SOURCES += qdbusconnection.cpp  \
 	qdbusutil.cpp		\
 	qdbusintrospection.cpp	\
 	qdbusabstractadaptor.cpp \
-	qdbusthread.cpp \
 	qdbusinternalfilters.cpp \
 	qdbusmetaobject.cpp	\
 	qdbusxmlgenerator.cpp	\
diff --git a/src/dbus/qdbus_symbols_p.h b/src/dbus/qdbus_symbols_p.h
index bc90328..69c6ee4 100644
--- a/src/dbus/qdbus_symbols_p.h
+++ b/src/dbus/qdbus_symbols_p.h
@@ -357,6 +357,9 @@ DEFINEFUNC(dbus_bool_t     , dbus_type_is_basic, (int            typecode),
 DEFINEFUNC(dbus_bool_t     , dbus_type_is_fixed, (int            typecode),
            (typecode), return)
 
+/* dbus-thread.h */
+DEFINEFUNC(dbus_bool_t     , dbus_threads_init_default, (), (), return)
+
 QT_END_NAMESPACE
 
 #endif
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index 6ff50ac..8143cba 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -920,7 +920,7 @@ QDBusConnectionPrivate::QDBusConnectionPrivate(QObject *p)
       watchAndTimeoutLock(QMutex::Recursive),
       rootNode(QString(QLatin1Char('/')))
 {
-    static const bool threads = qDBusInitThreads();
+    static const bool threads = q_dbus_threads_init_default();
     static const int debugging = ::isDebugging = qgetenv("QDBUS_DEBUG").toInt();
     Q_UNUSED(threads)
openSUSE Build Service is sponsored by