Browse Source

Wayland: Fixed not freeing memory if initialization failed.

Philipp Wiesemann 10 years ago
parent
commit
f87963488b
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/video/wayland/SDL_waylandvideo.c

+ 3 - 0
src/video/wayland/SDL_waylandvideo.c

@@ -284,11 +284,13 @@ Wayland_VideoInit(_THIS)
 
     data->display = WAYLAND_wl_display_connect(NULL);
     if (data->display == NULL) {
+        SDL_free(data);
         return SDL_SetError("Failed to connect to a Wayland display");
     }
 
     data->registry = wl_display_get_registry(data->display);
     if (data->registry == NULL) {
+        SDL_free(data);
         return SDL_SetError("Failed to get the Wayland registry");
     }
 
@@ -302,6 +304,7 @@ Wayland_VideoInit(_THIS)
 
     data->xkb_context = WAYLAND_xkb_context_new(0);
     if (!data->xkb_context) {
+        SDL_free(data);
         return SDL_SetError("Failed to create XKB context");
     }