diff --git a/workspace.cpp b/workspace.cpp index 367a15d371..fd1775f903 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -27,6 +27,7 @@ License. See the file "COPYING" for the exact licensing terms. #include #include #include +#include #include "plugins.h" #include "client.h" @@ -1831,7 +1832,10 @@ void Workspace::addTopMenu( Client* c ) for( ClientList::ConstIterator it = topmenus.begin(); it != topmenus.end(); ++it ) + { + KWin::setStrut( (*it)->window(), 0, 0, topmenu_height, 0 ); // so that kicker etc. know (*it)->checkWorkspacePosition(); + } } c->checkWorkspacePosition(); // kdDebug() << "NEW TOPMENU:" << c << endl; @@ -1856,6 +1860,7 @@ void Workspace::lostTopMenuSelection() disconnect( topmenu_selection, SIGNAL( lostOwnership()), this, SLOT( lostTopMenuSelection())); managing_topmenus = false; delete topmenu_space; + topmenu_space = NULL; updateClientArea(); for( ClientList::ConstIterator it = topmenus.begin(); it != topmenus.end();