MIR: Fix system cursors. Been broken since custom cursor support was added!

This commit is contained in:
Brandon Schaefer 2016-07-13 07:07:08 -07:00
parent 495057b04b
commit eadb30cd6f
2 changed files with 5 additions and 8 deletions

View File

@ -137,8 +137,8 @@ static SDL_Cursor*
MIR_CreateSystemCursor(SDL_SystemCursor id) MIR_CreateSystemCursor(SDL_SystemCursor id)
{ {
char const* cursor_name = NULL; 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) { if (!cursor) {
return NULL; return NULL;
@ -188,9 +188,7 @@ MIR_CreateSystemCursor(SDL_SystemCursor id)
return NULL; return NULL;
} }
conf = MIR_mir_cursor_configuration_from_name(cursor_name); mir_cursor->conf = MIR_mir_cursor_configuration_from_name(cursor_name);
cursor->driverdata = conf;
return cursor; return cursor;
} }
@ -226,12 +224,12 @@ MIR_ShowCursor(SDL_Cursor* cursor)
MIR_Cursor* mir_cursor = (MIR_Cursor*)cursor->driverdata; MIR_Cursor* mir_cursor = (MIR_Cursor*)cursor->driverdata;
if (mir_cursor->conf) { 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)) { 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; return 0;

View File

@ -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(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(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_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_width,(MirResizeEvent const* resize_event))
SDL_MIR_SYM(int,mir_resize_event_get_height,(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)) SDL_MIR_SYM(char const*,mir_connection_get_error_message,(MirConnection* connection))