From cce5601a7aae23f804a6c13c059e6c0d47979543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 3 Apr 2006 11:41:16 +0000 Subject: [PATCH] * The background is now repainted on workspace switch in case the background color differs. This fixes bug #373. * The workspaces window is now invalidated when the workspace color is changed, so that it shows the correct color then. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16979 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/Desktop.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index bae1ed1436..7b2a21a099 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -647,6 +647,9 @@ Desktop::RedrawBackground() _SetBackground(redraw); } + _WindowChanged(NULL); + // update workspaces view as well + UnlockAllWindows(); } @@ -672,6 +675,7 @@ Desktop::SetWorkspace(int32 index) } int32 previousIndex = fCurrentWorkspace; + RGBColor previousColor = fWorkspaces[fCurrentWorkspace].Color(); if (fMouseEventWindow != NULL) { if (!fMouseEventWindow->InWorkspace(index)) { @@ -788,6 +792,9 @@ Desktop::SetWorkspace(int32 index) _WindowChanged(NULL); MarkDirty(dirty); + if (previousColor != fWorkspaces[fCurrentWorkspace].Color()) + RedrawBackground(); + UnlockAllWindows(); _SendFakeMouseMoved();