mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-22 23:02:47 +01:00
Merge pull request #6217 from Morph1984/consistent-writebuffers
general: Write buffers before pushing raw arguments
This commit is contained in:
commit
17704271f4
3 changed files with 12 additions and 5 deletions
|
@ -104,9 +104,10 @@ void GetKeyCodeMapImpl(Kernel::HLERequestContext& ctx) {
|
|||
layout = key_code->second;
|
||||
}
|
||||
|
||||
ctx.WriteBuffer(layout);
|
||||
|
||||
IPC::ResponseBuilder rb{ctx, 2};
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
ctx.WriteBuffer(layout);
|
||||
}
|
||||
} // Anonymous namespace
|
||||
|
||||
|
|
|
@ -140,11 +140,12 @@ void ITimeZoneService::ToPosixTime(Kernel::HLERequestContext& ctx) {
|
|||
return;
|
||||
}
|
||||
|
||||
ctx.WriteBuffer(posix_time);
|
||||
|
||||
// TODO(bunnei): Handle multiple times
|
||||
IPC::ResponseBuilder rb{ctx, 3};
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
rb.PushRaw<u32>(1); // Number of times we're returning
|
||||
ctx.WriteBuffer(posix_time);
|
||||
}
|
||||
|
||||
void ITimeZoneService::ToPosixTimeWithMyRule(Kernel::HLERequestContext& ctx) {
|
||||
|
@ -163,10 +164,11 @@ void ITimeZoneService::ToPosixTimeWithMyRule(Kernel::HLERequestContext& ctx) {
|
|||
return;
|
||||
}
|
||||
|
||||
ctx.WriteBuffer(posix_time);
|
||||
|
||||
IPC::ResponseBuilder rb{ctx, 3};
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
rb.PushRaw<u32>(1); // Number of times we're returning
|
||||
ctx.WriteBuffer(posix_time);
|
||||
}
|
||||
|
||||
} // namespace Service::Time
|
||||
|
|
|
@ -1129,9 +1129,11 @@ private:
|
|||
}
|
||||
|
||||
NativeWindow native_window{*buffer_queue_id};
|
||||
const auto buffer_size = ctx.WriteBuffer(native_window.Serialize());
|
||||
|
||||
IPC::ResponseBuilder rb{ctx, 4};
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
rb.Push<u64>(ctx.WriteBuffer(native_window.Serialize()));
|
||||
rb.Push<u64>(buffer_size);
|
||||
}
|
||||
|
||||
void CloseLayer(Kernel::HLERequestContext& ctx) {
|
||||
|
@ -1173,10 +1175,12 @@ private:
|
|||
}
|
||||
|
||||
NativeWindow native_window{*buffer_queue_id};
|
||||
const auto buffer_size = ctx.WriteBuffer(native_window.Serialize());
|
||||
|
||||
IPC::ResponseBuilder rb{ctx, 6};
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
rb.Push(*layer_id);
|
||||
rb.Push<u64>(ctx.WriteBuffer(native_window.Serialize()));
|
||||
rb.Push<u64>(buffer_size);
|
||||
}
|
||||
|
||||
void DestroyStrayLayer(Kernel::HLERequestContext& ctx) {
|
||||
|
|
Loading…
Reference in a new issue