From 37f682c907daf68096e6d1d9c9854287a3092f8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= Date: Tue, 27 Jul 2004 13:13:52 +0000 Subject: [PATCH] Handle a rather unusual usage KMenuBar usage in amarok - parent widget is first created toplevel, then reparented to become one tab widget. CCMAIL: 81620-done@bugs.kde.org svn path=/trunk/kdebase/kwin/; revision=333232 --- group.cpp | 2 ++ workspace.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/group.cpp b/group.cpp index 6a3a4b621e..91b73d80ba 100644 --- a/group.cpp +++ b/group.cpp @@ -419,6 +419,8 @@ void Client::setTransient( Window new_transient_for_id ) transient_for->addTransient( this ); } // checkGroup() will check 'check_active_modal' checkGroup( NULL, true ); // force, because transiency has changed + if( isTopMenu()) + workspace()->updateCurrentTopMenu(); workspace()->updateClientLayer( this ); } } diff --git a/workspace.h b/workspace.h index a5f2a22006..2c0209ddee 100644 --- a/workspace.h +++ b/workspace.h @@ -245,6 +245,7 @@ class Workspace : public QObject, public KWinInterface, public KDecorationDefine bool managingTopMenus() const; int topMenuHeight() const; + void updateCurrentTopMenu(); int packPositionLeft( const Client* cl, int oldx, bool left_edge ) const; int packPositionRight( const Client* cl, int oldx, bool right_edge ) const; @@ -369,7 +370,6 @@ class Workspace : public QObject, public KWinInterface, public KDecorationDefine bool allowFullClientRaising( const Client* c, Time timestamp ); bool keepTransientAbove( const Client* mainwindow, const Client* transient ); void blockStackingUpdates( bool block ); - void updateCurrentTopMenu(); void addTopMenu( Client* c ); void removeTopMenu( Client* c ); void setupTopMenuHandling();