From 0c1fb08a70ae10d4e959988752fa2e4320dd2faa Mon Sep 17 00:00:00 2001 From: Henry Gebhardt Date: Sat, 28 Jan 2012 22:58:10 +0100 Subject: [PATCH 1/4] taskbar: Fix infinite loop Unlink a task from its class list properly, in case it is re-added. This happens when you close windows of the same type in the order they were created, and they for some reason add themselves again for a short time. For example, LibreOffice writer 3.4.3 does this. Reported in several places, e.g. - https://sourceforge.net/tracker/?func=detail&aid=3468295&group_id=180858&atid=894869 - https://bugs.launchpad.net/ubuntu/+source/lxpanel/+bug/906825 - https://sourceforge.net/mailarchive/forum.php?thread_name=13525c43570.-2435697889463439497.-8626413068332756300%40zoho.com&forum_name=lxde-list --- src/plugins/taskbar.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/src/plugins/taskbar.c b/src/plugins/taskbar.c index 3dd0fed..ea822d9 100644 --- a/src/plugins/taskbar.c +++ b/src/plugins/taskbar.c @@ -438,6 +438,7 @@ static void task_unlink_class(Task * tk) if (tk_cursor == tk) tk_pred->res_class_flink = tk->res_class_flink; } + tk->res_class_flink = NULL; /* Recompute group visibility. */ recompute_group_visibility_for_class(tk->tb, tc); -- 1.7.8.4