From e579db0c68e417608200e5adf6eef1fd6c27504d Mon Sep 17 00:00:00 2001 From: Matthias Ettrich Date: Sun, 8 Sep 2002 12:57:41 +0000 Subject: [PATCH] better fix for the click-raise problem (one that actually keeps the taskbar functional...) svn path=/trunk/kdebase/kwin/; revision=176420 --- client.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/client.cpp b/client.cpp index d493685896..f38b2f7d0e 100644 --- a/client.cpp +++ b/client.cpp @@ -2539,8 +2539,15 @@ void Client::getWindowProtocols(){ */ void Client::takeFocus( bool force ) { - if ( !force && ( isTopMenu() || ( isDock() && staysOnTop() ) ) ) + if ( !force && ( isTopMenu() || isDock() ) ) { + if ( isDock() && !staysOnTop() && workspace()->activeClient() ) { + // the active client might get covered by a dock + // window. Re-enable ourselves passive grabs to make + // click-raise work again + workspace()->activeClient()->windowWrapper()->setActive( FALSE ); + } return; // toplevel menus and dock windows don't take focus if not forced + } if ( input ) { // Matthias Ettrich says to comment it so that we avoid two consecutive setActive