mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
[client,sdl] handle clipboard events in SdlContext
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user