diff options
author | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2010-12-07 23:57:08 +0100 |
---|---|---|
committer | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2012-02-28 08:29:08 +0100 |
commit | 0462cb055f8acc8bc7415402390f86b7d1974f82 (patch) | |
tree | e94185cf1872ea35c7655512e7e557c644383aaa | |
parent | 3a08fcaadceb1ce8565d625b1ab975b0b6c350f4 (diff) |
wayland: implement DestroyWindow
-rw-r--r-- | src/video/wayland/SDL_waylandvideo.c | 1 | ||||
-rw-r--r-- | src/video/wayland/SDL_waylandwindow.c | 13 | ||||
-rw-r--r-- | src/video/wayland/SDL_waylandwindow.h | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/src/video/wayland/SDL_waylandvideo.c b/src/video/wayland/SDL_waylandvideo.c index 3458d785..9f8fef1e 100644 --- a/src/video/wayland/SDL_waylandvideo.c +++ b/src/video/wayland/SDL_waylandvideo.c @@ -98,6 +98,7 @@ Wayland_CreateDevice(int devindex) device->CreateWindow = Wayland_CreateWindow; device->ShowWindow = Wayland_ShowWindow; + device->DestroyWindow = Wayland_DestroyWindow; device->free = Wayland_DeleteDevice; diff --git a/src/video/wayland/SDL_waylandwindow.c b/src/video/wayland/SDL_waylandwindow.c index 0913b580..705310d0 100644 --- a/src/video/wayland/SDL_waylandwindow.c +++ b/src/video/wayland/SDL_waylandwindow.c @@ -84,3 +84,16 @@ int Wayland_CreateWindow(_THIS, SDL_Window * window) return 0; } + +extern void Wayland_DestroyWindow(_THIS, SDL_Window * window) +{ + SDL_WaylandWindow *data = (SDL_WaylandWindow*) window->driverdata; + SDL_WaylandData *d; + window->driverdata = NULL; + + if (data) { + d = data->waylandData; + wl_surface_destroy(data->surface); + } + SDL_free(data); +} diff --git a/src/video/wayland/SDL_waylandwindow.h b/src/video/wayland/SDL_waylandwindow.h index b7190a0e..05295048 100644 --- a/src/video/wayland/SDL_waylandwindow.h +++ b/src/video/wayland/SDL_waylandwindow.h @@ -27,6 +27,7 @@ typedef struct extern void Wayland_ShowWindow(_THIS, SDL_Window * window); extern int Wayland_CreateWindow(_THIS, SDL_Window * window); +extern void Wayland_DestroyWindow(_THIS, SDL_Window * window); #endif /* _SDL_waylandwindow_h */ |