Revert my last changes for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38486 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1032,7 +1032,7 @@ Desktop::SendWindowBehind(Window* window, Window* behindOf)
|
|||||||
|
|
||||||
// TODO: should the "not in current workspace" be handled anyway?
|
// TODO: should the "not in current workspace" be handled anyway?
|
||||||
// (the code below would have to be changed then, though)
|
// (the code below would have to be changed then, though)
|
||||||
if ((behindOf == NULL && window == BackWindow())
|
if (window == BackWindow()
|
||||||
|| !window->InWorkspace(fCurrentWorkspace)
|
|| !window->InWorkspace(fCurrentWorkspace)
|
||||||
|| (behindOf != NULL && !behindOf->InWorkspace(fCurrentWorkspace))) {
|
|| (behindOf != NULL && !behindOf->InWorkspace(fCurrentWorkspace))) {
|
||||||
UnlockAllWindows();
|
UnlockAllWindows();
|
||||||
@@ -1047,21 +1047,18 @@ Desktop::SendWindowBehind(Window* window, Window* behindOf)
|
|||||||
// might be dirty after the window is send to back
|
// might be dirty after the window is send to back
|
||||||
BRegion dirty(window->VisibleRegion());
|
BRegion dirty(window->VisibleRegion());
|
||||||
|
|
||||||
|
Window* backmost = window->Backmost(behindOf);
|
||||||
|
|
||||||
CurrentWindows().RemoveWindow(window);
|
CurrentWindows().RemoveWindow(window);
|
||||||
CurrentWindows().AddWindow(window, behindOf
|
CurrentWindows().AddWindow(window, backmost
|
||||||
? behindOf : BackWindow());
|
? backmost->NextWindow(fCurrentWorkspace) : BackWindow());
|
||||||
|
|
||||||
BRegion dummy;
|
BRegion dummy;
|
||||||
_RebuildClippingForAllWindows(dummy);
|
_RebuildClippingForAllWindows(dummy);
|
||||||
|
|
||||||
// if we send a window to the bottom mark everything dirty that is no
|
// mark everything dirty that is no longer visible
|
||||||
// longer visible, if behindOf is not NULL the window may has rose so
|
|
||||||
// include the visible region
|
|
||||||
BRegion clean(window->VisibleRegion());
|
BRegion clean(window->VisibleRegion());
|
||||||
if (!behindOf)
|
dirty.Exclude(&clean);
|
||||||
dirty.Exclude(&clean);
|
|
||||||
else
|
|
||||||
dirty.Include(&clean);
|
|
||||||
MarkDirty(dirty);
|
MarkDirty(dirty);
|
||||||
|
|
||||||
_UpdateFronts();
|
_UpdateFronts();
|
||||||
|
|||||||
Reference in New Issue
Block a user