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:
@@ -273,6 +273,10 @@ BPrivateScreen::ProposeMode(display_mode *target,
|
|||||||
BPrivate::AppServerLink link;
|
BPrivate::AppServerLink link;
|
||||||
link.StartMessage(AS_PROPOSE_MODE);
|
link.StartMessage(AS_PROPOSE_MODE);
|
||||||
link.Attach<screen_id>(ID());
|
link.Attach<screen_id>(ID());
|
||||||
|
link.Attach<display_mode>(*target);
|
||||||
|
link.Attach<display_mode>(*low);
|
||||||
|
link.Attach<display_mode>(*high);
|
||||||
|
|
||||||
int32 reply;
|
int32 reply;
|
||||||
status_t status = B_ERROR;
|
status_t status = B_ERROR;
|
||||||
if (link.FlushWithReply(reply) == B_OK && reply == SERVER_TRUE) {
|
if (link.FlushWithReply(reply) == B_OK && reply == SERVER_TRUE) {
|
||||||
|
|||||||
@@ -1891,6 +1891,27 @@ status_t ret = B_ERROR;
|
|||||||
break;
|
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:
|
case AS_GET_MODE_LIST:
|
||||||
{
|
{
|
||||||
display_mode* modeList;
|
display_mode* modeList;
|
||||||
|
|||||||
Reference in New Issue
Block a user