Qt: Add status message for rewinding being disabled

This commit is contained in:
Vicki Pfau 2022-02-16 23:06:10 -08:00
parent 4312ce14ff
commit 5d6349338a
1 changed files with 17 additions and 9 deletions

View File

@ -500,6 +500,9 @@ void CoreController::showResetInfo(bool enable) {
void CoreController::setRewinding(bool rewind) { void CoreController::setRewinding(bool rewind) {
if (!m_threadContext.core->opts.rewindEnable) { if (!m_threadContext.core->opts.rewindEnable) {
if (rewind) {
emit statusPosted(tr("Rewinding not currently enabled"));
}
return; return;
} }
if (rewind && m_multiplayer && m_multiplayer->attached() > 1) { if (rewind && m_multiplayer && m_multiplayer->attached() > 1) {
@ -514,17 +517,22 @@ void CoreController::setRewinding(bool rewind) {
} }
void CoreController::rewind(int states) { void CoreController::rewind(int states) {
{ if (!states) {
Interrupter interrupter(this); return;
if (!states) { }
states = INT_MAX; if (!m_threadContext.core->opts.rewindEnable) {
} emit statusPosted(tr("Rewinding not currently enabled"));
for (int i = 0; i < states; ++i) { }
if (!mCoreRewindRestore(&m_threadContext.impl->rewind, m_threadContext.core)) { Interrupter interrupter(this);
break; if (!states) {
} states = INT_MAX;
}
for (int i = 0; i < states; ++i) {
if (!mCoreRewindRestore(&m_threadContext.impl->rewind, m_threadContext.core)) {
break;
} }
} }
interrupter.resume();
emit frameAvailable(); emit frameAvailable();
emit rewound(); emit rewound();
} }