summaryrefslogtreecommitdiffstats
path: root/ksmserver
diff options
context:
space:
mode:
Diffstat (limited to 'ksmserver')
-rw-r--r--ksmserver/shutdowndlg.cpp14
-rw-r--r--ksmserver/shutdowndlg.h1
2 files changed, 10 insertions, 5 deletions
diff --git a/ksmserver/shutdowndlg.cpp b/ksmserver/shutdowndlg.cpp
index f6295a158..0c7211efd 100644
--- a/ksmserver/shutdowndlg.cpp
+++ b/ksmserver/shutdowndlg.cpp
@@ -1,6 +1,7 @@
/*****************************************************************
ksmserver - the KDE session management server
+Copyright (C) 2010 Timothy Pearson <[email protected]>
Copyright (C) 2000 Matthias Ettrich <[email protected]>
******************************************************************/
@@ -27,6 +28,7 @@ Copyright (C) 2000 Matthias Ettrich <[email protected]>
#include <tqpainter.h>
#include <tqfontmetrics.h>
#include <tqregexp.h>
+#include <tqeventloop.h>
#include <klocale.h>
#include <kconfig.h>
@@ -72,10 +74,12 @@ KSMShutdownFeedback::KSMShutdownFeedback()
m_unfadedImage(),
m_grayImage(),
m_fadeTime(),
- m_pmio()
+ m_pmio(),
+ m_greyImageCreated( FALSE )
{
- m_grayImage = TQImage::TQImage();
+ DCOPRef("kicker", "KMenu").call("hideMenu"); // Make sure the K Menu is completely removed from the screen before taking a snapshot...
+ m_grayImage = TQPixmap::grabWindow(qt_xrootwin(), 0, 0, TQApplication::desktop()->width(), TQApplication::desktop()->height()).convertToImage();
m_unfadedImage = TQImage::TQImage();
resize(0, 0);
setShown(true);
@@ -110,13 +114,13 @@ void KSMShutdownFeedback::slotPaintEffect()
// if slotPaintEffect() is called first time, we have to initialize the gray image
// we also could do that in the constructor, but then the displaying of the
// logout-UI would be too much delayed...
- if ( m_grayImage.isNull() )
+ if ( m_greyImageCreated == false )
{
+ m_greyImageCreated = true;
setBackgroundMode( TQWidget::NoBackground );
setGeometry( TQApplication::desktop()->geometry() );
m_root.resize( width(), height() ); // for the default logout
- m_grayImage = TQPixmap::grabWindow(qt_xrootwin(), 0, 0, TQApplication::desktop()->width(), TQApplication::desktop()->height()).convertToImage();
m_unfadedImage = m_grayImage.copy();
register uchar * r = m_grayImage.bits();
register uchar * g = m_grayImage.bits() + 1;
@@ -266,7 +270,7 @@ KSMShutdownDlg::KSMShutdownDlg( TQWidget* parent,
{
TQVBoxLayout* vbox = new TQVBoxLayout( this );
-
+
TQFrame* frame = new TQFrame( this );
frame->setFrameStyle( TQFrame::StyledPanel | TQFrame::Raised );
diff --git a/ksmserver/shutdowndlg.h b/ksmserver/shutdowndlg.h
index 79ee8ca37..65081e1c3 100644
--- a/ksmserver/shutdowndlg.h
+++ b/ksmserver/shutdowndlg.h
@@ -66,6 +66,7 @@ private:
TQTime m_fadeTime;
int m_rowsDone;
KPixmapIO m_pmio;
+ bool m_greyImageCreated;
};