[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdebase/kdesktop/lock
From: Luboš Luňák <l.lunak () kde ! org>
Date: 2004-08-16 13:55:42
Message-ID: 20040816135542.C540316B7A () office ! kde ! org
[Download RAW message or body]
CVS commit by lunakl:
Save and restore what's painted on the window to help lame screensavers.
CCMAIL: 81553-done@bugs.kde.org
M +8 -0 lockprocess.cc 1.38
M +2 -0 lockprocess.h 1.17
--- kdebase/kdesktop/lock/lockprocess.cc #1.37:1.38
@@ -788,5 +788,9 @@ void LockProcess::suspend()
{
if(!mSuspended)
+ {
mHackProc.kill(SIGSTOP);
+ QApplication::syncX();
+ mSavedScreen = QPixmap::grabWindow( winId());
+ }
mSuspended = true;
}
@@ -799,5 +803,9 @@ void LockProcess::resume()
return; // no need to resume, not visible
if(mSuspended)
+ {
+ bitBlt( this, 0, 0, &mSavedScreen );
+ QApplication::syncX();
mHackProc.kill(SIGCONT);
+ }
mSuspended = false;
}
--- kdebase/kdesktop/lock/lockprocess.h #1.16:1.17
@@ -18,4 +18,5 @@
#include <qvaluestack.h>
#include <qmessagebox.h>
+#include <qpixmap.h>
#include <X11/Xlib.h>
@@ -120,4 +121,5 @@ private:
QString mMethod;
GreeterPluginHandle greetPlugin;
+ QPixmap mSavedScreen;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic