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:
Luboš Luňák 2003-12-04 12:23:49 +00:00
parent 9e1586ba73
commit e7d3ffaceb

View file

@ -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;
}