aboutsummaryrefslogtreecommitdiff
path: root/qtmips_machine/qtmipsmachine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qtmips_machine/qtmipsmachine.cpp')
-rw-r--r--qtmips_machine/qtmipsmachine.cpp9
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() {