diff options
Diffstat (limited to 'qtmips_machine/qtmipsmachine.cpp')
-rw-r--r-- | qtmips_machine/qtmipsmachine.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/qtmips_machine/qtmipsmachine.cpp b/qtmips_machine/qtmipsmachine.cpp index da4516a..75d8b8e 100644 --- a/qtmips_machine/qtmipsmachine.cpp +++ b/qtmips_machine/qtmipsmachine.cpp @@ -81,7 +81,8 @@ void QtMipsMachine::play() { } void QtMipsMachine::pause() { - CTL_GUARD; + if (stat != ST_BUSY) + CTL_GUARD; set_status(ST_READY); run_t->stop(); } @@ -103,8 +104,10 @@ void QtMipsMachine::step() { run_t->stop(); set_status(ST_EXIT); emit program_exit(); - } else - set_status(stat_prev); + } else { + if (stat == ST_BUSY) + set_status(stat_prev); + } } void QtMipsMachine::restart() { |