Fix possible memory issue in commit 5efc0f05fc06cdb52c54338d0139d7316c3c1133
authorAndriy Grytsenko <andrej@rep.kiev.ua>
Mon, 5 Mar 2018 15:00:32 +0000 (17:00 +0200)
committerAndriy Grytsenko <andrej@rep.kiev.ua>
Mon, 5 Mar 2018 15:00:32 +0000 (17:00 +0200)
plugins/task-button.c

index 7e555b8..e1e68bb 100644 (file)
@@ -1541,11 +1541,13 @@ void task_button_update_windows_list(TaskButton *button, Window *list, gint n)
     if (button->details == NULL) /* all windows were deleted */
     {
         GList *menu_list = gtk_menu_get_for_attach_widget(GTK_WIDGET(button));
-        for (; menu_list; menu_list = menu_list->next)
+        menu_list = g_list_copy(menu_list);
+        for (l = menu_list; l; l = l->next)
         {
-            GtkMenu *menu = GTK_MENU(menu_list->data);
+            GtkMenu *menu = GTK_MENU(l->data);
             gtk_menu_detach(menu);
         }
+        g_list_free(menu_list);
         gtk_widget_destroy(GTK_WIDGET(button));
     }
     else if (has_removed && task_update_visibility(button))