From: Pekka Paalanen <pekka.paala...@collabora.co.uk>

Add more sanity checks to get_ivi_shell_surface() just in case.

If the configure hook is set, we must always have non-NULL
configure_private.

Check the ivi_shell_surface matches the surface.

Signed-off-by: Pekka Paalanen <pekka.paala...@collabora.co.uk>
---
 ivi-shell/ivi-shell.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c
index d136f46..c502c74 100644
--- a/ivi-shell/ivi-shell.c
+++ b/ivi-shell/ivi-shell.c
@@ -81,10 +81,16 @@ ivi_shell_surface_configure(struct weston_surface *, 
int32_t, int32_t);
 static struct ivi_shell_surface *
 get_ivi_shell_surface(struct weston_surface *surface)
 {
-       if (surface->configure == ivi_shell_surface_configure)
-               return surface->configure_private;
+       struct ivi_shell_surface *shsurf;
+
+       if (surface->configure != ivi_shell_surface_configure)
+               return NULL;
+
+       shsurf = surface->configure_private;
+       assert(shsurf);
+       assert(shsurf->surface == surface);
 
-       return NULL;
+       return shsurf;
 }
 
 void
-- 
2.7.3

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to