small fix for mac menu when using focus follows mouse (even though this

combination does not make sense at all)

svn path=/trunk/kdebase/kwin/; revision=68919
This commit is contained in:
Matthias Ettrich 2000-10-26 08:26:05 +00:00
parent 1b3e517fa8
commit 2d59aac1c8
2 changed files with 5 additions and 3 deletions

View file

@ -77,7 +77,7 @@ public:
m_client->maximize( Client::MaximizeRestore );
}
if ( state & NET::StaysOnTop ) {
if ( ( mask & NET::StaysOnTop) != 0 && (state & NET::StaysOnTop) != 0 ) {
m_client->setStaysOnTop( state & NET::StaysOnTop );
m_client->workspace()->raiseClient( m_client );
}
@ -1049,6 +1049,8 @@ bool Client::configureRequest( XConfigureRequestEvent& e )
switch (stack_mode){
case Above:
case TopIf:
if ( isMenu() && mainClient() != this )
break; // in this case, we already do the raise
workspace()->raiseClient( this );
break;
case Below:

View file

@ -955,7 +955,7 @@ void Workspace::setActiveClient( Client* c )
if ( menubar ) {
menubar->show();
raiseClient( menubar );
menubar->raise(); // better for FocusFollowsMouse than raiseClient(menubar)
}
// ... then hide the other ones. Avoids flickers.
@ -1002,7 +1002,7 @@ void Workspace::iconifyOrDeiconifyTransientsOf( Client* c )
for ( ClientList::ConstIterator it = clients.begin(); it != clients.end(); ++it) {
if ( (*it)->transientFor() == c->window()
&& !(*it)->isIconified()
&& !(*it)->isShade()
&& !(*it)->isShade()
&& ( !exclude_menu || !(*it)->isMenu() ) ) {
(*it)->setMappingState( XIconicState );
(*it)->hide();