Fix: change check for domain order and existance of domain message header
This commit is contained in:
parent
1572c45aa0
commit
827152d1fd
|
@ -118,7 +118,8 @@ public:
|
||||||
|
|
||||||
AlignWithPadding();
|
AlignWithPadding();
|
||||||
|
|
||||||
if (context.Session()->IsDomain() && context.GetDomainMessageHeader()) {
|
const bool request_has_domain_header{context.GetDomainMessageHeader() != nullptr};
|
||||||
|
if (context.Session()->IsDomain() && request_has_domain_header) {
|
||||||
IPC::DomainMessageHeader domain_header{};
|
IPC::DomainMessageHeader domain_header{};
|
||||||
domain_header.num_objects = num_domain_objects;
|
domain_header.num_objects = num_domain_objects;
|
||||||
PushRaw(domain_header);
|
PushRaw(domain_header);
|
||||||
|
|
|
@ -198,7 +198,7 @@ ResultCode HLERequestContext::WriteToOutgoingCommandBuffer(u32_le* dst_cmdbuf, P
|
||||||
|
|
||||||
// TODO(Subv): Translate the X/A/B/W buffers.
|
// TODO(Subv): Translate the X/A/B/W buffers.
|
||||||
|
|
||||||
if (domain_message_header && Session()->IsDomain()) {
|
if (Session()->IsDomain() && domain_message_header) {
|
||||||
ASSERT(domain_message_header->num_objects == domain_objects.size());
|
ASSERT(domain_message_header->num_objects == domain_objects.size());
|
||||||
// Write the domain objects to the command buffer, these go after the raw untranslated data.
|
// Write the domain objects to the command buffer, these go after the raw untranslated data.
|
||||||
// TODO(Subv): This completely ignores C buffers.
|
// TODO(Subv): This completely ignores C buffers.
|
||||||
|
|
|
@ -96,7 +96,7 @@ ResultCode ServerSession::HandleSyncRequest(SharedPtr<Thread> thread) {
|
||||||
|
|
||||||
ResultCode result = RESULT_SUCCESS;
|
ResultCode result = RESULT_SUCCESS;
|
||||||
// If the session has been converted to a domain, handle the domain request
|
// If the session has been converted to a domain, handle the domain request
|
||||||
if (context.GetDomainMessageHeader() && IsDomain()) {
|
if (IsDomain() && context.GetDomainMessageHeader()) {
|
||||||
result = HandleDomainSyncRequest(context);
|
result = HandleDomainSyncRequest(context);
|
||||||
// If there is no domain header, the regular session handler is used
|
// If there is no domain header, the regular session handler is used
|
||||||
} else if (hle_handler != nullptr) {
|
} else if (hle_handler != nullptr) {
|
||||||
|
|
Loading…
Reference in New Issue