Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d16b857

Browse files
committed
add suspend guards in Textures module interposes
so no conflicts can happen when changing global state inside the Textures module
1 parent 5e673ef commit d16b857

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

library/modules/Textures.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,7 @@ struct tracking_stage_new_region : df::viewscreen_new_regionst {
322322

323323
DEFINE_VMETHOD_INTERPOSE(void, logic, ()) {
324324
if (this->m_raw_load_stage != this->raw_load_stage) {
325+
CoreSuspender guard;
325326
TRACE(textures).print("raw_load_stage %d -> %d\n", this->m_raw_load_stage,
326327
this->raw_load_stage);
327328
bool tmp_state = loading_state;
@@ -346,6 +347,7 @@ struct tracking_stage_adopt_region : df::viewscreen_adopt_regionst {
346347

347348
DEFINE_VMETHOD_INTERPOSE(void, logic, ()) {
348349
if (this->m_cur_step != this->cur_step) {
350+
CoreSuspender guard;
349351
TRACE(textures).print("step %d -> %d\n", this->m_cur_step, this->cur_step);
350352
bool tmp_state = loading_state;
351353
loading_state = this->cur_step >= 0 && this->cur_step < 3 ? true : false;
@@ -369,6 +371,7 @@ struct tracking_stage_load_region : df::viewscreen_loadgamest {
369371

370372
DEFINE_VMETHOD_INTERPOSE(void, logic, ()) {
371373
if (this->m_cur_step != this->cur_step) {
374+
CoreSuspender guard;
372375
TRACE(textures).print("step %d -> %d\n", this->m_cur_step, this->cur_step);
373376
bool tmp_state = loading_state;
374377
loading_state = this->cur_step >= 0 && this->cur_step < 3 ? true : false;
@@ -392,6 +395,7 @@ struct tracking_stage_new_arena : df::viewscreen_new_arenast {
392395

393396
DEFINE_VMETHOD_INTERPOSE(void, logic, ()) {
394397
if (this->m_cur_step != this->cur_step) {
398+
CoreSuspender guard;
395399
TRACE(textures).print("step %d -> %d\n", this->m_cur_step, this->cur_step);
396400
bool tmp_state = loading_state;
397401
loading_state = this->cur_step >= 0 && this->cur_step < 3 ? true : false;

0 commit comments

Comments
 (0)