1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-09-22 19:45:54 -04:00

Fixed swapping windows when in source win

This commit is contained in:
James Booth 2015-03-03 22:10:01 +00:00
parent 30b5f112fd
commit 6be4b400b8

View File

@ -639,20 +639,21 @@ wins_swap(int source_win, int target_win)
{
ProfWin *source = g_hash_table_lookup(windows, GINT_TO_POINTER(source_win));
if (source != NULL) {
if (source) {
ProfWin *target = g_hash_table_lookup(windows, GINT_TO_POINTER(target_win));
// target window empty
if (target == NULL) {
if (!target) {
g_hash_table_steal(windows, GINT_TO_POINTER(source_win));
status_bar_inactive(source_win);
g_hash_table_insert(windows, GINT_TO_POINTER(target_win), source);
status_bar_inactive(source_win);
if (win_unread(source) > 0) {
status_bar_new(target_win);
} else {
status_bar_active(target_win);
}
if ((wins_get_current_num() == source_win) || (wins_get_current_num() == target_win)) {
if (wins_get_current_num() == source_win) {
wins_set_current_by_num(target_win);
ui_switch_win(1);
}
return TRUE;