a late bot() call was observed on GUI Windows so prevent such a crash
This commit is contained in:
+2
-1
@@ -234,7 +234,8 @@ do_statusline2()
|
|||||||
void
|
void
|
||||||
bot()
|
bot()
|
||||||
{
|
{
|
||||||
if (youmonst.data && iflags.status_updates) {
|
/* dosave() flags completion by setting u.uhp to -1 */
|
||||||
|
if ((u.uhp != -1) && youmonst.data && iflags.status_updates) {
|
||||||
#ifdef STATUS_HILITES
|
#ifdef STATUS_HILITES
|
||||||
bot_via_windowport();
|
bot_via_windowport();
|
||||||
#else
|
#else
|
||||||
|
|||||||
+16
-5
@@ -11,7 +11,7 @@
|
|||||||
* assigned to the windowproc function pointers very early
|
* assigned to the windowproc function pointers very early
|
||||||
* in the startup initialization, perhaps immediately even.
|
* in the startup initialization, perhaps immediately even.
|
||||||
* It requires only the following call:
|
* It requires only the following call:
|
||||||
* windowprocs = get_safe_procs(0);
|
* windowprocs = *get_safe_procs(0);
|
||||||
*
|
*
|
||||||
* The game startup can trigger functions in other modules
|
* The game startup can trigger functions in other modules
|
||||||
* that make assumptions on a WindowPort being available
|
* that make assumptions on a WindowPort being available
|
||||||
@@ -45,12 +45,23 @@
|
|||||||
*
|
*
|
||||||
* The additional platform-independent, but more functional
|
* The additional platform-independent, but more functional
|
||||||
* routines provided in here should be assigned after the
|
* routines provided in here should be assigned after the
|
||||||
* windowprocs = get_safe_procs()
|
* windowprocs = *get_safe_procs(n)
|
||||||
* call. Here's a list of them:
|
* call.
|
||||||
*
|
*
|
||||||
*
|
* Usage:
|
||||||
|
*
|
||||||
|
* windowprocs = *get_safe_procs(0);
|
||||||
|
* initializes a set of winprocs function pointers that ensure
|
||||||
|
* none of the function pointers are left null, but that's all
|
||||||
|
* it does.
|
||||||
|
*
|
||||||
|
* windowprocs = *get_safe_procs(1);
|
||||||
|
* initializes a set of winprocs functions pointers that ensure
|
||||||
|
* none of the function pointers are left null, but also
|
||||||
|
* provides some basic output and input functionality using
|
||||||
|
* nothing other than C stdio routines (no platform-specific
|
||||||
|
* or OS-specific code).
|
||||||
*
|
*
|
||||||
*
|
|
||||||
* ***********************************************************
|
* ***********************************************************
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -718,6 +718,13 @@ mswin_exit_nhwindows(const char *str)
|
|||||||
/* Write Window settings to the registry */
|
/* Write Window settings to the registry */
|
||||||
mswin_write_reg();
|
mswin_write_reg();
|
||||||
|
|
||||||
|
/* set things back to failsafes */
|
||||||
|
windowprocs = *get_safe_procs(0);
|
||||||
|
|
||||||
|
/* and make sure there is still a way to communicate something */
|
||||||
|
windowprocs.win_raw_print = mswin_raw_print;
|
||||||
|
windowprocs.win_raw_print_bold = mswin_raw_print_bold;
|
||||||
|
windowprocs.win_wait_synch = mswin_wait_synch;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Prepare the window to be suspended. */
|
/* Prepare the window to be suspended. */
|
||||||
|
|||||||
Reference in New Issue
Block a user