Make sure active but not topmost windows get raised appropriately on inner-

window clicks.

CCMAIL:45021-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=173636
This commit is contained in:
John Firebaugh 2002-08-24 22:03:49 +00:00
parent 6c612ea8de
commit 944e892c9b

View file

@ -266,8 +266,10 @@ static void ungrabButton( WId winId, int modifier )
void WindowWrapper::setActive( bool active )
{
if ( active ) {
if ( options->focusPolicy == Options::ClickToFocus || !options->clickRaise )
ungrabButton( winId(), None );
// Don't release this grab because then we won't get the events
// necessary for raising an active but not topmost windows
// if ( options->focusPolicy == Options::ClickToFocus || !options->clickRaise )
// ungrabButton( winId(), None );
ungrabButton( winId(), ShiftMask );
ungrabButton( winId(), ControlMask );
ungrabButton( winId(), ControlMask | ShiftMask );
@ -2613,6 +2615,8 @@ bool Client::performMouseCommand( Options::MouseCommand command, QPoint globalPo
workspace()->raiseClient( this );
break;
case Options::MouseActivateAndRaise:
// We might already be active, in which case we want to pass the click on
replay = isActive();
workspace()->requestFocus( this );
workspace()->raiseClient( this );
break;