From 0cca4b83be909223373485f2de7184ed32783f71 Mon Sep 17 00:00:00 2001 From: DH Date: Mon, 14 Oct 2024 19:15:44 +0300 Subject: [PATCH] orbis-kernel: kevent: always clear display and graphics core events --- orbis-kernel/src/sys/sys_event.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/orbis-kernel/src/sys/sys_event.cpp b/orbis-kernel/src/sys/sys_event.cpp index f20486773..5a6a8ff83 100644 --- a/orbis-kernel/src/sys/sys_event.cpp +++ b/orbis-kernel/src/sys/sys_event.cpp @@ -134,6 +134,10 @@ static SysResult keventChange(KQueue *kq, KEvent &change, Thread *thread) { return orbis::ErrorCode::NOENT; } + if (change.filter == kEvFiltDisplay || change.filter == kEvFiltGraphicsCore) { + change.flags |= kEvClear; + } + if (!noteLock.owns_lock()) { noteLock = std::unique_lock(nodeIt->mutex); } @@ -300,7 +304,7 @@ orbis::SysResult orbis::sys_kevent(Thread *thread, sint fd, if (note.event.filter == kEvFiltGraphicsCore || note.event.filter == kEvFiltDisplay) { - waitHack = true; + note.triggered = false; } if (note.event.flags & kEvDispatch) {