Hello community,

here is the log from the commit of package libqt4 for openSUSE:Factory checked 
in at 2013-01-20 12:17:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt4 (Old)
 and      /work/SRC/openSUSE:Factory/.libqt4.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libqt4", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt4/libqt4-devel-doc.changes  2013-01-10 
15:25:35.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libqt4.new/libqt4-devel-doc.changes     
2013-01-20 12:17:42.000000000 +0100
@@ -1,0 +2,7 @@
+Fri Jan 18 18:23:22 UTC 2013 - [email protected]
+
+- Added garbage-collect-deleted-objects.patch from upstream, 
+  Fixes performance issues in apps which register 
+  and deregister objects very frequently (like nepomukstorage)
+
+-------------------------------------------------------------------
libqt4-sql-plugins.changes: same change
libqt4.changes: same change

New:
----
  garbage-collect-deleted-objects.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libqt4-devel-doc.spec ++++++
--- /var/tmp/diff_new_pack.8YMEBn/_old  2013-01-20 12:17:50.000000000 +0100
+++ /var/tmp/diff_new_pack.8YMEBn/_new  2013-01-20 12:17:50.000000000 +0100
@@ -102,6 +102,9 @@
 Patch143:       openssl-incompatibility-fix.diff
 Patch144:       cert-blacklist-tuerktrust.diff
 Patch145:       cert-blacklist-more.diff
+# PATCH-FIX-UPSTREAM  garbage-collect-deleted-objects.patch Fixes performance 
issues in apps which register 
+# and deregister objects very frequently (like nepomukstorage)
+Patch146:       garbage-collect-deleted-objects.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
   %define common_options --opensource -fast -no-separate-debug-info -shared 
-xkb -openssl-linked -xrender -xcursor -dbus-linked -xfixes -xrandr -xinerama 
-sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups 
-stl -nis -system-zlib -prefix /usr -L %{_libdir} -libdir %{_libdir} -docdir 
%_docdir/%{base_name} -examplesdir %{_libdir}/qt4/examples -demosdir 
%{_libdir}/qt4/demos -plugindir %plugindir -translationdir 
%{_datadir}/qt4/translations -iconv -sysconfdir /etc/settings -datadir 
%{_datadir}/qt4/ -no-pch -reduce-relocations -exceptions -system-libtiff -glib 
-optimized-qmake -no-webkit -no-xmlpatterns -system-sqlite -qt3support 
-no-sql-mysql -importdir %plugindir/imports  -xsync -xinput -gtkstyle
@@ -181,6 +184,7 @@
 %patch143
 %patch144 -p1
 %patch145 -p1
+%patch146 -p1
 # ### 47 rediff
 #%patch121 -p1
 # be sure not to use them

libqt4-sql-plugins.spec: same change
libqt4.spec: same change


++++++ garbage-collect-deleted-objects.patch ++++++
From: David Faure <[email protected]>
Date: Tue, 15 Jan 2013 17:41:27 +0000
Subject: QtDBus: Garbage collect deleted objects now and then.
X-Git-Url: 
http://quickgit.kde.org/?p=qt.git&a=commitdiff&h=cf5442551196c3e7e06e6de85c5f8a198b0ff001
---
QtDBus: Garbage collect deleted objects now and then.

Fixes performance issues in apps which register and deregister objects
very frequently (like nepomukstorage).

Change-Id: Id7d6ef508336758c55fa894868241f143b3e30e0
Backport-Of: ac9ab9703ff299c94dca7585d5a12ecde28931bb
Reviewed-by: Thiago Macieira <[email protected]>
---


--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -2216,6 +2216,19 @@
     return signalHooks.erase(it);
 }
 
+
+static void cleanupDeletedNodes(QDBusConnectionPrivate::ObjectTreeNode &parent)
+{
+    QMutableVectorIterator<QDBusConnectionPrivate::ObjectTreeNode> 
it(parent.children);
+    while (it.hasNext()) {
+        QDBusConnectionPrivate::ObjectTreeNode& node = it.next();
+        if (node.obj == 0 && node.children.isEmpty())
+            it.remove();
+        else
+            cleanupDeletedNodes(node);
+    }
+}
+
 void QDBusConnectionPrivate::registerObject(const ObjectTreeNode *node)
 {
     connect(node->obj, SIGNAL(destroyed(QObject*)), 
SLOT(objectDestroyed(QObject*)),
@@ -2239,6 +2252,10 @@
                 this, SLOT(relaySignal(QObject*,const 
QMetaObject*,int,QVariantList)),
                 Qt::DirectConnection);
     }
+
+    static int counter = 0;
+    if ((++counter % 20) == 0)
+        cleanupDeletedNodes(rootNode);
 }
 
 void QDBusConnectionPrivate::connectRelay(const QString &service,



-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to