[client,sdl] handle clipboard events in SdlContext

This commit is contained in:
Armin Novak
2026-01-27 14:00:28 +01:00
committed by akallabeth
parent dcdde8122d
commit ba07955689
5 changed files with 8 additions and 9 deletions

View File

@@ -183,7 +183,7 @@ bool sdlClip::contains(const char** mime_types, Sint32 count)
return false;
}
bool sdlClip::handle_update(const SDL_ClipboardEvent& ev)
bool sdlClip::handleEvent(const SDL_ClipboardEvent& ev)
{
if (!_ctx || !_sync || ev.owner)
{

View File

@@ -87,7 +87,7 @@ class sdlClip
[[nodiscard]] bool init(CliprdrClientContext* clip);
[[nodiscard]] bool uninit(CliprdrClientContext* clip);
[[nodiscard]] bool handle_update(const SDL_ClipboardEvent& ev);
[[nodiscard]] bool handleEvent(const SDL_ClipboardEvent& ev);
private:
[[nodiscard]] UINT SendClientCapabilities();

View File

@@ -1096,6 +1096,11 @@ bool SdlContext::handleEvent(const SDL_Event& ev)
const auto& cev = ev.wheel;
return handleEvent(cev);
}
case SDL_EVENT_CLIPBOARD_UPDATE:
{
const auto& cev = ev.clipboard;
return getClipboardChannelContext().handleEvent(cev);
}
default:
return true;
}

View File

@@ -235,10 +235,6 @@ static void sdl_term_handler([[maybe_unused]] int signum, [[maybe_unused]] const
if (!sdl_Pointer_Set_Process(sdl))
return -1;
break;
case SDL_EVENT_CLIPBOARD_UPDATE:
if (!sdl->getClipboardChannelContext().handle_update(windowEvent.clipboard))
return -1;
break;
case SDL_EVENT_USER_QUIT:
default:
break;