aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Versace <chad.versace@linux.intel.com>2012-05-18 12:26:51 -0700
committerChad Versace <chad.versace@linux.intel.com>2012-05-23 12:14:40 -0700
commit921fc921ed88c9e762d37711c66256faaca978fb (patch)
tree4948c25f341c12fb6e1fbe2b237b16e3caf4a507
parent921c23513232d25e873e5ac49744e1d7050bcfb1 (diff)
downloadwaffle-921fc921ed88c9e762d37711c66256faaca978fb.tar.gz
wayland: Implement waffle_window_show()
Add function wayland_window_show() and hook it up in the dispatch table. wayland_window_create() no longer shows the window. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
-rw-r--r--src/waffle/wayland/wayland_platform.c1
-rw-r--r--src/waffle/wayland/wayland_window.c13
-rw-r--r--src/waffle/wayland/wayland_window.h3
3 files changed, 14 insertions, 3 deletions
diff --git a/src/waffle/wayland/wayland_platform.c b/src/waffle/wayland/wayland_platform.c
index fdcf4fd..6c979ea 100644
--- a/src/waffle/wayland/wayland_platform.c
+++ b/src/waffle/wayland/wayland_platform.c
@@ -50,6 +50,7 @@ static const struct native_dispatch wayland_dispatch = {
.dl_sym = wayland_dl_sym,
.window_create = wayland_window_create,
.window_destroy = wayland_window_destroy,
+ .window_show = wayland_window_show,
.window_swap_buffers = wayland_window_swap_buffers,
.make_current = wayland_make_current,
.get_proc_address = wayland_get_proc_address,
diff --git a/src/waffle/wayland/wayland_window.c b/src/waffle/wayland/wayland_window.c
index b3725ab..a2027f4 100644
--- a/src/waffle/wayland/wayland_window.c
+++ b/src/waffle/wayland/wayland_window.c
@@ -87,9 +87,6 @@ wayland_window_create(
if (!self->wl->egl_surface)
goto error;
-
- wl_shell_surface_set_toplevel(self->wl->wl_shell_surface);
-
return self;
error:
@@ -121,6 +118,16 @@ wayland_window_destroy(union native_window *self)
return ok;
}
+bool
+wayland_window_show(union native_window *native_self)
+{
+ struct wayland_window *self = native_self->wl;
+
+ wl_shell_surface_set_toplevel(self->wl_shell_surface);
+
+ // FIXME: How to detect errors in Wayland?
+ return true;
+}
bool
wayland_window_swap_buffers(union native_window *self)
diff --git a/src/waffle/wayland/wayland_window.h b/src/waffle/wayland/wayland_window.h
index 24b9b87..1b908b6 100644
--- a/src/waffle/wayland/wayland_window.h
+++ b/src/waffle/wayland/wayland_window.h
@@ -36,6 +36,9 @@ bool
wayland_window_destroy(union native_window *self);
bool
+wayland_window_show(union native_window *native_self);
+
+bool
wayland_window_swap_buffers(union native_window *self);
/// @}