Hello community,

here is the log from the commit of package kdelibs4 for openSUSE:Factory 
checked in at 2012-05-10 14:32:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdelibs4 (Old)
 and      /work/SRC/openSUSE:Factory/.kdelibs4.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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

Changes:
--------
--- /work/SRC/openSUSE:Factory/kdelibs4/kdelibs4-apidocs.changes        
2012-04-17 21:59:01.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdelibs4.new/kdelibs4-apidocs.changes   
2012-05-10 14:32:33.000000000 +0200
@@ -1,0 +2,6 @@
+Sun Apr 29 20:52:53 UTC 2012 - [email protected]
+
+- update to 4.8.3
+  * see http://kde.org/announcements/changelogs/changelog4_8_2to4_8_3.php for 
details
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/kdelibs4/kdelibs4.changes        2012-04-17 
21:59:01.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdelibs4.new/kdelibs4.changes   2012-05-10 
14:32:33.000000000 +0200
@@ -1,0 +2,6 @@
+Sun Apr 29 20:52:53 UTC 2012 - [email protected]
+
+- update to 4.8.3
+  * see http://kde.org/announcements/changelogs/changelog4_8_2to4_8_3.php for 
details
+
+-------------------------------------------------------------------
@@ -31,0 +38,9 @@
+
+-------------------------------------------------------------------
+Tue Mar  6 01:21:08 UTC 2012 - [email protected]
+
+- fix crash due to race in fstabstorageaccess constructor
+- cache fstabstorageaccess interface instance
+- solid udisks/upower backends:
+  * fix solid call to org.freedesktop.Properties.GetAll
+  * do not call Properties method on Root object

Old:
----
  kdelibs-4.8.2.tar.xz

New:
----
  fix_kdeclarative_install_location.diff
  kdelibs-4.8.3.tar.xz
  solid_fstab_cache_storageaccess.diff
  solid_fstab_fix_race.diff
  solid_udisks_upower_fix_properties.diff

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

Other differences:
------------------
++++++ kdelibs4-apidocs.spec ++++++
--- /var/tmp/diff_new_pack.K8w0Ts/_old  2012-05-10 14:32:39.000000000 +0200
+++ /var/tmp/diff_new_pack.K8w0Ts/_new  2012-05-10 14:32:39.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           kdelibs4-apidocs
-Version:        4.8.2
+Version:        4.8.3
 Release:        0
 Summary:        KDE 4 API documentation
 License:        LGPL-2.1+

++++++ kdelibs4.spec ++++++
--- /var/tmp/diff_new_pack.K8w0Ts/_old  2012-05-10 14:32:39.000000000 +0200
+++ /var/tmp/diff_new_pack.K8w0Ts/_new  2012-05-10 14:32:39.000000000 +0200
@@ -24,7 +24,7 @@
 %define kderev 0 
 
 Name:           kdelibs4
-Version:        4.8.2
+Version:        4.8.3
 Release:        0
 BuildRequires:  OpenEXR-devel
 BuildRequires:  alsa-devel
@@ -114,6 +114,10 @@
 Patch20:        ignore-inline-menu.diff
 Patch24:        ksuseinstall.diff
 Patch25:        fix_kcalc_shortcut.diff
+Patch26:        fix_kdeclarative_install_location.diff
+Patch28:        solid_udisks_upower_fix_properties.diff
+Patch29:        solid_fstab_fix_race.diff
+Patch30:        solid_fstab_cache_storageaccess.diff
 PreReq:         permissions
 Requires:       soprano >= %( echo `rpm -q --queryformat '%{VERSION}' 
libsoprano-devel`)
 Recommends:     strigi >= %( echo `rpm -q --queryformat '%{VERSION}' 
strigi-devel`)
@@ -180,6 +184,10 @@
 %patch20
 %patch24
 %patch25
+%patch26 -p1
+%patch28 -p1
+%patch29 -p1
+%patch30 -p1
 
 #
 # define KDE version exactly
@@ -487,6 +495,7 @@
 %exclude %{_kde4_libdir}/libksuseinstall.so
 
 %{_kde4_appsdir}/cmake
+%{_kde4_libdir}/cmake/KDeclarative
 %{_kde4_includedir}/*
 %{_kde4_libdir}/*.so
 %{_kde4_libdir}/kde4/plugins/script/libkrossqtsplugin.so
@@ -518,6 +527,7 @@
 %doc %lang(en) %{_kde4_htmldir}/en/sonnet
 
 %exclude %{_kde4_appsdir}/cmake
+%exclude %{_kde4_libdir}/cmake/KDeclarative
 %if %suse_version > 1200
 %exclude %{_kde4_appsdir}/kdeui/about
 %else

++++++ fix_kdeclarative_install_location.diff ++++++
Index: kdelibs-4.8.3/experimental/libkdeclarative/CMakeLists.txt
===================================================================
--- kdelibs-4.8.3.orig/experimental/libkdeclarative/CMakeLists.txt
+++ kdelibs-4.8.3/experimental/libkdeclarative/CMakeLists.txt
@@ -6,6 +6,9 @@ endif(KDE_PLATFORM_FEATURE_BINARY_COMPAT
 
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-kdeclarative.h.cmake 
${CMAKE_CURRENT_BINARY_DIR}/config-kdeclarative.h)
 
+set (LIB_SUFFIX "" CACHE STRING "Define suffix of library directory name (eg. 
'64')")
+set( LIB_INSTALL_DIR lib${LIB_SUFFIX} )
+
 include_directories(
    ${CMAKE_SOURCE_DIR}
    ${CMAKE_BINARY_DIR}
++++++ solid_fstab_cache_storageaccess.diff ++++++
diff --git a/solid/solid/backends/fstab/fstabdevice.cpp 
b/solid/solid/backends/fstab/fstabdevice.cpp
index 4a4dcee..30a961a 100644
--- a/solid/solid/backends/fstab/fstabdevice.cpp
+++ b/solid/solid/backends/fstab/fstabdevice.cpp
@@ -77,8 +77,11 @@ QString FstabDevice::icon() const
 QStringList FstabDevice::emblems() const
 {
     QStringList res;
-    const FstabStorageAccess accessIface(const_cast<FstabDevice *>(this));
-    if (accessIface.isAccessible()) {
+    if (!m_storageAccess) {
+        FstabDevice* d = const_cast<FstabDevice *>(this);
+        d->m_storageAccess = new FstabStorageAccess(d);
+    }
+    if (m_storageAccess->isAccessible()) {
         res << "emblem-mounted";
     } else {
         res << "emblem-unmounted";
@@ -104,7 +107,9 @@ bool FstabDevice::queryDeviceInterface(const 
Solid::DeviceInterface::Type &type)
 QObject* FstabDevice::createDeviceInterface(const Solid::DeviceInterface::Type 
&type)
 {
     if (type == Solid::DeviceInterface::StorageAccess) {
-        return new FstabStorageAccess(this);
+        if (!m_storageAccess)
+            m_storageAccess = new FstabStorageAccess(this);
+        return m_storageAccess;
     } else if (type == Solid::DeviceInterface::NetworkShare) {
         return new FstabNetworkShare(this);
     }
diff --git a/solid/solid/backends/fstab/fstabdevice.h 
b/solid/solid/backends/fstab/fstabdevice.h
index 07279f8..bac409e 100644
--- a/solid/solid/backends/fstab/fstabdevice.h
+++ b/solid/solid/backends/fstab/fstabdevice.h
@@ -23,6 +23,8 @@
 
 #include <solid/ifaces/device.h>
 #include <QtCore/QStringList>
+#include <QtCore/QPointer>
+#include "fstabstorageaccess.h"
 
 namespace Solid
 {
@@ -72,6 +74,7 @@ namespace Fstab
             QString m_product;
             QString m_vendor;
             QString m_description;
+            QPointer<FstabStorageAccess> m_storageAccess;
     };
 
 }
++++++ solid_fstab_fix_race.diff ++++++
diff --git a/solid/solid/backends/fstab/fstabstorageaccess.cpp 
b/solid/solid/backends/fstab/fstabstorageaccess.cpp
index 6af83cf..5482d48 100644
--- a/solid/solid/backends/fstab/fstabstorageaccess.cpp
+++ b/solid/solid/backends/fstab/fstabstorageaccess.cpp
@@ -37,7 +37,8 @@ 
FstabStorageAccess::FstabStorageAccess(Solid::Backends::Fstab::FstabDevice *devi
 {
     QStringList currentMountPoints = 
FstabHandling::currentMountPoints(device->device());
     if (currentMountPoints.isEmpty()) {
-        m_filePath = FstabHandling::mountPoints(device->device()).first();
+        QStringList mountPoints = FstabHandling::mountPoints(device->device());
+        m_filePath = mountPoints.isEmpty() ? QString() : mountPoints.first();
         m_isAccessible = false;
     } else {
         m_filePath = currentMountPoints.first();
++++++ solid_udisks_upower_fix_properties.diff ++++++
diff --git a/solid/solid/backends/udisks/udisksdevice.cpp 
b/solid/solid/backends/udisks/udisksdevice.cpp
index 638531e..80ea072 100644
--- a/solid/solid/backends/udisks/udisksdevice.cpp
+++ b/solid/solid/backends/udisks/udisksdevice.cpp
@@ -706,6 +706,7 @@ QMap<QString, QVariant> UDisksDevice::allProperties() const
 {
     QDBusMessage call = QDBusMessage::createMethodCall(m_device->service(), 
m_device->path(),
                                                        
"org.freedesktop.DBus.Properties", "GetAll");
+    call << m_device->interface();
     QDBusPendingReply< QVariantMap > reply = 
QDBusConnection::systemBus().asyncCall(call);
     reply.waitForFinished();
 
diff --git a/solid/solid/backends/udisks/udisksmanager.cpp 
b/solid/solid/backends/udisks/udisksmanager.cpp
index 01db48f..e18cc66 100644
--- a/solid/solid/backends/udisks/udisksmanager.cpp
+++ b/solid/solid/backends/udisks/udisksmanager.cpp
@@ -108,6 +108,9 @@ QStringList UDisksManager::devicesFromQuery(const QString& 
parentUdi, Solid::Dev
     {
         foreach (const QString &udi, deviceCache())
         {
+            if (udi==udiPrefix())
+                continue;
+
             UDisksDevice device(udi);
             if (device.queryDeviceInterface(type) && device.parentUdi() == 
parentUdi)
                 result << udi;
@@ -119,6 +122,9 @@ QStringList UDisksManager::devicesFromQuery(const QString& 
parentUdi, Solid::Dev
     {
         foreach (const QString &udi, deviceCache())
         {
+            if (udi==udiPrefix())
+                continue;
+
             UDisksDevice device(udi);
             if (device.queryDeviceInterface(type))
                 result << udi;
diff --git a/solid/solid/backends/upower/upowerdevice.cpp 
b/solid/solid/backends/upower/upowerdevice.cpp
index 0858f14..5b672c7 100644
--- a/solid/solid/backends/upower/upowerdevice.cpp
+++ b/solid/solid/backends/upower/upowerdevice.cpp
@@ -200,6 +200,7 @@ QMap<QString, QVariant> UPowerDevice::allProperties() const
 {
     QDBusMessage call = QDBusMessage::createMethodCall(m_device.service(), 
m_device.path(),
                                                        
"org.freedesktop.DBus.Properties", "GetAll");
+    call << m_device.interface();
     QDBusPendingReply< QVariantMap > reply = 
QDBusConnection::systemBus().asyncCall(call);
     reply.waitForFinished();
 
diff --git a/solid/solid/backends/upower/upowermanager.cpp 
b/solid/solid/backends/upower/upowermanager.cpp
index de2db75..bae234b 100644
--- a/solid/solid/backends/upower/upowermanager.cpp
+++ b/solid/solid/backends/upower/upowermanager.cpp
@@ -103,6 +103,9 @@ QStringList UPowerManager::devicesFromQuery(const QString& 
parentUdi, Solid::Dev
     {
         foreach (const QString & udi, allDev)
         {
+            if (udi==udiPrefix())
+                continue;
+
             UPowerDevice device(udi);
             if (device.queryDeviceInterface(type) && device.parentUdi() == 
parentUdi)
                 result << udi;
@@ -114,6 +117,9 @@ QStringList UPowerManager::devicesFromQuery(const QString& 
parentUdi, Solid::Dev
     {
         foreach (const QString & udi, allDev)
         {
+            if (udi==udiPrefix())
+                continue;
+
             UPowerDevice device(udi);
             if (device.queryDeviceInterface(type))
                 result << udi;

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

Reply via email to