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

List:       kde-commits
Subject:    KDE/kdebase/workspace/ksmserver
From:       Dirk Mueller <mueller () kde ! org>
Date:       2008-07-28 13:44:32
Message-ID: 1217252672.452875.30171.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 838679 by mueller:

delay paints to the logout dialog until the screen grabbing
is complete (fixes corruption of the logout effect). Patch
by Maksim Orlovich


 M  +1 -0      curtaineffect.cpp  
 M  +3 -0      fadeeffect.cpp  
 M  +4 -0      logouteffect.h  
 M  +6 -0      shutdowndlg.cpp  
 M  +1 -0      shutdowndlg.h  


--- trunk/KDE/kdebase/workspace/ksmserver/curtaineffect.cpp #838678:838679
@@ -41,6 +41,7 @@
 {
     currentY = 0;
     nextFrame();
+    emit initialized();
 }
 
 void CurtainEffect::nextFrame()
--- trunk/KDE/kdebase/workspace/ksmserver/fadeeffect.cpp #838678:838679
@@ -519,6 +519,9 @@
         return;
     }
 
+    // Let the owner know we're done.
+    emit initialized();
+
     // Start the fade effect
     blender->setImage(image);
     blender->setAlpha(alpha);
--- trunk/KDE/kdebase/workspace/ksmserver/logouteffect.h #838678:838679
@@ -29,11 +29,15 @@
 
 class LogoutEffect : public QObject
 {
+    Q_OBJECT
 public:
     virtual ~LogoutEffect();
     static LogoutEffect *create(QWidget *parent, QPixmap *pixmap);
     virtual void start() = 0;
 
+Q_SIGNALS:
+    void initialized();
+
 protected:
     LogoutEffect(QWidget *parent, QPixmap *pixmap);
 
--- trunk/KDE/kdebase/workspace/ksmserver/shutdowndlg.cpp #838678:838679
@@ -89,8 +89,14 @@
 void KSMShutdownFeedback::slotPaintEffect()
 {
     effect = LogoutEffect::create(this, &m_pixmap);
+    connect(effect, SIGNAL(initialized()),
+            this,   SLOT  (slotPaintEffectInitialized()));
+
     effect->start();
+}
 
+void KSMShutdownFeedback::slotPaintEffectInitialized()
+{
     initialized = true;
 }
 
--- trunk/KDE/kdebase/workspace/ksmserver/shutdowndlg.h #838678:838679
@@ -56,6 +56,7 @@
 
 private Q_SLOTS:
     void slotPaintEffect();
+    void slotPaintEffectInitialized();
 
 private:
     static KSMShutdownFeedback * s_pSelf;
[prev in list] [next in list] [prev in thread] [next in thread] 

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