Fix the loop described in #69238 - don't raise special windows if they
become active if autoraise is turned off. It's possible this only fixes a symptom instead of the problem, but oh well. svn path=/trunk/kdebase/kwin/; revision=271137
This commit is contained in:
parent
9e1586ba73
commit
e7d3ffaceb
1 changed files with 4 additions and 3 deletions
|
@ -663,13 +663,14 @@ Layer Client::belongsToLayer() const
|
|||
return DockLayer;
|
||||
if( isTopMenu())
|
||||
return DockLayer;
|
||||
if( isDialog() && workspace()->activeClient() == this
|
||||
&& ( options->focusPolicy == Options::ClickToFocus || options->autoRaise ))
|
||||
bool raise_special_active_windows = ( options->focusPolicy == Options::ClickToFocus || options->autoRaise );
|
||||
if( isDialog() && workspace()->activeClient() == this && raise_special_active_windows )
|
||||
return ActiveLayer;
|
||||
if( keepAbove())
|
||||
return AboveLayer;
|
||||
if( isFullScreen() && workspace()->activeClient() != NULL
|
||||
&& ( workspace()->activeClient() == this || this->hasTransient( workspace()->activeClient(), true )))
|
||||
&& ( workspace()->activeClient() == this || this->hasTransient( workspace()->activeClient(), true ))
|
||||
&& raise_special_active_windows )
|
||||
return ActiveLayer;
|
||||
return NormalLayer;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue