Sending windows into background works now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12070 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -953,11 +953,11 @@ void RootLayer::MouseEventHandler(int32 code, BPortLink& msg)
|
|||||||
{
|
{
|
||||||
fResizingWindow = true;
|
fResizingWindow = true;
|
||||||
}
|
}
|
||||||
else if (action != DEC_NONE)
|
else if (action != DEC_NONE && action != DEC_MOVETOBACK)
|
||||||
{
|
{
|
||||||
target->MouseDown(action);
|
target->MouseDown(action);
|
||||||
}
|
}
|
||||||
else
|
else if (action != DEC_MOVETOBACK)
|
||||||
{
|
{
|
||||||
// we are inside WinBorder
|
// we are inside WinBorder
|
||||||
|
|
||||||
|
|||||||
@@ -321,6 +321,7 @@ STRACE(("Wks(%ld)::MoveToBack(%s) \n", fID, newLast? newLast->GetName(): "NULL")
|
|||||||
if (!newLastItem)
|
if (!newLastItem)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
ListData *previous = newLastItem->upperItem;
|
||||||
bool returnValue = false;
|
bool returnValue = false;
|
||||||
bool changeFront = false;
|
bool changeFront = false;
|
||||||
int32 level = newLast->Level();
|
int32 level = newLast->Level();
|
||||||
@@ -355,7 +356,7 @@ STRACE(("Wks(%ld)::MoveToBack(%s) \n", fID, newLast? newLast->GetName(): "NULL")
|
|||||||
case B_FLOATING_APP:
|
case B_FLOATING_APP:
|
||||||
case B_FLOATING_ALL:
|
case B_FLOATING_ALL:
|
||||||
{
|
{
|
||||||
placeToBack(newLastItem);
|
returnValue = placeToBack(newLastItem);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case B_MODAL_APP:
|
case B_MODAL_APP:
|
||||||
@@ -452,6 +453,9 @@ STRACE(("Wks(%ld)::MoveToBack(%s) \n", fID, newLast? newLast->GetName(): "NULL")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (previous == newLastItem->upperItem)
|
||||||
|
returnValue = false;
|
||||||
|
|
||||||
// The following applies ONLY to B_NORMAL and B_MODAL_APP windows.
|
// The following applies ONLY to B_NORMAL and B_MODAL_APP windows.
|
||||||
|
|
||||||
if (changeFront)
|
if (changeFront)
|
||||||
@@ -459,7 +463,7 @@ STRACE(("Wks(%ld)::MoveToBack(%s) \n", fID, newLast? newLast->GetName(): "NULL")
|
|||||||
ListData *newFront;
|
ListData *newFront;
|
||||||
newFront = findNextFront();
|
newFront = findNextFront();
|
||||||
if (newFront)
|
if (newFront)
|
||||||
MoveToFront(newFront->layerPtr);
|
returnValue |= MoveToFront(newFront->layerPtr);
|
||||||
else
|
else
|
||||||
debugger("MoveToBack: can't find new front! We should find one!\n");
|
debugger("MoveToBack: can't find new front! We should find one!\n");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user