diff --git a/src/fe-common/core/fe-channels.c b/src/fe-common/core/fe-channels.c index ff0ff6e9..d17485be 100644 --- a/src/fe-common/core/fe-channels.c +++ b/src/fe-common/core/fe-channels.c @@ -58,7 +58,7 @@ static void signal_channel_destroyed(CHANNEL_REC *channel) window = window_item_window((WI_ITEM_REC *) channel); if (window != NULL) { - window_item_destroy(window, (WI_ITEM_REC *) channel); + window_item_destroy((WI_ITEM_REC *) channel); if (window->items == NULL && windows->next != NULL && (!channel->joined || channel->left) && diff --git a/src/fe-common/core/fe-queries.c b/src/fe-common/core/fe-queries.c index b9d559b8..e12fa7cf 100644 --- a/src/fe-common/core/fe-queries.c +++ b/src/fe-common/core/fe-queries.c @@ -80,7 +80,7 @@ static void signal_query_destroyed(QUERY_REC *query) window = window_item_window((WI_ITEM_REC *) query); if (window != NULL) { - window_item_destroy(window, (WI_ITEM_REC *) query); + window_item_destroy((WI_ITEM_REC *) query); if (window->items == NULL && windows->next != NULL && !query->unwanted && settings_get_bool("autoclose_windows")) diff --git a/src/fe-common/core/fe-windows.c b/src/fe-common/core/fe-windows.c index 8a052606..716a0ccd 100644 --- a/src/fe-common/core/fe-windows.c +++ b/src/fe-common/core/fe-windows.c @@ -114,7 +114,7 @@ void window_destroy(WINDOW_REC *window) } while (window->items != NULL) - window_item_destroy(window, window->items->data); + window_item_destroy(window->items->data); if (settings_get_bool("windows_auto_renumber")) windows_pack(window->refnum); diff --git a/src/fe-common/core/window-items.c b/src/fe-common/core/window-items.c index c24b111a..e3b4468d 100644 --- a/src/fe-common/core/window-items.c +++ b/src/fe-common/core/window-items.c @@ -58,11 +58,14 @@ void window_item_add(WINDOW_REC *window, WI_ITEM_REC *item, int automatic) } } -void window_item_remove(WINDOW_REC *window, WI_ITEM_REC *item) +void window_item_remove(WI_ITEM_REC *item) { - g_return_if_fail(window != NULL); + WINDOW_REC *window; + g_return_if_fail(item != NULL); + window = window_item_window(item); + if (g_slist_find(window->items, item) == NULL) return; @@ -77,9 +80,12 @@ void window_item_remove(WINDOW_REC *window, WI_ITEM_REC *item) signal_emit("window item remove", 2, window, item); } -void window_item_destroy(WINDOW_REC *window, WI_ITEM_REC *item) +void window_item_destroy(WI_ITEM_REC *item) { - window_item_remove(window, item); + WINDOW_REC *window; + + window = window_item_window(item); + window_item_remove(item); signal_emit("window item destroy", 2, window, item); } @@ -103,7 +109,7 @@ void window_item_set_active(WINDOW_REC *window, WI_ITEM_REC *item) if (item != NULL && window_item_window(item) != window) { /* move item to different window */ - window_item_remove(window_item_window(item), item); + window_item_remove(item); window_item_add(window, item, FALSE); } diff --git a/src/fe-common/core/window-items.h b/src/fe-common/core/window-items.h index 55b4852e..f8db3c39 100644 --- a/src/fe-common/core/window-items.h +++ b/src/fe-common/core/window-items.h @@ -5,8 +5,8 @@ /* Add/remove/destroy window item from `window' */ void window_item_add(WINDOW_REC *window, WI_ITEM_REC *item, int automatic); -void window_item_remove(WINDOW_REC *window, WI_ITEM_REC *item); -void window_item_destroy(WINDOW_REC *window, WI_ITEM_REC *item); +void window_item_remove(WI_ITEM_REC *item); +void window_item_destroy(WI_ITEM_REC *item); /* Find a window for `item' and call window_item_add(). */ void window_item_create(WI_ITEM_REC *item, int automatic);