diff --git a/src/bridge/bridgemain.cpp b/src/bridge/bridgemain.cpp index 76921788..abbb0cbc 100644 --- a/src/bridge/bridgemain.cpp +++ b/src/bridge/bridgemain.cpp @@ -1718,7 +1718,6 @@ BRIDGE_IMPEXP void GuiUpdateTraceBrowser() BRIDGE_IMPEXP void GuiOpenTraceFile(const char* fileName) { - CHECK_GUI_UPDATE_DISABLED _gui_sendmessage(GUI_OPEN_TRACE_FILE, (void*)fileName, nullptr); } diff --git a/src/dbg/animate.cpp b/src/dbg/animate.cpp index 6bcd30b0..279494fc 100644 --- a/src/dbg/animate.cpp +++ b/src/dbg/animate.cpp @@ -47,10 +47,7 @@ bool _dbg_animatecommand(const char* command) void _dbg_setanimateinterval(unsigned int milliseconds) { - if(milliseconds <= 20) - animate_interval = 20; - else - animate_interval = milliseconds; + animate_interval = milliseconds; } bool _dbg_isanimating() diff --git a/src/gui/Src/Gui/SettingsDialog.cpp b/src/gui/Src/Gui/SettingsDialog.cpp index 867570b3..55100269 100644 --- a/src/gui/Src/Gui/SettingsDialog.cpp +++ b/src/gui/Src/Gui/SettingsDialog.cpp @@ -67,6 +67,7 @@ void SettingsDialog::LoadSettings() settings.engineIgnoreInconsistentBreakpoints = false; settings.engineNoWow64SingleStepWorkaround = false; settings.engineMaxTraceCount = 50000; + settings.engineAnimateInterval = 50; settings.engineHardcoreThreadSwitchWarning = false; settings.engineVerboseExceptionLogging = true; settings.exceptionRanges = &realExceptionRanges; @@ -148,6 +149,8 @@ void SettingsDialog::LoadSettings() GetSettingBool("Engine", "NoWow64SingleStepWorkaround", &settings.engineNoWow64SingleStepWorkaround); if(BridgeSettingGetUint("Engine", "MaxTraceCount", &cur)) settings.engineMaxTraceCount = int(cur); + if(BridgeSettingGetUint("Engine", "AnimateInterval", &cur)) + settings.engineAnimateInterval = int(cur); switch(settings.engineCalcType) { case calc_signed: @@ -182,6 +185,7 @@ void SettingsDialog::LoadSettings() ui->chkVerboseExceptionLogging->setChecked(settings.engineVerboseExceptionLogging); ui->chkNoWow64SingleStepWorkaround->setChecked(settings.engineNoWow64SingleStepWorkaround); ui->spinMaxTraceCount->setValue(settings.engineMaxTraceCount); + ui->spinAnimateInterval->setValue(settings.engineAnimateInterval); //Exceptions tab char exceptionRange[MAX_SETTING_SIZE] = ""; @@ -359,6 +363,7 @@ void SettingsDialog::SaveSettings() BridgeSettingSetUint("Engine", "NoScriptTimeout", settings.engineNoScriptTimeout); BridgeSettingSetUint("Engine", "IgnoreInconsistentBreakpoints", settings.engineIgnoreInconsistentBreakpoints); BridgeSettingSetUint("Engine", "MaxTraceCount", settings.engineMaxTraceCount); + BridgeSettingSetUint("Engine", "AnimateInterval", settings.engineAnimateInterval); BridgeSettingSetUint("Engine", "VerboseExceptionLogging", settings.engineVerboseExceptionLogging); BridgeSettingSetUint("Engine", "HardcoreThreadSwitchWarning", settings.engineHardcoreThreadSwitchWarning); BridgeSettingSetUint("Engine", "NoWow64SingleStepWorkaround", settings.engineNoWow64SingleStepWorkaround); @@ -836,6 +841,11 @@ void SettingsDialog::on_spinMaxTraceCount_valueChanged(int arg1) settings.engineMaxTraceCount = arg1; } +void SettingsDialog::on_spinAnimateInterval_valueChanged(int arg1) +{ + settings.engineAnimateInterval = arg1; +} + void SettingsDialog::on_chkNoHighlightOperands_toggled(bool checked) { bTokenizerConfigUpdated = true; diff --git a/src/gui/Src/Gui/SettingsDialog.h b/src/gui/Src/Gui/SettingsDialog.h index 9033fb97..4979c59a 100644 --- a/src/gui/Src/Gui/SettingsDialog.h +++ b/src/gui/Src/Gui/SettingsDialog.h @@ -57,6 +57,7 @@ private slots: void on_chkVerboseExceptionLogging_toggled(bool checked); void on_chkNoWow64SingleStepWorkaround_toggled(bool checked); void on_spinMaxTraceCount_valueChanged(int arg1); + void on_spinAnimateInterval_valueChanged(int arg1); //Exception tab void on_btnAddRange_clicked(); void on_btnDeleteRange_clicked(); @@ -160,6 +161,7 @@ private: bool engineVerboseExceptionLogging; bool engineNoWow64SingleStepWorkaround; int engineMaxTraceCount; + int engineAnimateInterval; //Exception Tab QList* exceptionRanges; //Disasm Tab diff --git a/src/gui/Src/Gui/SettingsDialog.ui b/src/gui/Src/Gui/SettingsDialog.ui index 731a70a4..78babfad 100644 --- a/src/gui/Src/Gui/SettingsDialog.ui +++ b/src/gui/Src/Gui/SettingsDialog.ui @@ -166,7 +166,7 @@ - + 0 @@ -205,7 +205,7 @@ - + 0 @@ -332,7 +332,7 @@ - + @@ -373,6 +373,24 @@ + + + + + + Animation per-step interval (ms) + + + + + + + <html><head/><body><p>The debugger sleeps for a certain time in order to keep the interval between animation steps constant as specified in this setting.</p><p>If you want to animate as fast as possible set this to 0.</p></body></html> + + + + + @@ -401,7 +419,7 @@ - + @@ -418,7 +436,7 @@ - + Qt::Vertical @@ -452,7 +470,7 @@ - + Qt::Vertical @@ -567,7 +585,7 @@ - + @@ -618,7 +636,7 @@ - + Qt::Vertical @@ -728,7 +746,7 @@ - + Qt::Vertical @@ -748,20 +766,20 @@ - + - + - + - + Symbol Store: - + Symbol Path: @@ -770,7 +788,7 @@ - + @@ -789,7 +807,7 @@ - + @@ -821,7 +839,7 @@ - + Search Engine URL @@ -870,7 +888,7 @@ - + Qt::Vertical @@ -887,9 +905,9 @@ - + - + Qt::Horizontal