[Digikam-devel] [Bug 112467] slow showing of thumbnails

Renchi Raju renchi.raju at kdemail.net
Mon Sep 19 04:02:20 BST 2005


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=112467         




------- Additional Comments From renchi.raju kdemail net  2005-09-19 05:02 -------
SVN commit 461900 by pahlibar:

in kdelibs 3.5, the default behavior of kio::job has
changed, the job is not immediately deleted on emitResult,
but scheduled for a deferred delete. since, we were relying
on the immediate delete behavior, it ended up causing the
loading of thumbnails to slow down or stop completely. correct
for new behavior.

can the bugreporters verify that this fixes the problem?
CCBUGS: 112467


 M  +3 -1      albumfolderview.cpp  
 M  +1 -5      imagedescedit.cpp  
 M  +3 -0      imagepropertiesexif.cpp  
 M  +3 -0      imagepropertiesgeneral.cpp  
 M  +3 -0      imagepropertieshistogram.cpp  
 M  +3 -0      pixmapmanager.cpp  
 M  +1 -1      syncjob.cpp  


--- trunk/extragear/graphics/digikam/digikam/albumfolderview.cpp #461899:461900
 @ -212,7 +212,9  @
 
 AlbumFolderView::~AlbumFolderView()
 {
-    delete d->iconThumbJob;
+    if (d->iconThumbJob)
+        d->iconThumbJob->kill();
+
     delete d;
 }
 
--- trunk/extragear/graphics/digikam/digikam/imagedescedit.cpp #461899:461900
 @ -399,13 +399,9  @
     if (!m_thumbJob.isNull())
     {
         m_thumbJob->kill();
+        m_thumbJob = 0;
     }
 
-    if (!m_thumbJob.isNull())
-    {
-        delete m_thumbJob;
-    }
-
     ImageInfo* info = m_currItem->imageInfo();
     KURL fileURL;
     fileURL.setPath(info->filePath());
--- trunk/extragear/graphics/digikam/digikam/imagepropertiesexif.cpp #461899:461900
 @ -87,7 +87,10  @
 {
 
     if (!m_thumbJob.isNull())
+    {
         m_thumbJob->kill();
+        m_thumbJob = 0;
+    }
 
     m_thumbJob = new ThumbnailJob(url, 48, true, AlbumSettings::instance()->getExifRotate());
     
--- trunk/extragear/graphics/digikam/digikam/imagepropertiesgeneral.cpp #461899:461900
 @ -152,7 +152,10  @
     // ------------------------------------------------------------------------------
 
     if (!m_thumbJob.isNull())
+    {
         m_thumbJob->kill();
+        m_thumbJob = 0;
+    }
     
     m_thumbJob = new ThumbnailJob(url, 128, true, AlbumSettings::instance()->getExifRotate());
     
--- trunk/extragear/graphics/digikam/digikam/imagepropertieshistogram.cpp #461899:461900
 @ -295,7 +295,10  @
 void ImagePropertiesHistogram::setData(const KURL& url, uint* imageData, int imageWidth, int imageHeight)
 {
     if (!m_thumbJob.isNull())
+    {
         m_thumbJob->kill();
+        m_thumbJob = 0;
+    }
 
     m_thumbJob = new ThumbnailJob(url, 48, true, AlbumSettings::instance()->getExifRotate());
     
--- trunk/extragear/graphics/digikam/digikam/pixmapmanager.cpp #461899:461900
 @ -165,7 +165,10  @
 void PixmapManager::slotCompleted()
 {
     if (!m_thumbJob.isNull())
+    {
         m_thumbJob->kill();
+        m_thumbJob = 0;
+    }
 
     AlbumIconItem* item = m_view->nextItemToThumbnail();
     if (!item)
--- trunk/extragear/graphics/digikam/digikam/syncjob.cpp #461899:461900
 @ -176,7 +176,7  @
                 SLOT(slotLoadThumbnailFailed()));
 
         enter_loop();
-        delete job;
+        job->kill();
     }
     else
     {



More information about the Digikam-devel mailing list