Added server side support for BScreen::ProposeMode(), fixed client side too.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13269 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stefano Ceccherini
2005-06-25 05:58:43 +00:00
parent 4b7db694ce
commit 583f6c3eba
2 changed files with 25 additions and 0 deletions
+4
View File
@@ -273,6 +273,10 @@ BPrivateScreen::ProposeMode(display_mode *target,
BPrivate::AppServerLink link;
link.StartMessage(AS_PROPOSE_MODE);
link.Attach<screen_id>(ID());
link.Attach<display_mode>(*target);
link.Attach<display_mode>(*low);
link.Attach<display_mode>(*high);
int32 reply;
status_t status = B_ERROR;
if (link.FlushWithReply(reply) == B_OK && reply == SERVER_TRUE) {
+21
View File
@@ -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<screen_id>(&id);
display_mode target, low, high;
link.Read<display_mode>(&target);
link.Read<display_mode>(&low);
link.Read<display_mode>(&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<display_mode>(target);
fLink.Attach<status_t>(status);
fLink.Flush();
break;
}
case AS_GET_MODE_LIST:
{
display_mode* modeList;