diff --git a/src/servers/app/DefaultWindowBehaviour.cpp b/src/servers/app/DefaultWindowBehaviour.cpp index 4e7f8c9686..478744bfd9 100644 --- a/src/servers/app/DefaultWindowBehaviour.cpp +++ b/src/servers/app/DefaultWindowBehaviour.cpp @@ -1123,18 +1123,7 @@ DefaultWindowBehaviour::_SetBorderHighlights(int8 horizontal, int8 vertical, } // invalidate the affected regions - dirtyRegion.IntersectWith(&fWindow->VisibleRegion()); - BRect dirtyRect(dirtyRegion.Frame()); - - if (dirtyRect.IsValid()) { - DrawingEngine* engine = decorator->GetDrawingEngine(); - engine->LockParallelAccess(); - engine->ConstrainClippingRegion(&dirtyRegion); - - decorator->Draw(dirtyRect); - - engine->UnlockParallelAccess(); - } + fWindow->ProcessDirtyRegion(dirtyRegion); } } diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index 82c2fc7915..04b8d7fe65 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -3357,9 +3357,13 @@ Desktop::_SetWorkspace(int32 index, bool moveFocusWindow) int32 previousIndex = fCurrentWorkspace; rgb_color previousColor = fWorkspaces[fCurrentWorkspace].Color(); bool movedMouseEventWindow = false; - Window* movedWindow = fMouseEventWindow; - if (movedWindow == NULL && moveFocusWindow) - movedWindow = FocusWindow(); + Window* movedWindow = NULL; + if (moveFocusWindow) { + if (fMouseEventWindow != NULL) + movedWindow = fMouseEventWindow; + else + movedWindow = FocusWindow(); + } if (movedWindow != NULL) { if (movedWindow->IsNormal()) {