summaryrefslogtreecommitdiffstats
path: root/redhat/kdebase/kdebase-3.5.13-allow_minimal_window_interaction_inside_lock_process.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/kdebase/kdebase-3.5.13-allow_minimal_window_interaction_inside_lock_process.patch')
-rw-r--r--redhat/kdebase/kdebase-3.5.13-allow_minimal_window_interaction_inside_lock_process.patch372
1 files changed, 0 insertions, 372 deletions
diff --git a/redhat/kdebase/kdebase-3.5.13-allow_minimal_window_interaction_inside_lock_process.patch b/redhat/kdebase/kdebase-3.5.13-allow_minimal_window_interaction_inside_lock_process.patch
deleted file mode 100644
index 1c022587d..000000000
--- a/redhat/kdebase/kdebase-3.5.13-allow_minimal_window_interaction_inside_lock_process.patch
+++ /dev/null
@@ -1,372 +0,0 @@
-commit 057932620ba8355a6506b9d437518e253ba14ed9
-Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
-Date: 1327619240 -0600
-
- Clean up lock screen internals
- This cleanup is part of an effort to resolve Bug 810, but a new Qt3 version is required to fully resolve it
-
-diff --git a/kdesktop/lock/autologout.cc b/kdesktop/lock/autologout.cc
-index 22b449c..bef39dd 100644
---- a/kdesktop/lock/autologout.cc
-+++ b/kdesktop/lock/autologout.cc
-@@ -82,6 +82,8 @@ AutoLogout::AutoLogout(LockProcess *parent) : TQDialog(parent, "password dialog"
- mCountdownTimerId = startTimer(1000/25);
-
- connect(tqApp, TQT_SIGNAL(activity()), TQT_SLOT(slotActivity()));
-+
-+ setFixedSize( sizeHint() );
- }
-
- AutoLogout::~AutoLogout()
-diff --git a/kdesktop/lock/infodlg.cc b/kdesktop/lock/infodlg.cc
-index f5f35b9..3fbc276 100644
---- a/kdesktop/lock/infodlg.cc
-+++ b/kdesktop/lock/infodlg.cc
-@@ -99,6 +99,7 @@ InfoDlg::InfoDlg(LockProcess *parent)
- frameLayout->addLayout( layStatus, 1, 1 );
-
- installEventFilter(this);
-+ setFixedSize( sizeHint() );
- }
-
- InfoDlg::~InfoDlg()
-diff --git a/kdesktop/lock/lockdlg.cc b/kdesktop/lock/lockdlg.cc
-index 0863a22..f3eeee0 100644
---- a/kdesktop/lock/lockdlg.cc
-+++ b/kdesktop/lock/lockdlg.cc
-@@ -215,6 +215,7 @@ void PasswordDlg::init(GreeterPluginHandle *plugin)
- mNewSessButton->hide();
-
- installEventFilter(this);
-+ setFixedSize( sizeHint() );
-
- mFailedTimerId = 0;
- mTimeoutTimerId = startTimer(PASSDLG_HIDE_TIMEOUT);
-@@ -598,6 +599,7 @@ void PasswordDlg::show()
- {
- TQDialog::show();
- TQApplication::flushX();
-+ setFixedSize( sizeHint() );
- }
-
- void PasswordDlg::slotStartNewSession()
-@@ -818,6 +820,8 @@ void PasswordDlg::slotSwitchUser()
- connect( btn, TQT_SIGNAL(clicked()), &dialog, TQT_SLOT(reject()) );
- vbox2->addWidget( btn );
-
-+ dialog.setFixedSize( dialog.sizeHint() );
-+
- int ret = static_cast< LockProcess* >(parent())->execDialog( &dialog );
- if (ret != TQDialog::Rejected) {
- TQDialog::reject();
-diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc
-index 5acc96e..9648bbc 100644
---- a/kdesktop/lock/lockprocess.cc
-+++ b/kdesktop/lock/lockprocess.cc
-@@ -4,7 +4,7 @@
- //
- // Copyright (c) 1999 Martin R. Jones <mjones@kde.org>
- // Copyright (c) 2003 Oswald Buddenhagen <ossi@kde.org>
--// Copyright (c) 2010-2011 Timothy Pearson <kb9vqf@pearsoncomputing.net>
-+// Copyright (c) 2010-2012 Timothy Pearson <kb9vqf@pearsoncomputing.net>
- //
-
- //kdesktop keeps running and checks user inactivity
-@@ -111,6 +111,10 @@ Status DPMSInfo ( Display *, CARD16 *, BOOL * );
- #define LOCK_GRACE_DEFAULT 5000
- #define AUTOLOGOUT_DEFAULT 600
-
-+// FIXME
-+// This should be defined if Qt 3.4.0 or higher is in use
-+// #define KEEP_MOUSE_UNGRABBED 1
-+
- // These lines are taken on 10/2009 from X.org (X11/XF86keysym.h), defining some special multimedia keys
- #define XF86XK_AudioMute 0x1008FF12
- #define XF86XK_AudioRaiseVolume 0x1008FF13
-@@ -183,6 +187,10 @@ LockProcess::LockProcess(bool child, bool useBlankOnly)
- mBackingStartupDelayTimer(0),
- m_startupStatusDialog(NULL)
- {
-+#ifdef KEEP_MOUSE_UNGRABBED
-+ setNFlags(WX11DisableMove|WX11DisableClose|WX11DisableShade|WX11DisableMinimize|WX11DisableMaximize);
-+#endif
-+
- setupSignals();
- setupPipe();
-
-@@ -267,7 +275,11 @@ LockProcess::LockProcess(bool child, bool useBlankOnly)
- #endif
-
- #if (QT_VERSION-0 >= 0x030200) // XRANDR support
-- connect( kapp->desktop(), TQT_SIGNAL( resized( int )), TQT_SLOT( desktopResized()));
-+ connect( kapp->desktop(), TQT_SIGNAL( resized( int )), TQT_SLOT( desktopResized()));
-+#endif
-+
-+#ifdef KEEP_MOUSE_UNGRABBED
-+ setEnabled(false);
- #endif
-
- greetPlugin.library = 0;
-@@ -874,7 +886,6 @@ void LockProcess::createSaverWindow()
- // this is a security risk and has been deactivated--welcome to the 21st century folks!
- // setBackgroundMode(TQWidget::NoBackground);
-
-- setCursor( tqblankCursor );
- setGeometry(0, 0, mRootWidth, mRootHeight);
-
- kdDebug(1204) << "Saver window Id: " << winId() << endl;
-@@ -884,7 +895,6 @@ void LockProcess::desktopResized()
- {
- mBusy = true;
- suspend();
-- setCursor( tqblankCursor );
-
- // Get root window size
- XWindowAttributes rootAttr;
-@@ -1087,6 +1097,7 @@ bool LockProcess::grabInput()
- }
- }
-
-+#ifndef KEEP_MOUSE_UNGRABBED
- if (!grabMouse())
- {
- usleep(100000);
-@@ -1096,6 +1107,7 @@ bool LockProcess::grabInput()
- return false;
- }
- }
-+#endif
-
- lockXF86();
-
-@@ -1150,7 +1162,6 @@ bool LockProcess::startSaver()
- createSaverWindow();
- move(0, 0);
- show();
-- setCursor( tqblankCursor );
-
- raise();
- XSync(qt_xdisplay(), False);
-@@ -1313,6 +1324,8 @@ void LockProcess::repaintRootWindowIfNeeded()
-
- bool LockProcess::startHack()
- {
-+ setCursor( tqblankCursor );
-+
- if ((mEnsureVRootWindowSecurityTimer) && (!mEnsureVRootWindowSecurityTimer->isActive())) mEnsureVRootWindowSecurityTimer->start(250, FALSE);
-
- if (currentDialog || (!mDialogs.isEmpty()))
-@@ -1429,6 +1442,7 @@ void LockProcess::stopHack()
- mHackProc.kill(SIGKILL);
- }
- }
-+ setCursor( tqarrowCursor );
- }
-
- //---------------------------------------------------------------------------
-@@ -1730,7 +1744,6 @@ void LockProcess::doFunctionKeyBroadcast() {
- mDialogControlLock = false;
- }
- }
-- setCursor( tqblankCursor );
-
- DCOPRef ref( "*", "MainApplication-Interface");
- ref.send("sendFakeKey", DCOPArg(mkeyCode , "unsigned int"));
-diff --git a/kdesktop/lock/main.cc b/kdesktop/lock/main.cc
-index c0b8e24..0cbef60 100644
---- a/kdesktop/lock/main.cc
-+++ b/kdesktop/lock/main.cc
-@@ -45,8 +45,9 @@ bool trinity_desktop_lock_forced = FALSE;
-
- bool MyApp::x11EventFilter( XEvent *ev )
- {
-- if (ev->type == XKeyPress || ev->type == ButtonPress)
-+ if (ev->type == XKeyPress || ev->type == ButtonPress) {
- emit activity();
-+ }
- else if (ev->type == MotionNotify) {
- time_t tick = time( 0 );
- if (tick != lastTick) {
-diff --git a/kdesktop/lock/querydlg.cc b/kdesktop/lock/querydlg.cc
-index e672d54..5f50cbe 100644
---- a/kdesktop/lock/querydlg.cc
-+++ b/kdesktop/lock/querydlg.cc
-@@ -118,6 +118,7 @@ QueryDlg::QueryDlg(LockProcess *parent)
- connect(ok, TQT_SIGNAL(clicked()), TQT_SLOT(slotOK()));
-
- installEventFilter(this);
-+ setFixedSize( sizeHint() );
- }
-
- QueryDlg::~QueryDlg()
-diff --git a/kdesktop/lock/sakdlg.cc b/kdesktop/lock/sakdlg.cc
-index 17f54a1..d96e0af 100644
---- a/kdesktop/lock/sakdlg.cc
-+++ b/kdesktop/lock/sakdlg.cc
-@@ -102,6 +102,7 @@ SAKDlg::SAKDlg(LockProcess *parent)
- mStatusLabel->setText("<b>" + i18n("Press Ctrl+Alt+Del to begin.") + "</b><p>" + i18n("This process helps keep your password secure.") + "<br>" + i18n("It prevents unauthorized users from emulating the login screen."));
-
- installEventFilter(this);
-+ setFixedSize( sizeHint() );
-
- mSAKProcess = new KProcess;
- *mSAKProcess << "kdmtsak";
-diff --git a/kdesktop/lock/securedlg.cc b/kdesktop/lock/securedlg.cc
-index 532b904..37524f7 100644
---- a/kdesktop/lock/securedlg.cc
-+++ b/kdesktop/lock/securedlg.cc
-@@ -144,6 +144,7 @@ SecureDlg::SecureDlg(LockProcess *parent)
- mSwitchButton->setFixedWidth(btnSize);
-
- installEventFilter(this);
-+ setFixedSize( sizeHint() );
- }
-
- SecureDlg::~SecureDlg()
-commit 678bea5ba74b3b39981e482e188c61fdd37786f0
-Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
-Date: 1328606373 -0600
-
- Allow minimal managed window interaction inside the lock process
- This closes Bug 810
-
-diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc
-index 9648bbc..2e9c9d3 100644
---- a/kdesktop/lock/lockprocess.cc
-+++ b/kdesktop/lock/lockprocess.cc
-@@ -111,8 +111,8 @@ Status DPMSInfo ( Display *, CARD16 *, BOOL * );
- #define LOCK_GRACE_DEFAULT 5000
- #define AUTOLOGOUT_DEFAULT 600
-
--// FIXME
--// This should be defined if Qt 3.4.0 or higher is in use
-+// Setting this define is INSECURE
-+// Use it for debugging purposes ONLY
- // #define KEEP_MOUSE_UNGRABBED 1
-
- // These lines are taken on 10/2009 from X.org (X11/XF86keysym.h), defining some special multimedia keys
-@@ -185,7 +185,12 @@ LockProcess::LockProcess(bool child, bool useBlankOnly)
- mHackStartupEnabled(true),
- m_rootPixmap(NULL),
- mBackingStartupDelayTimer(0),
-- m_startupStatusDialog(NULL)
-+ m_startupStatusDialog(NULL),
-+ m_mouseDown(0),
-+ m_mousePrevX(0),
-+ m_mousePrevY(0),
-+ m_dialogPrevX(0),
-+ m_dialogPrevY(0)
- {
- #ifdef KEEP_MOUSE_UNGRABBED
- setNFlags(WX11DisableMove|WX11DisableClose|WX11DisableShade|WX11DisableMinimize|WX11DisableMaximize);
-@@ -208,6 +213,8 @@ LockProcess::LockProcess(bool child, bool useBlankOnly)
- mEnsureVRootWindowSecurityTimer = new TQTimer( this );
- connect( mEnsureVRootWindowSecurityTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(repaintRootWindowIfNeeded()) );
-
-+ connect(tqApp, TQT_SIGNAL(mouseInteraction(XEvent *)), TQT_SLOT(slotMouseActivity(XEvent *)));
-+
- mHackDelayStartupTimeout = trinity_desktop_lock_delay_screensaver_start?KDesktopSettings::timeout()*1000:10*1000;
- mHackStartupEnabled = trinity_desktop_lock_delay_screensaver_start?KDesktopSettings::screenSaverEnabled():true;
-
-@@ -2200,4 +2207,64 @@ void LockProcess::sendVkbdFocusInOut( WId window, Time t )
- }
- }
-
-+void LockProcess::slotMouseActivity(XEvent *event)
-+{
-+ bool inFrame = 0;
-+ bool inDialog = 0;
-+ XButtonEvent *be = (XButtonEvent *) event;
-+ XMotionEvent *me = (XMotionEvent *) event;
-+ if (event->type == ButtonPress) {
-+ // Get geometry including window frame/titlebar
-+ TQRect fgeom = mDialogs.first()->frameGeometry();
-+ TQRect wgeom = mDialogs.first()->geometry();
-+
-+ if (((be->x_root > fgeom.x()) && (be->y_root > fgeom.y())) && ((be->x_root < (fgeom.x()+fgeom.width())) && (be->y_root < (fgeom.y()+fgeom.height())))) {
-+ inFrame = 1;
-+ }
-+ if (((be->x_root > wgeom.x()) && (be->y_root > wgeom.y())) && ((be->x_root < (wgeom.x()+wgeom.width())) && (be->y_root < (wgeom.y()+wgeom.height())))) {
-+ inDialog = 1;
-+ }
-+
-+ // Clicked inside dialog; set focus
-+ if (inFrame == TRUE) {
-+ WId window = mDialogs.first()->winId();
-+ XSetInputFocus(qt_xdisplay(), window, RevertToParent, CurrentTime);
-+ fakeFocusIn(window);
-+ // Why this needs to be repeated I have no idea...
-+ XSetInputFocus(qt_xdisplay(), window, RevertToParent, CurrentTime);
-+ fakeFocusIn(window);
-+ }
-+
-+ // Clicked inside window handle (or border); drag window
-+ if ((inFrame == TRUE) && (inDialog == FALSE)) {
-+ TQPoint oldPoint = mDialogs.first()->pos();
-+ m_mouseDown = 1;
-+ m_dialogPrevX = oldPoint.x();
-+ m_dialogPrevY = oldPoint.y();
-+ m_mousePrevX = be->x_root;
-+ m_mousePrevY = be->y_root;
-+ XChangeActivePointerGrab( qt_xdisplay(), GRABEVENTS, TQCursor(tqsizeAllCursor).handle(), CurrentTime);
-+ }
-+ }
-+
-+ // Drag the window...
-+ if (event->type == MotionNotify) {
-+ if (m_mouseDown == TRUE) {
-+ int deltaX = me->x_root - m_mousePrevX;
-+ int deltaY = me->y_root - m_mousePrevY;
-+ m_dialogPrevX = m_dialogPrevX + deltaX;
-+ m_dialogPrevY = m_dialogPrevY + deltaY;
-+ mDialogs.first()->move(m_dialogPrevX, m_dialogPrevY);
-+
-+ m_mousePrevX = me->x_root;
-+ m_mousePrevY = me->y_root;
-+ }
-+ }
-+
-+ if (event->type == ButtonRelease) {
-+ m_mouseDown = 0;
-+ XChangeActivePointerGrab( qt_xdisplay(), GRABEVENTS, TQCursor(tqarrowCursor).handle(), CurrentTime);
-+ }
-+}
-+
- #include "lockprocess.moc"
-diff --git a/kdesktop/lock/lockprocess.h b/kdesktop/lock/lockprocess.h
-index 3a7e3db..18320a8 100644
---- a/kdesktop/lock/lockprocess.h
-+++ b/kdesktop/lock/lockprocess.h
-@@ -94,6 +94,7 @@ private slots:
- bool closeCurrentWindow();
- void repaintRootWindowIfNeeded();
- void startSecureDialog();
-+ void slotMouseActivity(XEvent *event);
-
- private:
- void configure();
-@@ -197,6 +198,12 @@ private:
- KSMModalDialog* m_startupStatusDialog;
-
- TQDateTime mlockDateTime;
-+
-+ bool m_mouseDown;
-+ int m_mousePrevX;
-+ int m_mousePrevY;
-+ int m_dialogPrevX;
-+ int m_dialogPrevY;
- };
-
- #endif
-diff --git a/kdesktop/lock/main.h b/kdesktop/lock/main.h
-index c8e0e05..23797e4 100644
---- a/kdesktop/lock/main.h
-+++ b/kdesktop/lock/main.h
-@@ -32,6 +32,7 @@ protected:
- bool x11EventFilter( XEvent * );
- signals:
- void activity();
-+ void mouseInteraction(XEvent *event);
- private:
- time_t lastTick;
- };