diff options
Diffstat (limited to 'intern/elbeem')
-rw-r--r-- | intern/elbeem/intern/ntl_world.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/intern/elbeem/intern/ntl_world.cpp b/intern/elbeem/intern/ntl_world.cpp index 42ee94b2cf5..3b649c9f5b9 100644 --- a/intern/elbeem/intern/ntl_world.cpp +++ b/intern/elbeem/intern/ntl_world.cpp @@ -400,8 +400,8 @@ int ntlWorld::advanceSims(int framenum) bool done = false; bool allPanic = true; - // stop/quit, dont display/render - if(getElbeemState()==SIMWORLD_STOP) { + // stop/quit (abort), dont display/render + if(!isSimworldOk()) { return 1; } @@ -411,6 +411,9 @@ int ntlWorld::advanceSims(int framenum) // time stopped? nothing else to do... if( (*mpSims)[mFirstSim]->getFrameTime(framenum) <= 0.0 ){ done=true; allPanic=false; + + /* DG: Need to check for user cancel here (fix for [#30298]) */ + (*mpSims)[mFirstSim]->checkCallerStatus(FLUIDSIM_CBSTATUS_STEP, 0); } int gstate = 0; |