Bug 146072

Summary: Slideshow shows black screen
Product: [Applications] digikam Reporter: Geoff King <gsking1>
Component: Plugin-Generic-SlideShowAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: marcel.wiesweg
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In: 0.9.2
Sentry Crash Report:

Description Geoff King 2007-05-28 15:20:01 UTC
Version:           0.9.2-beta2 (using KDE 3.5.6, Kubuntu (feisty) 4:3.5.6-0ubuntu14)
Compiler:          Target: i486-linux-gnu
OS:                Linux (i686) release 2.6.20-16-generic

If I select 'Side show' from the 'View' menu or icon, the the slide show only shows a black screen.  A mouse pointer is visible that blinks on and off, presumably at picture changes.  

The 'Advanced SlideShow' under the 'Tools' menu works fine and does not have this problem. 

Also, just noticed that there are different spellings of "Slide Show" and "SlideShow".
Comment 1 krienke 2007-05-29 16:09:20 UTC
I just downloaded and installed digikam 0.9.2 beta2. And now I have the same problem. View->slideshow does only show a black screen. 

Rainer
Comment 2 caulier.gilles 2007-05-29 16:48:57 UTC
Rainer,

You want mean than with 0.9.2-beta1, you don't have this problem ?

Witch file format you trying to display ?

Gilles Caulier
Comment 3 caulier.gilles 2007-05-29 17:31:38 UTC
ok i confirm this bug. I can reproduce it everywhere.

Marcel,

This sound like a bug relevant of "threadimageio" again ?

Like we have changed a lots this implementation between 0.9.2-beta1 and beta2, we need regression tests indeep (:=)))

Gilles
Comment 4 caulier.gilles 2007-05-29 18:00:25 UTC
SVN commit 669532 by cgilles:

digikam from trunk : fix Slideshow and Threaded Image IO interface witch is broken since the last one is ported from QImage to Dimg
BUG: 146072


 M  +8 -7      slideshow.cpp  
 M  +2 -1      slideshow.h  


--- trunk/extragear/graphics/digikam/utilities/slideshow/slideshow.cpp #669531:669532
@@ -44,6 +44,7 @@
 // Local includes.
 
 #include "ddebug.h"
+#include "dimg.h"
 #include "toolbar.h"
 #include "previewloadthread.h"
 #include "slideshow.h"
@@ -81,7 +82,7 @@
 
     QPixmap            pixmap;
 
-    QImage             preview;
+    DImg               preview;
 
     KURL               currentImage;
 
@@ -149,8 +150,8 @@
     d->timer                = new QTimer();
     d->mouseMoveTimer       = new QTimer();
 
-    connect(d->previewThread, SIGNAL(signalPreviewLoaded(const LoadingDescription &, const QImage &)),
-            this, SLOT(slotGotImagePreview(const LoadingDescription &, const QImage&)));
+    connect(d->previewThread, SIGNAL(signalImageLoaded(const LoadingDescription &, const DImg &)),
+            this, SLOT(slotGotImagePreview(const LoadingDescription &, const DImg&)));
 
     connect(d->mouseMoveTimer, SIGNAL(timeout()),
             this, SLOT(slotMouseMoveTimeOut()));
@@ -221,7 +222,7 @@
     else
     {
         d->currentImage = KURL();
-        d->preview = QImage();
+        d->preview = DImg();
         updatePixmap();
         update();
     }
@@ -256,14 +257,14 @@
     else
     {
         d->currentImage = KURL();
-        d->preview = QImage();
+        d->preview = DImg();
         updatePixmap();
         update();
     }
 
 }
 
-void SlideShow::slotGotImagePreview(const LoadingDescription&, const QImage& preview)
+void SlideShow::slotGotImagePreview(const LoadingDescription&, const DImg& preview)
 {
     d->preview = preview;
 
@@ -310,7 +311,7 @@
         {
             // Preview extraction is complete... Draw the image.
 
-            QPixmap pix(d->preview.smoothScale(size(), QImage::ScaleMin));
+            QPixmap pix(d->preview.smoothScale(width(), height(), QSize::ScaleMin).convertToPixmap());
             p.drawPixmap((width()-pix.width())/2,
                          (height()-pix.height())/2, pix,
                          0, 0, pix.width(), pix.height());
--- trunk/extragear/graphics/digikam/utilities/slideshow/slideshow.h #669531:669532
@@ -37,6 +37,7 @@
 namespace Digikam
 {
 
+class DImg;
 class SlideShowPriv;
 
 class DIGIKAM_EXPORT SlideShow : public QWidget
@@ -62,7 +63,7 @@
 
     void slotTimeOut();
     void slotMouseMoveTimeOut();
-    void slotGotImagePreview(const LoadingDescription &, const QImage &);
+    void slotGotImagePreview(const LoadingDescription &, const DImg &);
 
     void slotPause();
     void slotPlay();
Comment 5 Geoff King 2007-05-29 18:26:31 UTC
Fixed for Me. 
Comment 6 Gerhard Kulzer 2007-05-29 18:50:00 UTC
Am Tuesday 29 May 2007 schrieb Geoff King:
[bugs.kde.org quoted mail]

Yes, it's fixed.

Gerhard