Currently a window appearing and disappearing quickly can trigger a race that causes the xwayland test to fail.
The root cause of this is hash_table_lookup failing to find a window that's already been deleted but is still receiving events. I've changed how hash_table_lookup() works a little so we get warnings if we don't properly pay attention to whether it found anything or not, and then made every caller check if the return is valid. I think pretty much any event could cause a crash if it happened on our frame window soon enough after the client window was destroyed, so I'm not sure if any of these new checks can sensibly log anything when they fail. oh, and I fixed a messed up break; to early exit a for loop just cuz I was in the neighbourhood... Derek Foreman (3): xwm: fix extra break xwm: Make hash_table_lookup use an output parameter xwm: Test hash_table_lookup() returns xwayland/hash.c | 15 ++++--- xwayland/hash.h | 6 ++- xwayland/window-manager.c | 110 ++++++++++++++++++++++++++++++++-------------- 3 files changed, 91 insertions(+), 40 deletions(-) -- 2.1.4 _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
