Win32GUI: Fix permanent inventory window going away

Fix bug where permanent inventory window would go away after
any operation that used the inventory window to pick items. Since
we were hiding the permanent inventory window, this would also
leave a space filled with white, creating jarring visual if
using dark themed window backgrounds.
This commit is contained in:
Bart House
2017-10-07 14:00:09 -07:00
committed by Pasi Kallinen
parent ed335dd0a7
commit b744e2ce1f
2 changed files with 15 additions and 1 deletions

View File

@@ -246,7 +246,18 @@ mswin_menu_window_select_menu(HWND hWnd, int how, MENU_ITEM_P **_selected,
data->is_active = FALSE;
LayoutMenu(hWnd); // hide dialog buttons
mswin_popup_destroy(hWnd);
/* If we just used the permanent inventory window to pick something,
* set the menu back to its display inventory state.
*/
if (flags.perm_invent && mswin_winid_from_handle(hWnd) == WIN_INVEN
&& how != PICK_NONE) {
data->menu.prompt[0] = '\0';
SetMenuListType(hWnd, PICK_NONE);
LayoutMenu(hWnd);
}
}
return ret_val;
}
/*-----------------------------------------------------------------------------*/

View File

@@ -2202,7 +2202,10 @@ mswin_popup_destroy(HWND hWnd)
}
DrawMenuBar(GetNHApp()->hMainWnd);
ShowWindow(hWnd, SW_HIDE);
/* Don't hide the permanent inventory window ... leave it showing */
if (!flags.perm_invent || mswin_winid_from_handle(hWnd) != WIN_INVEN)
ShowWindow(hWnd, SW_HIDE);
GetNHApp()->hPopupWnd = NULL;
mswin_layout_main_window(hWnd);