aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--types/xdg_shell/wlr_xdg_popup.c1
-rw-r--r--types/xdg_shell/wlr_xdg_toplevel.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/types/xdg_shell/wlr_xdg_popup.c b/types/xdg_shell/wlr_xdg_popup.c
index 17b71cd4..6f887fca 100644
--- a/types/xdg_shell/wlr_xdg_popup.c
+++ b/types/xdg_shell/wlr_xdg_popup.c
@@ -331,6 +331,7 @@ void create_xdg_popup(struct wlr_xdg_surface *surface,
wl_resource_get_version(surface->resource), id);
if (surface->popup->resource == NULL) {
free(surface->popup);
+ surface->popup = NULL;
wl_resource_post_no_memory(surface->resource);
return;
}
diff --git a/types/xdg_shell/wlr_xdg_toplevel.c b/types/xdg_shell/wlr_xdg_toplevel.c
index 8bbec935..ed7ecadd 100644
--- a/types/xdg_shell/wlr_xdg_toplevel.c
+++ b/types/xdg_shell/wlr_xdg_toplevel.c
@@ -475,6 +475,7 @@ void create_xdg_toplevel(struct wlr_xdg_surface *surface,
wl_resource_get_version(surface->resource), id);
if (surface->toplevel->resource == NULL) {
free(surface->toplevel);
+ surface->toplevel = NULL;
wl_resource_post_no_memory(surface->resource);
return;
}