diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index 02366ad9a4..51f02bb19b 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -1360,6 +1360,8 @@ Desktop::SetWindowTabLocation(Window* window, float location) if (changed) _RebuildAndRedrawAfterWindowChange(window, dirty); + InvokeSetWindowTabLocation(window, location); + return changed; } diff --git a/src/servers/app/DesktopListener.cpp b/src/servers/app/DesktopListener.cpp index 7ac97eb144..482771a0b6 100644 --- a/src/servers/app/DesktopListener.cpp +++ b/src/servers/app/DesktopListener.cpp @@ -187,6 +187,18 @@ DesktopObservable::InvokeSendWindowBehind(Window* window, Window* behindOf) } +void +DesktopObservable::InvokeSetWindowTabLocation(Window* window, float location) +{ + if (fWeAreInvoking) + return; + InvokeGuard invokeGuard(fWeAreInvoking); + + FOR_ALL_DESKTOP_LISTENER + listener->SetWindowTabLocation(window, location); +} + + bool DesktopObservable::InvokeSetDecoratorSettings(Window* window, const BMessage& settings) diff --git a/src/servers/app/DesktopListener.h b/src/servers/app/DesktopListener.h index dbeb267a44..d27a55beb3 100644 --- a/src/servers/app/DesktopListener.h +++ b/src/servers/app/DesktopListener.h @@ -51,6 +51,9 @@ public: virtual void MinimizeWindow(Window* window, bool minimize) = 0; + virtual void SetWindowTabLocation(Window* window, + float location) = 0; + virtual bool SetDecoratorSettings(Window* window, const BMessage& settings) = 0; virtual void GetDecoratorSettings(Window* window, @@ -94,6 +97,9 @@ public: void InvokeHideWindow(Window* window); void InvokeMinimizeWindow(Window* window, bool minimize); + void InvokeSetWindowTabLocation(Window* window, + float location); + bool InvokeSetDecoratorSettings(Window* window, const BMessage& settings); void InvokeGetDecoratorSettings(Window* window,