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

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)
{
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;

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(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))