Renamed class FMWList to SubWindowList. Cleaned up SubWindowList a bit.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13203 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2005-06-17 16:34:22 +00:00
parent 579be6b83e
commit 1b5aeb312e
12 changed files with 190 additions and 230 deletions

View File

@ -272,15 +272,15 @@ Desktop::AddWinBorder(WinBorder *winBorder)
&& wb->Feel() == feelToLookFor) {
// R2: RootLayer comparison is needed.
feel == B_NORMAL_WINDOW_FEEL ?
winBorder->fFMWList.AddWinBorder(wb) :
wb->fFMWList.AddWinBorder(winBorder);
winBorder->fSubWindowList.AddWinBorder(wb) :
wb->fSubWindowList.AddWinBorder(winBorder);
}
}
}
// add application's list of modal windows.
if (feel == B_MODAL_APP_WINDOW_FEEL) {
winBorder->App()->fAppFMWList.AddWinBorder(winBorder);
winBorder->App()->fAppSubWindowList.AddWinBorder(winBorder);
}
// send WinBorder to be added to workspaces
@ -324,14 +324,14 @@ Desktop::RemoveWinBorder(WinBorder *winBorder)
if (wb->Feel() == B_NORMAL_WINDOW_FEEL
&& wb->App()->ClientTeamID() == winBorder->App()->ClientTeamID()) {
// R2: RootLayer comparison is needed. We'll see.
wb->fFMWList.RemoveItem(winBorder);
wb->fSubWindowList.RemoveItem(winBorder);
}
}
}
// remove from application's list
if (feel == B_MODAL_APP_WINDOW_FEEL) {
winBorder->App()->fAppFMWList.RemoveItem(winBorder);
winBorder->App()->fAppSubWindowList.RemoveItem(winBorder);
}
} else {
Unlock();
@ -369,9 +369,9 @@ Desktop::AddWinBorderToSubset(WinBorder *winBorder, WinBorder *toWinBorder)
|| winBorder->Feel() == B_MODAL_SUBSET_WINDOW_FEEL)
&& toWinBorder->Feel() == B_NORMAL_WINDOW_FEEL
&& toWinBorder->App()->ClientTeamID() == winBorder->App()->ClientTeamID()
&& !toWinBorder->fFMWList.HasItem(winBorder)) {
&& !toWinBorder->fSubWindowList.HasItem(winBorder)) {
// add to normal_window's list
toWinBorder->fFMWList.AddWinBorder(winBorder);
toWinBorder->fSubWindowList.AddWinBorder(winBorder);
} else {
Unlock();
debugger("AddWinBorderToSubset: you must add a subset_window to a normal_window's subset with the same team_id\n");
@ -407,7 +407,7 @@ Desktop::RemoveWinBorderFromSubset(WinBorder *winBorder, WinBorder *fromWinBorde
if (fromWinBorder->Feel() == B_NORMAL_WINDOW_FEEL) {
//remove from this normal_window's subset.
fromWinBorder->fFMWList.RemoveItem(winBorder);
fromWinBorder->fSubWindowList.RemoveItem(winBorder);
} else {
Unlock();
debugger("RemoveWinBorderFromSubset: you must remove a subset_window from a normal_window's subset\n");

View File

@ -1,140 +0,0 @@
//------------------------------------------------------------------------------
// Copyright (c) 2001-2005, Haiku, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
// File Name: FMWList.cpp
// Author: Adi Oanca <adioanca@haikumail.com>
// Description: List class for tracking floating and modal windows
//
//------------------------------------------------------------------------------
#include <stdio.h>
#include <List.h>
#include "FMWList.h"
#include "WinBorder.h"
#include "ServerWindow.h"
FMWList::FMWList(void)
: BList()
{
}
FMWList::~FMWList(void)
{
}
void FMWList::AddWinBorder(void *item)
{
if(HasItem(item))
return;
int32 feelItem = ((WinBorder*)item)->Feel();;
int32 feelTemp = 0;
int32 location = 0;
for(int32 i=0; i<CountItems(); i++)
{
location = i + 1;
feelTemp = ((WinBorder*)ItemAt(i))->Feel();
// in short: if 'item' is a floating window
if( (feelItem == B_FLOATING_SUBSET_WINDOW_FEEL ||
feelItem == B_FLOATING_APP_WINDOW_FEEL ||
feelItem == B_FLOATING_ALL_WINDOW_FEEL)
&& // and 'temp' a modal one
(feelTemp == B_MODAL_SUBSET_WINDOW_FEEL ||
feelTemp == B_MODAL_APP_WINDOW_FEEL ||
feelTemp == B_MODAL_ALL_WINDOW_FEEL)
)
// means we found the place for our window('wb')
{
location--;
break;
}
}
AddItem(item, location);
}
void FMWList::AddFMWList(FMWList *list)
{
int32 i=0;
for(i=0; i<CountItems(); i++)
{
int32 feel = ((WinBorder*)ItemAt(i))->Feel();
if(feel == B_MODAL_SUBSET_WINDOW_FEEL ||
feel == B_MODAL_APP_WINDOW_FEEL ||
feel == B_MODAL_ALL_WINDOW_FEEL)
{
break;
}
}
int32 j = 0;
for(j=0; j<list->CountItems(); j++)
{
void *item = list->ItemAt(j);
int32 feel = ((WinBorder*)item)->Feel();
if(feel == B_MODAL_SUBSET_WINDOW_FEEL ||
feel == B_MODAL_APP_WINDOW_FEEL ||
feel == B_MODAL_ALL_WINDOW_FEEL)
{
AddItem(item, CountItems());
}
else
{
AddItem(item, i);
i++;
}
}
}
void FMWList::PrintToStream() const
{
printf("Floating and modal windows list:\n");
WinBorder *wb = NULL;
for (int32 i=0; i<CountItems(); i++)
{
wb=(WinBorder*)ItemAt(i);
printf("\t%s", wb->GetName());
if (wb->Feel() == B_FLOATING_SUBSET_WINDOW_FEEL)
printf("\t%s\n", "B_FLOATING_SUBSET_WINDOW_FEEL");
if (wb->Feel() == B_FLOATING_APP_WINDOW_FEEL)
printf("\t%s\n", "B_FLOATING_APP_WINDOW_FEEL");
if (wb->Feel() == B_FLOATING_ALL_WINDOW_FEEL)
printf("\t%s\n", "B_FLOATING_ALL_WINDOW_FEEL");
if (wb->Feel() == B_MODAL_SUBSET_WINDOW_FEEL)
printf("\t%s\n", "B_MODAL_SUBSET_WINDOW_FEEL");
if (wb->Feel() == B_MODAL_APP_WINDOW_FEEL)
printf("\t%s\n", "B_MODAL_APP_WINDOW_FEEL");
if (wb->Feel() == B_MODAL_ALL_WINDOW_FEEL)
printf("\t%s\n", "B_MODAL_ALL_WINDOW_FEEL");
// this should NOT happen
if (wb->Feel() == B_NORMAL_WINDOW_FEEL)
printf("\t%s\n", "B_NORMAL_WINDOW_FEEL");
}
}

View File

@ -1,47 +0,0 @@
//------------------------------------------------------------------------------
// Copyright (c) 2001-2005, Haiku, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
// File Name: FMWList.h
// Author: Adi Oanca <adioanca@myrealbox.com>
// Description: List class for something or other (according to DW)
//
//------------------------------------------------------------------------------
#ifndef _FMWLIST_H_
#define _FMWLIST_H_
#include <List.h>
#include <Window.h>
class FMWList : public BList
{
public:
FMWList(void);
virtual ~FMWList(void);
void AddWinBorder(void *item);
// special
void AddFMWList(FMWList *list);
// debugging methods
void PrintToStream() const;
};
#endif

View File

@ -71,7 +71,7 @@ SharedLibrary appserver :
Server app_server :
# Misc. Sources
DebugInfoManager.cpp
FMWList.cpp
SubWindowList.cpp
PicturePlayer.cpp
PNGDump.cpp
RAMLinkMsgReader.cpp

View File

@ -39,7 +39,6 @@
#include "Decorator.h"
#include "Desktop.h"
#include "DisplayDriver.h"
#include "FMWList.h"
#include "Globals.h"
#include "Layer.h"
#include "ServerApp.h"

View File

@ -34,7 +34,6 @@
#include "DebugInfoManager.h"
#include "Layer.h"
#include "FMWList.h"
#include "CursorManager.h"
#include "Workspace.h"

View File

@ -32,7 +32,7 @@
#include <String.h>
#include <PortLink.h>
#include "FMWList.h"
#include "SubWindowList.h"
class AreaPool;
class BMessage;
@ -90,7 +90,7 @@ public:
AreaPool *AppAreaPool() { return fSharedMem; }
FMWList fAppFMWList;
SubWindowList fAppSubWindowList;
private:
void DispatchMessage(int32 code, BPrivate::LinkReceiver &link);

View File

@ -37,7 +37,7 @@
#include <String.h>
#include <Window.h>
#include "FMWList.h"
#include "SubWindowList.h"
#include "TokenSpace.h"
class BString;
@ -113,8 +113,9 @@ public:
// server "private" - try not to use.
inline int32 ClientToken(void) const { return fHandlerToken; }
FMWList fWinFMWList;
// ToDo: public??
SubWindowList fSubWindowList;
private:
// methods for retrieving and creating a tree strcture of Layers.

View File

@ -0,0 +1,116 @@
/*
* Copyright 2001-2005, Haiku.
* Distributed under the terms of the MIT License.
*
* Authors:
* Adrian Oanca <adioanca@cotty.iren.ro>
*/
/** List class for tracking floating and modal windows */
#include <stdio.h>
#include <List.h>
#include "SubWindowList.h"
#include "WinBorder.h"
#include "ServerWindow.h"
SubWindowList::SubWindowList(void)
{
}
SubWindowList::~SubWindowList(void)
{
}
void
SubWindowList::AddWinBorder(WinBorder *border)
{
if (HasItem(border))
return;
int32 borderFeel = border->Feel();;
int32 location = 0;
for (; location < CountItems(); location++) {
int32 feelTemp = ((WinBorder*)ItemAt(location))->Feel();
// in short: if 'border' is a floating window and 'temp' a modal one
if ((borderFeel == B_FLOATING_SUBSET_WINDOW_FEEL
|| borderFeel == B_FLOATING_APP_WINDOW_FEEL
|| borderFeel == B_FLOATING_ALL_WINDOW_FEEL)
&& (feelTemp == B_MODAL_SUBSET_WINDOW_FEEL
|| feelTemp == B_MODAL_APP_WINDOW_FEEL
|| feelTemp == B_MODAL_ALL_WINDOW_FEEL)) {
// means we found the place for our window('wb')
break;
}
}
AddItem(border, location);
}
void
SubWindowList::AddSubWindowList(SubWindowList *list)
{
int32 i = 0;
for (; i < CountItems(); i++) {
int32 feel = ((WinBorder*)ItemAt(i))->Feel();
if (feel == B_MODAL_SUBSET_WINDOW_FEEL
|| feel == B_MODAL_APP_WINDOW_FEEL
|| feel == B_MODAL_ALL_WINDOW_FEEL)
break;
}
for (int32 j = 0; j < list->CountItems(); j++) {
void *item = list->ItemAt(j);
int32 feel = ((WinBorder*)item)->Feel();
if (feel == B_MODAL_SUBSET_WINDOW_FEEL
|| feel == B_MODAL_APP_WINDOW_FEEL
|| feel == B_MODAL_ALL_WINDOW_FEEL) {
AddItem(item, CountItems());
} else {
AddItem(item, i);
i++;
}
}
}
void
SubWindowList::PrintToStream() const
{
printf("Floating and modal windows list:\n");
WinBorder* wb = NULL;
for (int32 i=0; i<CountItems(); i++) {
wb = (WinBorder*)ItemAt(i);
printf("\t%s", wb->GetName());
if (wb->Feel() == B_FLOATING_SUBSET_WINDOW_FEEL)
printf("\t%s\n", "B_FLOATING_SUBSET_WINDOW_FEEL");
if (wb->Feel() == B_FLOATING_APP_WINDOW_FEEL)
printf("\t%s\n", "B_FLOATING_APP_WINDOW_FEEL");
if (wb->Feel() == B_FLOATING_ALL_WINDOW_FEEL)
printf("\t%s\n", "B_FLOATING_ALL_WINDOW_FEEL");
if (wb->Feel() == B_MODAL_SUBSET_WINDOW_FEEL)
printf("\t%s\n", "B_MODAL_SUBSET_WINDOW_FEEL");
if (wb->Feel() == B_MODAL_APP_WINDOW_FEEL)
printf("\t%s\n", "B_MODAL_APP_WINDOW_FEEL");
if (wb->Feel() == B_MODAL_ALL_WINDOW_FEEL)
printf("\t%s\n", "B_MODAL_ALL_WINDOW_FEEL");
// this should NOT happen
if (wb->Feel() == B_NORMAL_WINDOW_FEEL)
printf("\t%s\n", "B_NORMAL_WINDOW_FEEL");
}
}

View File

@ -0,0 +1,32 @@
/*
* Copyright 2001-2005, Haiku.
* Distributed under the terms of the MIT License.
*
* Authors:
* Adrian Oanca <adioanca@cotty.iren.ro>
*/
#ifndef _SUB_WINDOW_LIST_H_
#define _SUB_WINDOW_LIST_H_
#include <List.h>
#include <Window.h>
class WinBorder;
class SubWindowList : public BList {
public:
SubWindowList(void);
virtual ~SubWindowList(void);
void AddWinBorder(WinBorder *border);
// special
void AddSubWindowList(SubWindowList *list);
// debugging methods
void PrintToStream() const;
};
#endif /* _SUB_WINDOW_LIST_H_ */

View File

@ -32,7 +32,7 @@
#include <Rect.h>
#include <String.h>
#include "Layer.h"
#include "FMWList.h"
#include "SubWindowList.h"
#include "Decorator.h"
// these are used by window manager to properly place window.
@ -125,7 +125,7 @@ class WinBorder : public Layer {
inline void QuietlySetWorkspaces(uint32 wks) { fWorkspaces = wks; }
void QuietlySetFeel(int32 feel);
FMWList fFMWList;
SubWindowList fSubWindowList;
#ifdef NEW_CLIPPING
public:

View File

@ -73,7 +73,7 @@
#include "ServerWindow.h"
#include "ServerApp.h"
#include "RGBColor.h"
#include "FMWList.h"
#include "SubWindowList.h"
//#define DEBUG_WORKSPACE
@ -369,7 +369,7 @@ STRACE(("Wks(%ld)::MoveToBack(%s) \n", fID, newLast? newLast->GetName(): "NULL")
return false;
// this is a modal app
if (newLast->App()->fAppFMWList.HasItem(newLast))
if (newLast->App()->fAppSubWindowList.HasItem(newLast))
{
ListData *before;
@ -405,7 +405,7 @@ STRACE(("Wks(%ld)::MoveToBack(%s) \n", fID, newLast? newLast->GetName(): "NULL")
while(cursor)
{
if (cursor->layerPtr->Level() == B_NORMAL && !cursor->layerPtr->IsHidden()
&& (indexThis = cursor->layerPtr->fFMWList.IndexOf(newLast)) >= 0)
&& (indexThis = cursor->layerPtr->fSubWindowList.IndexOf(newLast)) >= 0)
break;
cursor = cursor->upperItem;
}
@ -425,7 +425,7 @@ STRACE(("Wks(%ld)::MoveToBack(%s) \n", fID, newLast? newLast->GetName(): "NULL")
if (cursor->layerPtr->Level() == B_MODAL_APP && !cursor->layerPtr->IsHidden()
&& cursor->layerPtr->App()->ClientTeamID() == newLast->App()->ClientTeamID())
{
indexCursor = mainWindowItem->layerPtr->fFMWList.IndexOf(cursor->layerPtr);
indexCursor = mainWindowItem->layerPtr->fSubWindowList.IndexOf(cursor->layerPtr);
if (indexCursor >= 0)
{
if (indexThis < indexCursor)
@ -518,7 +518,7 @@ STRACE(("W(%ld)::HideWinBorder(%s) \n", fID, winBorder? winBorder->GetName(): "N
ListData *item = HasItem(winBorder);
if (item)
{
fFrontItem->layerPtr->fFMWList.AddWinBorder(winBorder);
fFrontItem->layerPtr->fSubWindowList.AddWinBorder(winBorder);
RemoveItem(item);
fPool.ReleaseMemory(item);
@ -545,7 +545,7 @@ STRACE(("W(%ld)::HideWinBorder(%s) \n", fID, winBorder? winBorder->GetName(): "N
// then remove from Workspace's list.
if (item->layerPtr->Level() == B_MODAL_APP)
{
if(winBorder->fFMWList.HasItem(item->layerPtr))
if(winBorder->fSubWindowList.HasItem(item->layerPtr))
{
if(!searchFirstMainWindow(item->layerPtr))
{
@ -584,7 +584,7 @@ STRACE(("W(%ld)::HideWinBorder(%s) \n", fID, winBorder? winBorder->GetName(): "N
case B_MODAL_APP:
{
// if a subset modal, then remove from Workspace's list.
if (!winBorder->App()->fAppFMWList.HasItem(winBorder))
if (!winBorder->App()->fAppSubWindowList.HasItem(winBorder))
{
ListData *toast = HasItem(winBorder);
if (toast)
@ -720,7 +720,7 @@ STRACE(("W(%ld)::ShowWinBorder(%s) \n", fID, winBorder? winBorder->GetName(): "N
ListData *itemThis = NULL;
// remove from B_NORMAL's list.
if (fFrontItem->layerPtr->fFMWList.RemoveItem(winBorder))
if (fFrontItem->layerPtr->fSubWindowList.RemoveItem(winBorder))
{
// we need to add this window
itemThis = fPool.GetCleanMemory(winBorder);
@ -805,10 +805,10 @@ STRACE(("W(%ld)::ShowWinBorder(%s) \n", fID, winBorder? winBorder->GetName(): "N
// build a list of modal windows to know what windows should be placed before this one.
BList tempList;
// APP modal
if (winBorder->App()->fAppFMWList.HasItem(winBorder))
if (winBorder->App()->fAppSubWindowList.HasItem(winBorder))
{
// take only application's modals
tempList.AddList(&winBorder->App()->fAppFMWList);
tempList.AddList(&winBorder->App()->fAppSubWindowList);
if (fFrontItem
&& fFrontItem->layerPtr->App()->ClientTeamID() == winBorder->App()->ClientTeamID())
userBusy = false;
@ -820,8 +820,8 @@ STRACE(("W(%ld)::ShowWinBorder(%s) \n", fID, winBorder? winBorder->GetName(): "N
if (mainWindow)
{
// add both mainWindow's subset modals and application's modals
tempList.AddList(&mainWindow->fFMWList);
tempList.AddList(&winBorder->App()->fAppFMWList);
tempList.AddList(&mainWindow->fSubWindowList);
tempList.AddList(&winBorder->App()->fAppSubWindowList);
if (fFrontItem && fFrontItem->layerPtr == mainWindow)
userBusy = false;
}
@ -1531,7 +1531,7 @@ WinBorder* Workspace::searchFirstMainWindow(WinBorder *wb) const
{
if (listItem->layerPtr->Level() == B_NORMAL && !listItem->layerPtr->IsHidden()
&& listItem->layerPtr->App()->ClientTeamID() == wb->App()->ClientTeamID()
&& listItem->layerPtr->fFMWList.HasItem(wb))
&& listItem->layerPtr->fSubWindowList.HasItem(wb))
return listItem->layerPtr;
listItem = listItem->upperItem;
@ -1548,8 +1548,8 @@ bool Workspace::windowHasVisibleModals(const WinBorder *winBorder) const
WinBorder **wbList;
// check window's list
count = winBorder->fFMWList.CountItems();
wbList = (WinBorder**)winBorder->fFMWList.Items();
count = winBorder->fSubWindowList.CountItems();
wbList = (WinBorder**)winBorder->fSubWindowList.Items();
for(i = 0; i < count; i++)
{
if (wbList[i]->Level() == B_MODAL_APP && !wbList[i]->IsHidden())
@ -1557,8 +1557,8 @@ bool Workspace::windowHasVisibleModals(const WinBorder *winBorder) const
}
// application's list only has modal windows.
count = winBorder->App()->fAppFMWList.CountItems();
wbList = (WinBorder**)winBorder->App()->fAppFMWList.Items();
count = winBorder->App()->fAppSubWindowList.CountItems();
wbList = (WinBorder**)winBorder->App()->fAppSubWindowList.Items();
for(i = 0; i < count; i++)
{
if (!wbList[i]->IsHidden())
@ -1582,8 +1582,8 @@ ListData* Workspace::putModalsInFront(ListData *item)
HasItem(item, &revIndex);
// check window's list
count = item->layerPtr->fFMWList.CountItems();
wbList = (WinBorder**)item->layerPtr->fFMWList.Items();
count = item->layerPtr->fSubWindowList.CountItems();
wbList = (WinBorder**)item->layerPtr->fSubWindowList.Items();
for(i = 0; i < count; i++)
{
if (wbList[i]->Level() == B_MODAL_APP && !wbList[i]->IsHidden())
@ -1605,8 +1605,8 @@ ListData* Workspace::putModalsInFront(ListData *item)
}
// application's list only has modal windows.
count = item->layerPtr->App()->fAppFMWList.CountItems();
wbList = (WinBorder**)item->layerPtr->App()->fAppFMWList.Items();
count = item->layerPtr->App()->fAppSubWindowList.CountItems();
wbList = (WinBorder**)item->layerPtr->App()->fAppSubWindowList.Items();
for(i = 0; i < count; i++)
{
if (!wbList[i]->IsHidden())
@ -1641,7 +1641,7 @@ void Workspace::putFloatingInFront(ListData *item)
WinBorder *wb;
i = 0;
while ((wb = (WinBorder*)item->layerPtr->fFMWList.ItemAt(i)))
while ((wb = (WinBorder*)item->layerPtr->fSubWindowList.ItemAt(i)))
{
if (wb->Level() == B_MODAL_APP)
{
@ -1653,7 +1653,7 @@ void Workspace::putFloatingInFront(ListData *item)
InsertItem(newItem, before);
item->layerPtr->fFMWList.RemoveItem(i);
item->layerPtr->fSubWindowList.RemoveItem(i);
}
else
i++;
@ -1671,7 +1671,7 @@ void Workspace::saveFloatingWindows(ListData *itemNormal)
{
if (item->layerPtr->Level() == B_FLOATING_APP)
{
itemNormal->layerPtr->fFMWList.AddWinBorder(item->layerPtr);
itemNormal->layerPtr->fSubWindowList.AddWinBorder(item->layerPtr);
toast = item;
item = item->lowerItem;
@ -1749,4 +1749,4 @@ void Workspace::MemoryPool::ReleaseMemory(ListData *mem)
void Workspace::MemoryPool::expandBuffer(int32 start)
{
}
}