[kdebase-runtime/f14/master] backport to fix the freeze of kded on first use of the network:/kio-slave
Than Ngo
than at fedoraproject.org
Tue Aug 10 09:39:31 UTC 2010
commit 569526af65d13ff7a5c9676a8c99a79b0cb0bc31
Author: Than Ngo <than at redhat.com>
Date: Tue Aug 10 11:49:40 2010 +0200
backport to fix the freeze of kded on first use of the network:/kio-slave
kdebase-runtime-4.5.0-kioslave.patch | 35 ++++++++++++++++++++++++++++++++++
kdebase-runtime.spec | 17 +++++++++++++--
2 files changed, 49 insertions(+), 3 deletions(-)
---
diff --git a/kdebase-runtime-4.5.0-kioslave.patch b/kdebase-runtime-4.5.0-kioslave.patch
new file mode 100644
index 0000000..9504bf0
--- /dev/null
+++ b/kdebase-runtime-4.5.0-kioslave.patch
@@ -0,0 +1,35 @@
+diff -Nur kdebase-runtime-4.5.0/kioslave/network/network/builder/upnp/upnpnetworkbuilder.cpp kdebase-runtime-4.5.0.me/kioslave/network/network/builder/upnp/upnpnetworkbuilder.cpp
+--- kdebase-runtime-4.5.0/kioslave/network/network/builder/upnp/upnpnetworkbuilder.cpp 2010-07-12 23:08:17.000000000 +0200
++++ kdebase-runtime-4.5.0.me/kioslave/network/network/builder/upnp/upnpnetworkbuilder.cpp 2010-08-10 11:27:22.000000000 +0200
+@@ -36,6 +36,7 @@
+ #include <QtDBus/QDBusConnection>
+ #include <QtDBus/QDBusInterface>
+ #include <QtDBus/QDBusPendingCallWatcher>
++#include <QtCore/QTimer>
+ #include <QtCore/QStringList>
+
+ #include <KDebug>
+@@ -60,6 +61,11 @@
+
+ void UpnpNetworkBuilder::start()
+ {
++ QTimer::singleShot(0, this, SLOT(startBrowse()));
++}
++
++void UpnpNetworkBuilder::startBrowse()
++{
+ qDBusRegisterMetaType<DeviceTypeMap>();
+ qDBusRegisterMetaType<Cagibi::Device>();
+
+diff -Nur kdebase-runtime-4.5.0/kioslave/network/network/builder/upnp/upnpnetworkbuilder.h kdebase-runtime-4.5.0.me/kioslave/network/network/builder/upnp/upnpnetworkbuilder.h
+--- kdebase-runtime-4.5.0/kioslave/network/network/builder/upnp/upnpnetworkbuilder.h 2010-07-12 23:08:17.000000000 +0200
++++ kdebase-runtime-4.5.0.me/kioslave/network/network/builder/upnp/upnpnetworkbuilder.h 2010-08-10 11:27:22.000000000 +0200
+@@ -63,6 +63,8 @@
+ void removeUPnPDevices( const QList<Cagibi::Device>& devices );
+
+ private Q_SLOTS:
++ void startBrowse();
++
+ void onDevicesAdded( const DeviceTypeMap& deviceTypeMap );
+ void onDevicesRemoved( const DeviceTypeMap& deviceTypeMap );
+ void onAddedDeviceDetails( const Cagibi::Device& device );
diff --git a/kdebase-runtime.spec b/kdebase-runtime.spec
index aa7a7b2..70fdef6 100644
--- a/kdebase-runtime.spec
+++ b/kdebase-runtime.spec
@@ -6,7 +6,7 @@
Name: kdebase-runtime
Summary: KDE Runtime
Version: 4.5.0
-Release: 1%{?dist}
+Release: 3%{?dist}
# http://techbase.kde.org/Policies/Licensing_Policy
License: LGPLv2+
@@ -24,7 +24,10 @@ Patch5: kdebase-runtime-4.3.1-manpath.patch
# add OnlyShowIn=KDE to Desktop/Home.desktop (like trash.desktop)
Patch6: kdebase-runtime-4.3.3-home_onlyshowin_kde.patch
-## 4.4 Upstream patches
+## 4.5 Upstream patches
+# backport of 1160390, fixed: start call to cagibi only in next event loop, could be started
+# in on-demand load by a d-bus call ourself, so d-bus connection has a mutex locked already
+Patch100: kdebase-runtime-4.5.0-kioslave.patch
%if 0%{?fedora} && 0%{?fedora} < 12
# kcm_filetypes moved to here
@@ -95,6 +98,8 @@ Group: System Environment/Libraries
Requires: kdelibs4%{?_isa} >= %{version}
Requires: kdepimlibs%{?_isa} >= %{version}
Requires: %{name} = %{version}-%{release}
+# cagibi is runtime dep, a dbus service
+Requires: cagibi
%description libs
%{summary}.
@@ -116,7 +121,7 @@ BuildArch: noarch
%patch3 -p1 -b .iconthemes-inherit
#patch5 -p1 -b .manpath
%patch6 -p1 -b .home_onlyshowin_kde
-
+%patch100 -p1 -b .kioslave
%build
mkdir -p %{_target_platform}
@@ -244,6 +249,12 @@ fi
%changelog
+* Tue Aug 10 2010 Than Ngo <than at redhat.com> - 4.5.0-3
+- backport to fix the freeze of kded on first use of the network:/kio-slave
+
+* Fri Aug 06 2010 Jaroslav Reznik <jreznik at redhat.com> - 4.5.0-2
+- requires cagibi
+
* Tue Aug 03 2010 Than Ngo <than at redhat.com> - 4.5.0-1
- 4.5.0
More information about the scm-commits
mailing list