summaryrefslogtreecommitdiffstats
path: root/redhat/tdebase/kdebase-3.5.13-fix_multihead_desktop_lock.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/tdebase/kdebase-3.5.13-fix_multihead_desktop_lock.patch')
-rw-r--r--redhat/tdebase/kdebase-3.5.13-fix_multihead_desktop_lock.patch297
1 files changed, 0 insertions, 297 deletions
diff --git a/redhat/tdebase/kdebase-3.5.13-fix_multihead_desktop_lock.patch b/redhat/tdebase/kdebase-3.5.13-fix_multihead_desktop_lock.patch
deleted file mode 100644
index f2aed5a2d..000000000
--- a/redhat/tdebase/kdebase-3.5.13-fix_multihead_desktop_lock.patch
+++ /dev/null
@@ -1,297 +0,0 @@
-Index: kdesktop/lock/lockdlg.cc
-===================================================================
---- kdesktop/lock/lockdlg.cc (revision 1261452)
-+++ kdesktop/lock/lockdlg.cc (working copy)
-@@ -115,7 +115,7 @@
- frame->setFrameStyle( TQFrame::Panel | TQFrame::Raised );
- frame->setLineWidth( 2 );
-
-- TQLabel *pixLabel;
-+ TQLabel *pixLabel = NULL;
- if (!trinity_desktop_lock_use_system_modal_dialogs) {
- pixLabel = new TQLabel( frame, "pixlabel" );
- pixLabel->setPixmap(DesktopIcon("lock"));
-@@ -134,7 +134,7 @@
- i18n("<nobr><b>The session was locked by %1</b><br>").arg( user.fullName() ), frame );
- }
-
-- TQLabel *lockDTLabel;
-+ TQLabel *lockDTLabel = NULL;
- if ((trinity_desktop_lock_use_system_modal_dialogs) && (!m_lockStartDT.isNull())) {
- lockDTLabel = new TQLabel(i18n("This session has been locked since %1").arg(m_lockStartDT.toString()), frame);
- }
-Index: kdesktop/lock/lockprocess.cc
-===================================================================
---- kdesktop/lock/lockprocess.cc (revision 1261452)
-+++ kdesktop/lock/lockprocess.cc (working copy)
-@@ -173,6 +173,7 @@
- mDialogControlLock(false),
- mForceReject(false),
- currentDialog(NULL),
-+ mEnsureScreenHiddenTimer(NULL),
- mForceContinualLockDisplayTimer(NULL),
- mEnsureVRootWindowSecurityTimer(NULL),
- mHackDelayStartupTimer(NULL),
-@@ -288,6 +289,10 @@
- hackResumeTimer->stop();
- delete hackResumeTimer;
- }
-+ if (mEnsureScreenHiddenTimer != NULL) {
-+ mEnsureScreenHiddenTimer->stop();
-+ delete mEnsureScreenHiddenTimer;
-+ }
- if (mForceContinualLockDisplayTimer != NULL) {
- mForceContinualLockDisplayTimer->stop();
- delete mForceContinualLockDisplayTimer;
-@@ -410,7 +415,7 @@
- if (numread > 0) {
- if (readbuf[0] == 'C') {
- mInfoMessageDisplayed=false;
-- while (mDialogControlLock == true) sleep(1);
-+ while (mDialogControlLock == true) usleep(100000);
- mDialogControlLock = true;
- if (currentDialog != NULL) {
- mForceReject = true;
-@@ -423,7 +428,7 @@
- to_display = to_display.remove(0,1);
- // Lock out password dialogs and close any active dialog
- mInfoMessageDisplayed=true;
-- while (mDialogControlLock == true) sleep(1);
-+ while (mDialogControlLock == true) usleep(100000);
- mDialogControlLock = true;
- if (currentDialog != NULL) {
- mForceReject = true;
-@@ -444,7 +449,7 @@
- to_display = to_display.remove(0,1);
- // Lock out password dialogs and close any active dialog
- mInfoMessageDisplayed=true;
-- while (mDialogControlLock == true) sleep(1);
-+ while (mDialogControlLock == true) usleep(100000);
- mDialogControlLock = true;
- if (currentDialog != NULL) {
- mForceReject = true;
-@@ -468,7 +473,7 @@
- to_display = to_display.remove(0,1);
- // Lock out password dialogs and close any active dialog
- mInfoMessageDisplayed=true;
-- while (mDialogControlLock == true) sleep(1);
-+ while (mDialogControlLock == true) usleep(100000);
- mDialogControlLock = true;
- if (currentDialog != NULL) {
- mForceReject = true;
-@@ -887,8 +892,13 @@
- mRootWidth = rootAttr.width;
- mRootHeight = rootAttr.height;
-
-+ // Resize the background widget
- setGeometry(0, 0, mRootWidth, mRootHeight);
-
-+ // Black out the background widget to hide ugly resize tiling artifacts
-+ setBackgroundColor(black);
-+ erase();
-+
- // This slot needs to be able to execute very rapidly so as to prevent the user's desktop from ever
- // being displayed, so we finish the hack restarting/display prettying operations in a separate timed slot
- if (resizeTimer == NULL) {
-@@ -902,7 +912,7 @@
- {
- stopHack();
-
-- while (mDialogControlLock == true) sleep(1);
-+ while (mDialogControlLock == true) usleep(100000);
- mDialogControlLock = true;
- if (closeCurrentWindow()) {
- TQTimer::singleShot( 0, this, SLOT(doDesktopResizeFinish()) );
-@@ -911,7 +921,13 @@
- mDialogControlLock = false;
-
- // Restart the hack as the window size is now different
-- startHack();
-+ if (trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_forced && trinity_desktop_lock_use_system_modal_dialogs) {
-+ ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
-+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
-+ }
-+ else {
-+ startHack();
-+ }
-
- mBusy = false;
- }
-@@ -1064,7 +1080,7 @@
-
- if (!grabKeyboard())
- {
-- sleep(1);
-+ usleep(100000);
- if (!grabKeyboard())
- {
- return false;
-@@ -1073,7 +1089,7 @@
-
- if (!grabMouse())
- {
-- sleep(1);
-+ usleep(100000);
- if (!grabMouse())
- {
- XUngrabKeyboard(qt_xdisplay(), CurrentTime);
-@@ -1117,7 +1133,7 @@
- m_grayImage.fill(0); // Set the alpha buffer to 0 (fully transparent)
- m_grayImage.setAlphaBuffer(true);
- TQPixmap m_root;
-- m_root.resize( TQApplication::desktop()->geometry().width(), TQApplication::desktop()->geometry().height() );
-+ m_root.resize(mRootWidth, mRootHeight);
- TQPainter p;
- p.begin( &m_root );
- m_grayImage.setAlphaBuffer(false);
-@@ -1144,14 +1160,21 @@
- setBackgroundColor(black);
- else
- setBackgroundPixmap(backingPixmap);
-+ setGeometry(0, 0, mRootWidth, mRootHeight);
- erase();
- }
- if (trinity_desktop_lock_use_system_modal_dialogs) {
- // Try to get the root pixmap
-- m_rootPixmap = new KRootPixmap(this);
-+ if (!m_rootPixmap) m_rootPixmap = new KRootPixmap(this);
- m_rootPixmap->setCustomPainting(true);
- connect(m_rootPixmap, TQT_SIGNAL(backgroundUpdated(const TQPixmap &)), this, TQT_SLOT(slotPaintBackground(const TQPixmap &)));
- m_rootPixmap->start();
-+ // Sometimes KRootPixmap fails...make sure the desktop is hidden regardless
-+ if (!mEnsureScreenHiddenTimer) {
-+ mEnsureScreenHiddenTimer = new TQTimer( this );
-+ connect( mEnsureScreenHiddenTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotForcePaintBackground()) );
-+ }
-+ mEnsureScreenHiddenTimer->start(2000, true);
- }
-
- if (trinity_desktop_lock_in_sec_dlg == FALSE) {
-@@ -1275,6 +1298,7 @@
- if (!mHackProc.isRunning()) {
- if (backingPixmap.isNull()) {
- setBackgroundColor(black);
-+ setGeometry(0, 0, mRootWidth, mRootHeight);
- erase();
- }
- else {
-@@ -1298,6 +1322,7 @@
- setBackgroundColor(black);
- else
- setBackgroundPixmap(backingPixmap);
-+ setGeometry(0, 0, mRootWidth, mRootHeight);
- erase();
- return false;
- }
-@@ -1344,6 +1369,7 @@
- setBackgroundColor(black);
- else
- setBackgroundPixmap(backingPixmap);
-+ setGeometry(0, 0, mRootWidth, mRootHeight);
- erase();
- mSuspended = false;
- }
-@@ -1377,7 +1403,10 @@
- else
- setBackgroundPixmap(backingPixmap);
- }
-- if (backingPixmap.isNull()) erase();
-+ if (backingPixmap.isNull()) {
-+ setGeometry(0, 0, mRootWidth, mRootHeight);
-+ erase();
-+ }
- else bitBlt(this, 0, 0, &backingPixmap);
- if (trinity_desktop_lock_use_system_modal_dialogs) {
- ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
-@@ -1416,7 +1445,10 @@
- else
- setBackgroundPixmap(backingPixmap);
- }
-- if (backingPixmap.isNull()) erase();
-+ if (backingPixmap.isNull()) {
-+ setGeometry(0, 0, mRootWidth, mRootHeight);
-+ erase();
-+ }
- else bitBlt(this, 0, 0, &backingPixmap);
- if (!mSuspended) {
- if (trinity_desktop_lock_use_system_modal_dialogs) {
-@@ -1492,6 +1524,7 @@
- setBackgroundColor(black);
- else
- setBackgroundPixmap(backingPixmap);
-+ setGeometry(0, 0, mRootWidth, mRootHeight);
- erase();
- return;
- }
-@@ -1597,10 +1630,13 @@
- }
- mDialogs.prepend( dlg );
- fakeFocusIn( dlg->winId());
-- if (backingPixmap.isNull() && trinity_desktop_lock_use_system_modal_dialogs) erase();
-+ if (backingPixmap.isNull() && trinity_desktop_lock_use_system_modal_dialogs) {
-+ setGeometry(0, 0, mRootWidth, mRootHeight);
-+ erase();
-+ }
- else bitBlt(this, 0, 0, &backingPixmap);
- int rt = dlg->exec();
-- while (mDialogControlLock == true) sleep(1);
-+ while (mDialogControlLock == true) usleep(100000);
- currentDialog = NULL;
- mDialogs.remove( dlg );
- if( mDialogs.isEmpty() ) {
-@@ -1624,8 +1660,18 @@
- return rt;
- }
-
-+void LockProcess::slotForcePaintBackground()
-+{
-+ TQPixmap blankPixmap(mRootWidth, mRootHeight);
-+ blankPixmap.fill(Qt::black);
-+ slotPaintBackground(blankPixmap);
-+ printf("[WARNING] Unable to obtain desktop wallpaper in a timely manner. High system load or possibly a TDE bug!\n\r"); fflush(stdout);
-+}
-+
- void LockProcess::slotPaintBackground(const TQPixmap &rpm)
- {
-+ mEnsureScreenHiddenTimer->stop();
-+
- TQPixmap pm = rpm;
-
- if (TQPaintDevice::x11AppDepth() == 32) {
-@@ -1652,6 +1698,7 @@
- backingPixmap = pm;
- if (trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_forced) {
- setBackgroundPixmap(backingPixmap);
-+ setGeometry(0, 0, mRootWidth, mRootHeight);
- erase();
- }
- }
-@@ -1677,7 +1724,7 @@
- mBusy=true;
- TQTimer::singleShot(1000, this, TQT_SLOT(slotDeadTimePassed()));
- if (mkeyCode == XKeysymToKeycode(qt_xdisplay(), XF86XK_Display)) {
-- while (mDialogControlLock == true) sleep(1);
-+ while (mDialogControlLock == true) usleep(100000);
- mDialogControlLock = true;
- currentDialog->close(); // DO NOT use closeCurrentWindow() here!
- mDialogControlLock = false;
-Index: kdesktop/lock/lockprocess.h
-===================================================================
---- kdesktop/lock/lockprocess.h (revision 1261452)
-+++ kdesktop/lock/lockprocess.h (working copy)
-@@ -74,6 +74,7 @@
- void doDesktopResizeFinish();
- void doFunctionKeyBroadcast();
- void slotPaintBackground(const TQPixmap &pm);
-+ void slotForcePaintBackground();
-
- protected:
- virtual bool x11Event(XEvent *);
-@@ -181,6 +182,7 @@
- bool mForceReject;
- TQDialog *currentDialog;
-
-+ TQTimer* mEnsureScreenHiddenTimer;
- TQTimer* mForceContinualLockDisplayTimer;
- TQTimer* mEnsureVRootWindowSecurityTimer;
- TQTimer* mHackDelayStartupTimer;