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

List:       kde-bugs-dist
Subject:    [Bug 112467] slow showing of thumbnails
From:       Renchi Raju <renchi.raju () kdemail ! net>
Date:       2005-09-19 3:02:21
Message-ID: 20050919030221.14474.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
         
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
     {


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

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