From eadb30cd6f703061ab312a18ee382d42bb3ca822 Mon Sep 17 00:00:00 2001 From: Brandon Schaefer Date: Wed, 13 Jul 2016 07:07:08 -0700 Subject: [PATCH] MIR: Fix system cursors. Been broken since custom cursor support was added! --- src/video/mir/SDL_mirmouse.c | 12 +++++------- src/video/mir/SDL_mirsym.h | 1 - 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/video/mir/SDL_mirmouse.c b/src/video/mir/SDL_mirmouse.c index b028d00b5..1a22b28e8 100644 --- a/src/video/mir/SDL_mirmouse.c +++ b/src/video/mir/SDL_mirmouse.c @@ -137,8 +137,8 @@ static SDL_Cursor* MIR_CreateSystemCursor(SDL_SystemCursor id) { char const* cursor_name = NULL; - MirCursorConfiguration* conf; - SDL_Cursor* cursor = MIR_CreateDefaultCursor(); + SDL_Cursor* cursor = MIR_CreateDefaultCursor(); + MIR_Cursor* mir_cursor = (MIR_Cursor*)cursor->driverdata; if (!cursor) { return NULL; @@ -188,9 +188,7 @@ MIR_CreateSystemCursor(SDL_SystemCursor id) return NULL; } - conf = MIR_mir_cursor_configuration_from_name(cursor_name); - - cursor->driverdata = conf; + mir_cursor->conf = MIR_mir_cursor_configuration_from_name(cursor_name); return cursor; } @@ -226,12 +224,12 @@ MIR_ShowCursor(SDL_Cursor* cursor) MIR_Cursor* mir_cursor = (MIR_Cursor*)cursor->driverdata; if (mir_cursor->conf) { - MIR_mir_wait_for(MIR_mir_surface_configure_cursor(mir_window->surface, mir_cursor->conf)); + MIR_mir_surface_configure_cursor(mir_window->surface, mir_cursor->conf); } } } else if(mir_window && MIR_mir_surface_is_valid(mir_window->surface)) { - MIR_mir_wait_for(MIR_mir_surface_configure_cursor(mir_window->surface, NULL)); + MIR_mir_surface_configure_cursor(mir_window->surface, NULL); } return 0; diff --git a/src/video/mir/SDL_mirsym.h b/src/video/mir/SDL_mirsym.h index 0353aa89f..298d574a7 100644 --- a/src/video/mir/SDL_mirsym.h +++ b/src/video/mir/SDL_mirsym.h @@ -91,7 +91,6 @@ SDL_MIR_SYM(void,mir_buffer_stream_release_sync,(MirBufferStream *stream)) SDL_MIR_SYM(MirCursorConfiguration*,mir_cursor_configuration_from_name,(char const* cursor_name)) SDL_MIR_SYM(MirWaitHandle*,mir_surface_configure_cursor,(MirSurface* surface, MirCursorConfiguration const* conf)) SDL_MIR_SYM(void,mir_cursor_configuration_destroy,(MirCursorConfiguration* conf)) -SDL_MIR_SYM(void,mir_wait_for,(MirWaitHandle* handle)) SDL_MIR_SYM(int,mir_resize_event_get_width,(MirResizeEvent const* resize_event)) SDL_MIR_SYM(int,mir_resize_event_get_height,(MirResizeEvent const* resize_event)) SDL_MIR_SYM(char const*,mir_connection_get_error_message,(MirConnection* connection))