From a94fb932ff8a326a2e85ab3814663af565313ec5 Mon Sep 17 00:00:00 2001 From: Lectem Date: Sat, 30 Jul 2016 18:19:00 +0200 Subject: fix #1942 and adds a few IPC functions for descriptors --- src/core/hle/service/apt/apt.cpp | 4 ++-- src/core/hle/service/cam/cam.cpp | 6 +++--- src/core/hle/service/csnd_snd.cpp | 2 +- src/core/hle/service/srv.cpp | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src/core/hle/service') diff --git a/src/core/hle/service/apt/apt.cpp b/src/core/hle/service/apt/apt.cpp index c009e6c98..5af0d49ba 100644 --- a/src/core/hle/service/apt/apt.cpp +++ b/src/core/hle/service/apt/apt.cpp @@ -53,7 +53,7 @@ void Initialize(Service::Interface* self) { u32 app_id = cmd_buff[1]; u32 flags = cmd_buff[2]; - cmd_buff[2] = IPC::MoveHandleDesc(2); + cmd_buff[2] = IPC::CopyHandleDesc(2); cmd_buff[3] = Kernel::g_handle_table.Create(notification_event).MoveFrom(); cmd_buff[4] = Kernel::g_handle_table.Create(parameter_event).MoveFrom(); @@ -96,7 +96,7 @@ void GetSharedFont(Service::Interface* self) { // the real APT service calculates this address by scanning the entire address space (using svcQueryMemory) // and searches for an allocation of the same size as the Shared Font. cmd_buff[2] = target_address; - cmd_buff[3] = IPC::MoveHandleDesc(); + cmd_buff[3] = IPC::CopyHandleDesc(); cmd_buff[4] = Kernel::g_handle_table.Create(shared_font_mem).MoveFrom(); } diff --git a/src/core/hle/service/cam/cam.cpp b/src/core/hle/service/cam/cam.cpp index 9df48a650..6edcf9610 100644 --- a/src/core/hle/service/cam/cam.cpp +++ b/src/core/hle/service/cam/cam.cpp @@ -51,7 +51,7 @@ void GetVsyncInterruptEvent(Service::Interface* self) { cmd_buff[0] = IPC::MakeHeader(0x5, 1, 2); cmd_buff[1] = RESULT_SUCCESS.raw; - cmd_buff[2] = IPC::MoveHandleDesc(); + cmd_buff[2] = IPC::CopyHandleDesc(); cmd_buff[3] = Kernel::g_handle_table.Create(vsync_interrupt_error_event).MoveFrom(); LOG_WARNING(Service_CAM, "(STUBBED) called, port=%d", port); @@ -64,7 +64,7 @@ void GetBufferErrorInterruptEvent(Service::Interface* self) { cmd_buff[0] = IPC::MakeHeader(0x6, 1, 2); cmd_buff[1] = RESULT_SUCCESS.raw; - cmd_buff[2] = IPC::MoveHandleDesc(); + cmd_buff[2] = IPC::CopyHandleDesc(); cmd_buff[3] = Kernel::g_handle_table.Create(interrupt_error_event).MoveFrom(); LOG_WARNING(Service_CAM, "(STUBBED) called, port=%d", port); @@ -85,7 +85,7 @@ void SetReceiving(Service::Interface* self) { cmd_buff[0] = IPC::MakeHeader(0x7, 1, 2); cmd_buff[1] = RESULT_SUCCESS.raw; - cmd_buff[2] = IPC::MoveHandleDesc(); + cmd_buff[2] = IPC::CopyHandleDesc(); cmd_buff[3] = Kernel::g_handle_table.Create(completion_event).MoveFrom(); LOG_WARNING(Service_CAM, "(STUBBED) called, addr=0x%X, port=%d, image_size=%d, trans_unit=%d", diff --git a/src/core/hle/service/csnd_snd.cpp b/src/core/hle/service/csnd_snd.cpp index d2bb8941c..913c8dc09 100644 --- a/src/core/hle/service/csnd_snd.cpp +++ b/src/core/hle/service/csnd_snd.cpp @@ -51,7 +51,7 @@ void Initialize(Service::Interface* self) { mutex = Kernel::Mutex::Create(false); cmd_buff[1] = RESULT_SUCCESS.raw; - cmd_buff[2] = IPC::MoveHandleDesc(2); + cmd_buff[2] = IPC::CopyHandleDesc(2); cmd_buff[3] = Kernel::g_handle_table.Create(mutex).MoveFrom(); cmd_buff[4] = Kernel::g_handle_table.Create(shared_memory).MoveFrom(); } diff --git a/src/core/hle/service/srv.cpp b/src/core/hle/service/srv.cpp index 8bd36d5ea..3c05f836b 100644 --- a/src/core/hle/service/srv.cpp +++ b/src/core/hle/service/srv.cpp @@ -57,7 +57,7 @@ static void EnableNotification(Service::Interface* self) { cmd_buff[0] = IPC::MakeHeader(0x2, 0x1, 0x2); // 0x20042 cmd_buff[1] = RESULT_SUCCESS.raw; // No error - cmd_buff[2] = IPC::TransferHandleDesc(); + cmd_buff[2] = IPC::CopyHandleDesc(1); cmd_buff[3] = Kernel::g_handle_table.Create(event_handle).MoveFrom(); LOG_WARNING(Service_SRV, "(STUBBED) called"); } -- cgit v1.2.3