Fix crash when changing display mode
This commit is contained in:
@@ -41,7 +41,7 @@ extern short stat_window;
|
||||
extern eGameMode overall_mode;
|
||||
//extern current_town_type univ.town;
|
||||
//extern party_record_type party;
|
||||
extern bool play_sounds,give_intro_hint,show_startup_splash;
|
||||
extern bool play_sounds,give_intro_hint,show_startup_splash,changed_display_mode;
|
||||
extern sf::RenderWindow mainPtr;
|
||||
extern RECT d_rects[80];
|
||||
extern short d_rect_index[80];
|
||||
@@ -1252,7 +1252,7 @@ void pick_preferences()
|
||||
prefsDlog.run();
|
||||
|
||||
if(display_mode != store_display_mode)
|
||||
adjust_window_mode();
|
||||
changed_display_mode = true;
|
||||
}
|
||||
|
||||
static void put_party_stats(cDialog& me)
|
||||
|
@@ -193,6 +193,7 @@ void adjust_window_mode()
|
||||
}
|
||||
|
||||
}
|
||||
redraw_screen(REFRESH_NONE);
|
||||
if (text_sbar != NULL) {
|
||||
text_sbar->relocate({ul.x + 546,ul.y + 283});
|
||||
item_sbar->relocate({ul.x + 546,ul.y + 146});
|
||||
|
@@ -91,7 +91,7 @@ bool fast_bang = false;
|
||||
short spec_item_array[60];
|
||||
short current_spell_range;
|
||||
eGameMode overall_mode = MODE_STARTUP;
|
||||
bool first_update = true,anim_onscreen = false,frills_on = true,sys_7_avail,suppress_stat_screen = false;
|
||||
bool first_update = true,anim_onscreen = false,frills_on = true,changed_display_mode = false,suppress_stat_screen = false;
|
||||
short stat_window = 0,store_modifier;
|
||||
bool monsters_going = false,boom_anim_active = false;
|
||||
short give_delays = 0;
|
||||
@@ -159,9 +159,9 @@ int main(int argc, char* argv[]) {
|
||||
init_directories(argv[0]);
|
||||
//data_store = (piles_of_stuff_dumping_type *) NewPtr(sizeof(piles_of_stuff_dumping_type));
|
||||
init_menubar(); // Do this first of all because otherwise a default File and Window menu will be seen
|
||||
init_graph_tool();
|
||||
Initialize();
|
||||
init_fileio();
|
||||
init_graph_tool();
|
||||
|
||||
init_buf();
|
||||
|
||||
@@ -313,6 +313,10 @@ void Handle_One_Event()
|
||||
makeFrontWindow(mainPtr);
|
||||
}
|
||||
if(!mainPtr.pollEvent(event)) {
|
||||
if(changed_display_mode) {
|
||||
changed_display_mode = false;
|
||||
adjust_window_mode();
|
||||
}
|
||||
flushingInput = false;
|
||||
mainPtr.display();
|
||||
return;
|
||||
|
Reference in New Issue
Block a user