Browse Source

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

Brandon Schaefer 8 years ago
parent
commit
eadb30cd6f
2 changed files with 5 additions and 8 deletions
  1. 5 7
      src/video/mir/SDL_mirmouse.c
  2. 0 1
      src/video/mir/SDL_mirsym.h

+ 5 - 7
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;

+ 0 - 1
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))