diff options
| author | bunnei <bunneidev@gmail.com> | 2018-07-17 00:05:13 -0400 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2018-07-17 00:26:23 -0400 |
| commit | 170e19d4eab455ad4d28ad72799cc6687692392d (patch) | |
| tree | ab2c73b4cd29b32e6c79c0274d65fe7cee7f6070 /src/core/hle/service/vi/vi.cpp | |
| parent | f00ca69a81b0520ab40ed3731d8c6921052e598e (diff) | |
nvflinger: Fix for BufferQueue event handling.
Diffstat (limited to 'src/core/hle/service/vi/vi.cpp')
| -rw-r--r-- | src/core/hle/service/vi/vi.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/hle/service/vi/vi.cpp b/src/core/hle/service/vi/vi.cpp index f3765b555..e094510bf 100644 --- a/src/core/hle/service/vi/vi.cpp +++ b/src/core/hle/service/vi/vi.cpp @@ -495,7 +495,7 @@ private: ctx.WriteBuffer(response.Serialize()); } else { // Wait the current thread until a buffer becomes available - auto wait_event = ctx.SleepClientThread( + ctx.SleepClientThread( Kernel::GetCurrentThread(), "IHOSBinderDriver::DequeueBuffer", -1, [=](Kernel::SharedPtr<Kernel::Thread> thread, Kernel::HLERequestContext& ctx, ThreadWakeupReason reason) { @@ -506,8 +506,8 @@ private: ctx.WriteBuffer(response.Serialize()); IPC::ResponseBuilder rb{ctx, 2}; rb.Push(RESULT_SUCCESS); - }); - buffer_queue->SetBufferWaitEvent(std::move(wait_event)); + }, + buffer_queue->GetBufferWaitEvent()); } } else if (transaction == TransactionId::RequestBuffer) { IGBPRequestBufferRequestParcel request{ctx.ReadBuffer()}; @@ -565,7 +565,7 @@ private: LOG_WARNING(Service_VI, "(STUBBED) called id={}, unknown={:08X}", id, unknown); IPC::ResponseBuilder rb{ctx, 2, 1}; rb.Push(RESULT_SUCCESS); - rb.PushCopyObjects(buffer_queue->GetNativeHandle()); + rb.PushCopyObjects(buffer_queue->GetBufferWaitEvent()); } std::shared_ptr<NVFlinger::NVFlinger> nv_flinger; |
