From f812bf8b4c9c402a1f51cc2a125ca78d13414d0a Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Sun, 1 May 2005 06:26:49 +0000 Subject: [PATCH] Implemented server side support for BScreen::SetMode(). Note that setting the mode works, but rootlayer crashes afterwards. I guess I'll need to lock something. Adi ? Stephan ? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12523 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/ServerApp.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/servers/app/ServerApp.cpp b/src/servers/app/ServerApp.cpp index c4b81f1fa1..0c2288039f 100644 --- a/src/servers/app/ServerApp.cpp +++ b/src/servers/app/ServerApp.cpp @@ -1854,6 +1854,40 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg) break; } + case AS_SCREEN_SET_MODE: + { + // Attached data + // 1) int32 port to reply to + // 2) screen_id + // 3) workspace index + // 4) display_mode to set + // 5) 'makedefault' boolean + screen_id id; + msg.Read(&id); + + uint32 workspace; + msg.Read(&workspace); + + display_mode mode; + msg.Read(&mode); + + bool makedefault = false; + msg.Read(&makedefault); + + // TODO: See above: workspaces support, etc. + // TODO: This should return something + desktop->GetDisplayDriver()->SetMode(mode); + + int32 replyport; + msg.Read(&replyport); + + replylink.SetSendPort(replyport); + replylink.StartMessage(SERVER_TRUE); + replylink.Attach(B_OK); + replylink.Flush(); + break; + } + default: { STRACE(("ServerApp %s received unhandled message code offset %s\n",fSignature.String(),