diff --git a/src/servers/app/RootLayer.cpp b/src/servers/app/RootLayer.cpp index 04f6278d2c..15740ca088 100644 --- a/src/servers/app/RootLayer.cpp +++ b/src/servers/app/RootLayer.cpp @@ -786,7 +786,11 @@ bool RootLayer::SetActiveWorkspace(int32 index) get_workspace_windows(); if (WorkspacesLayer() != NULL) +#ifndef NEW_CLIPPING GoRedraw(WorkspacesLayer(), WorkspacesLayer()->fVisible); +#else + GoRedraw(WorkspacesLayer(), WorkspacesLayer()->VisibleRegion()); +#endif // send the workspace changed message for the new workspace { @@ -1924,7 +1928,11 @@ RootLayer::show_winBorder(WinBorder *winBorder) show_final_scene(exFocus, exActive); if (WorkspacesLayer()) +#ifndef NEW_CLIPPING GoRedraw(WorkspacesLayer(), fFullVisible); +#else + GoRedraw(WorkspacesLayer(), FullVisible()); +#endif } @@ -1957,7 +1965,11 @@ RootLayer::hide_winBorder(WinBorder *winBorder) show_final_scene(exFocus, exActive); if (WorkspacesLayer()) +#ifndef NEW_CLIPPING GoRedraw(WorkspacesLayer(), fFullVisible); +#else + GoRedraw(WorkspacesLayer(), FullVisible()); +#endif } diff --git a/src/servers/app/WorkspacesLayer.cpp b/src/servers/app/WorkspacesLayer.cpp index 167d14c827..4d5ac88306 100644 --- a/src/servers/app/WorkspacesLayer.cpp +++ b/src/servers/app/WorkspacesLayer.cpp @@ -147,7 +147,11 @@ WorkspacesLayer::_DrawWorkspace(int32 index) // draw windows +#ifndef NEW_CLIPPING BRegion backgroundRegion = fVisible; +#else + BRegion backgroundRegion = VisibleRegion(); +#endif // ToDo: would be nice to get the real update region here if (workspace != NULL) { @@ -173,7 +177,14 @@ WorkspacesLayer::_DrawWorkspace(int32 index) fDriver->ConstrainClippingRegion(&backgroundRegion); fDriver->FillRect(rect, color); + + // TODO: ConstrainClippingRegion() should accept a const parameter !! +#ifndef NEW_CLIPPING fDriver->ConstrainClippingRegion(&fVisible); +#else + BRegion cRegion(VisibleRegion()); + fDriver->ConstrainClippingRegion(&cRegion); +#endif }