* The changed settings format (display mode instead of composed fields) actually
broke Desktop::WorkspaceFrame(), which I didn't notice before; Workspaces now shows everything in the right dimensions, even if resolutions differ. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32560 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -889,14 +889,9 @@ Desktop::WorkspaceFrame(int32 index) const
|
|||||||
frame = fVirtualScreen.Frame();
|
frame = fVirtualScreen.Frame();
|
||||||
else if (index >= 0 && index < fSettings->WorkspacesCount()) {
|
else if (index >= 0 && index < fSettings->WorkspacesCount()) {
|
||||||
BMessage screenData;
|
BMessage screenData;
|
||||||
int32 width;
|
|
||||||
int32 height;
|
|
||||||
fSettings->WorkspacesMessage(index)->FindMessage("screen", &screenData);
|
fSettings->WorkspacesMessage(index)->FindMessage("screen", &screenData);
|
||||||
if (screenData.FindInt32("width", &width) != B_OK
|
if (screenData.FindRect("frame", &frame) != B_OK)
|
||||||
|| screenData.FindInt32("height", &height) != B_OK)
|
|
||||||
frame = fVirtualScreen.Frame();
|
frame = fVirtualScreen.Frame();
|
||||||
else
|
|
||||||
frame.Set(0.0, 0.0, width - 1, height - 1);
|
|
||||||
}
|
}
|
||||||
return frame;
|
return frame;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,8 @@
|
|||||||
|
|
||||||
WorkspacesView::WorkspacesView(BRect frame, BPoint scrollingOffset,
|
WorkspacesView::WorkspacesView(BRect frame, BPoint scrollingOffset,
|
||||||
const char* name, int32 token, uint32 resizeMode, uint32 flags)
|
const char* name, int32 token, uint32 resizeMode, uint32 flags)
|
||||||
: View(frame, scrollingOffset, name, token, resizeMode, flags),
|
:
|
||||||
|
View(frame, scrollingOffset, name, token, resizeMode, flags),
|
||||||
fSelectedWindow(NULL),
|
fSelectedWindow(NULL),
|
||||||
fSelectedWorkspace(-1),
|
fSelectedWorkspace(-1),
|
||||||
fHasMoved(false)
|
fHasMoved(false)
|
||||||
|
|||||||
Reference in New Issue
Block a user