summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2010-12-07 23:57:08 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2012-02-28 08:29:08 +0100
commit0462cb055f8acc8bc7415402390f86b7d1974f82 (patch)
treee94185cf1872ea35c7655512e7e557c644383aaa
parent3a08fcaadceb1ce8565d625b1ab975b0b6c350f4 (diff)
wayland: implement DestroyWindow
-rw-r--r--src/video/wayland/SDL_waylandvideo.c1
-rw-r--r--src/video/wayland/SDL_waylandwindow.c13
-rw-r--r--src/video/wayland/SDL_waylandwindow.h1
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 */