KWin controls showing/hiding of topmenus, block requests for it.

svn path=/trunk/kdebase/kwin/; revision=266171
This commit is contained in:
Luboš Luňák 2003-11-10 18:50:38 +00:00
parent f8886f4f01
commit d369e69db0

View file

@ -581,6 +581,8 @@ void Client::mapRequestEvent( XMapRequestEvent* e )
{ {
if( e->window != window()) if( e->window != window())
return; // no messing with frame etc. return; // no messing with frame etc.
if( isTopMenu() && workspace()->managingTopMenus())
return; // kwin controls these
switch ( mappingState() ) switch ( mappingState() )
{ {
case WithdrawnState: case WithdrawnState:
@ -664,6 +666,8 @@ void Client::clientMessageEvent( XClientMessageEvent* e )
// WM_STATE // WM_STATE
if ( e->message_type == atoms->kde_wm_change_state ) if ( e->message_type == atoms->kde_wm_change_state )
{ {
if( isTopMenu() && workspace()->managingTopMenus())
return; // kwin controls these
if( e->data.l[ 1 ] ) if( e->data.l[ 1 ] )
blockAnimation = true; blockAnimation = true;
if( e->data.l[ 0 ] == IconicState ) if( e->data.l[ 0 ] == IconicState )
@ -686,6 +690,8 @@ void Client::clientMessageEvent( XClientMessageEvent* e )
} }
else if ( e->message_type == atoms->wm_change_state) else if ( e->message_type == atoms->wm_change_state)
{ {
if( isTopMenu() && workspace()->managingTopMenus())
return; // kwin controls these
if ( e->data.l[0] == IconicState ) if ( e->data.l[0] == IconicState )
minimize(); minimize();
return; return;