[PATCH] compositor: remove destroyed surfaces from layer lists even if unmapped

Philipp Brüschweiler blei42 at gmail.com
Sat Aug 4 06:59:55 PDT 2012


This bug can be observed in action using the following steps:
* ./editor
* (in another terminal) ./keyboard
* click into a field of the editor (the keyboard appears)
* click outside of a field of the editor (keybord disappears)
* kill the keyboard (ctrl-c)
* click into a field of the editor again
---
 src/compositor.c | 2 ++
 1 Datei geändert, 2 Zeilen hinzugefügt(+)

diff --git a/src/compositor.c b/src/compositor.c
index a3273dc..b1560e9 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -693,6 +693,8 @@ destroy_surface(struct wl_resource *resource)
 
 	if (weston_surface_is_mapped(surface))
 		weston_surface_unmap(surface);
+	else if (surface->layer_link.next)
+		wl_list_remove(&surface->layer_link);
 
 	glDeleteTextures(surface->num_textures, surface->textures);
 
-- 
1.7.11.4



More information about the wayland-devel mailing list