diff --git a/client.cpp b/client.cpp index 7e13f8d0be..02859c4f2b 100644 --- a/client.cpp +++ b/client.cpp @@ -50,13 +50,13 @@ public: m_client = c; } - virtual void changeDesktop(Q_UINT32 desktop) { + virtual void changeDesktop(int desktop) { if ( desktop == NETWinInfo::OnAllDesktops ) m_client->setSticky( TRUE ); else m_client->workspace()->sendClientToDesktop( m_client, desktop ); } - virtual void changeState(Q_UINT32 state, Q_UINT32 mask ) { + virtual void changeState( unsigned long state, unsigned long mask ) { // state : kwin.h says: possible values are or'ed combinations of NET::Modal, // NET::Sticky, NET::MaxVert, NET::MaxHoriz, NET::Shaded, NET::SkipTaskbar diff --git a/workspace.cpp b/workspace.cpp index 11d1aa76c3..ae7371ed4a 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -56,8 +56,8 @@ public: } ~RootInfo() {} - void changeNumberOfDesktops(Q_UINT32 n) { workspace->setNumberOfDesktops( n ); } - void changeCurrentDesktop(Q_UINT32 d) { workspace->setCurrentDesktop( d ); } + void changeNumberOfDesktops(int n) { workspace->setNumberOfDesktops( n ); } + void changeCurrentDesktop(int d) { workspace->setCurrentDesktop( d ); } void changeActiveWindow(Window w) { ::Client* c = workspace->findClient( (WId) w ); if ( c ) @@ -1657,6 +1657,9 @@ void Workspace::setCurrentDesktop( int new_desktop ){ } } } + current_desktop = new_desktop; + + rootInfo->setCurrentDesktop( current_desktop ); // restore the focus on this desktop block_focus = FALSE;