[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/graphics/digikam/utilities/cameragui
From:       Gilles Caulier <caulier.gilles () gmail ! com>
Date:       2009-05-13 7:26:28
Message-ID: 1242199588.498885.24860.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 967291 by cgilles:

check if KService::Ptr is null


 M  +10 -7     umscamera.cpp  


--- trunk/extragear/graphics/digikam/utilities/cameragui/umscamera.cpp #967290:967291
@@ -49,6 +49,7 @@
 #include <kio/global.h>
 #include <kio/thumbcreator.h>
 #include <klibloader.h>
+#include <ksharedptr.h>
 #include <klocale.h>
 #include <kmimetype.h>
 #include <ktrader.h>
@@ -285,19 +286,20 @@
 
     kDebug(50003) << "Mimetype : " << mimeType << endl;
 
-    if (!KMimeTypeTrader::self())
+    KMimeTypeTrader *trader = KMimeTypeTrader::self();
+    if (!trader)
     {
         kDebug(50003) << "No KMimeTypeTrader instance to get thumb from KDE" << endl;
         return false;
     }
 
     QString plugin;
-    KService::List offers = KMimeTypeTrader::self()->query(mimeType, QLatin1String("ThumbCreator"));
+    KService::List offers = trader->query(mimeType, QLatin1String("ThumbCreator"));
     if (!offers.isEmpty())
     {
-        KService::Ptr serv;
-        serv   = offers.first();
-        plugin = serv->library();
+        KService::Ptr serv = offers.first();
+        if (!serv.isNull())
+            plugin = serv->library();
     }
 
     if (plugin.isEmpty())
@@ -311,13 +313,14 @@
     // Don't use KLibFactory here, this is not a QObject and
     // neither is ThumbCreator
 
-    if (!KLibLoader::self())
+    KLibLoader* loader = KLibLoader::self();
+    if (!loader)
     {
         kDebug(50003) << "No KLibLoader instance to get thumb from KDE" << endl;
         return false;
     }
 
-    KLibrary *library = KLibLoader::self()->library(QFile::encodeName(plugin));
+    KLibrary *library = loader->library(QFile::encodeName(plugin));
     if (!library)
     {
         kDebug(50003) << "Plugin library not found " << plugin << endl;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic