diff --git a/src/kits/interface/PrivateScreen.cpp b/src/kits/interface/PrivateScreen.cpp index 5c9f97d001..59fffd25fc 100644 --- a/src/kits/interface/PrivateScreen.cpp +++ b/src/kits/interface/PrivateScreen.cpp @@ -273,6 +273,10 @@ BPrivateScreen::ProposeMode(display_mode *target, BPrivate::AppServerLink link; link.StartMessage(AS_PROPOSE_MODE); link.Attach(ID()); + link.Attach(*target); + link.Attach(*low); + link.Attach(*high); + int32 reply; status_t status = B_ERROR; if (link.FlushWithReply(reply) == B_OK && reply == SERVER_TRUE) { diff --git a/src/servers/app/ServerApp.cpp b/src/servers/app/ServerApp.cpp index a9214ab047..05da17aa8d 100644 --- a/src/servers/app/ServerApp.cpp +++ b/src/servers/app/ServerApp.cpp @@ -1891,6 +1891,27 @@ status_t ret = B_ERROR; break; } + case AS_PROPOSE_MODE: + { + STRACE(("ServerApp %s: AS_PROPOSE_MODE\n", fSignature.String())); + screen_id id; + link.Read(&id); + + display_mode target, low, high; + link.Read(&target); + link.Read(&low); + link.Read(&high); + status_t status = gDesktop->GetHWInterface()->ProposeMode(&target, &low, &high); + // TODO: We always return SERVER_TRUE and put the real + // error code in the message. FIX this. + fLink.StartMessage(SERVER_TRUE); + fLink.Attach(target); + fLink.Attach(status); + fLink.Flush(); + + break; + } + case AS_GET_MODE_LIST: { display_mode* modeList;