diff --git a/libweston/desktop/surface.c b/libweston/desktop/surface.c index 74707f6a6..789612197 100644 --- a/libweston/desktop/surface.c +++ b/libweston/desktop/surface.c @@ -888,6 +888,8 @@ weston_desktop_surface_foreach_child(struct weston_desktop_surface *surface, { struct weston_desktop_surface *child; - wl_list_for_each(child, &surface->children_list, children_link) - callback(child, user_data); + wl_list_for_each(child, &surface->children_list, children_link) { + if (weston_desktop_surface_get_user_data(child)) + callback(child, user_data); + } }