mirror of https://github.com/stella-emu/stella.git
partially reverted a95d40c6
(debugger widgets needed for saveOldState)
This commit is contained in:
parent
3fbaff31c9
commit
bd3f34ba91
|
@ -84,6 +84,7 @@ Debugger::Debugger(OSystem& osystem, Console& console)
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Debugger::~Debugger()
|
||||
{
|
||||
delete myDialog; myDialog = nullptr;
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
@ -99,6 +100,11 @@ void Debugger::initialize()
|
|||
|
||||
myOSystem.settings().setValue("dbg.res", mySize);
|
||||
|
||||
delete myDialog; myDialog = nullptr;
|
||||
myDialog = new DebuggerDialog(myOSystem, *this, 0, 0, mySize.w, mySize.h);
|
||||
|
||||
myCartDebug->setDebugWidget(&(myDialog->cartDebug()));
|
||||
|
||||
saveOldState();
|
||||
}
|
||||
|
||||
|
@ -122,9 +128,9 @@ bool Debugger::start(const string& message, int address, bool read,
|
|||
ostringstream buf;
|
||||
buf << message;
|
||||
if(address > -1)
|
||||
buf << cartDebug().getLabel(CartDebug::BankAddress(address), read, 4);
|
||||
dialog().message().setText(buf.str());
|
||||
dialog().message().setToolTip(toolTip);
|
||||
buf << cartDebug().getLabel(address, read, 4);
|
||||
myDialog->message().setText(buf.str());
|
||||
myDialog->message().setToolTip(toolTip);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -137,7 +143,7 @@ bool Debugger::startWithFatalError(const string& message)
|
|||
{
|
||||
// This must be done *after* we enter debug mode,
|
||||
// so the dialog is properly shown
|
||||
dialog().showFatalMessage(message);
|
||||
myDialog->showFatalMessage(message);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -574,8 +580,8 @@ void Debugger::nextFrame(int frames)
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void Debugger::updateRewindbuttons(const RewindManager& r)
|
||||
{
|
||||
dialog().rewindButton().setEnabled(!r.atFirst());
|
||||
dialog().unwindButton().setEnabled(!r.atLast());
|
||||
myDialog->rewindButton().setEnabled(!r.atFirst());
|
||||
myDialog->unwindButton().setEnabled(!r.atLast());
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
@ -679,13 +685,13 @@ void Debugger::setStartState()
|
|||
updateRewindbuttons(r);
|
||||
|
||||
// Set the 're-disassemble' flag, but don't do it until the next scheduled time
|
||||
dialog().rom().invalidate(false);
|
||||
myDialog->rom().invalidate(false);
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void Debugger::setQuitState()
|
||||
{
|
||||
dialog().saveConfig();
|
||||
myDialog->saveConfig();
|
||||
saveOldState();
|
||||
|
||||
// Bus must be unlocked for normal operation when leaving debugger mode
|
||||
|
@ -840,18 +846,6 @@ bool Debugger::canExit() const
|
|||
return baseDialogIsActive();
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
DebuggerDialog& Debugger::dialog()
|
||||
{
|
||||
if(myDialog == nullptr)
|
||||
{
|
||||
myDialog = make_unique<DebuggerDialog>(myOSystem, *this, 0, 0, mySize.w, mySize.h);
|
||||
myCartDebug->setDebugWidget(&(myDialog->cartDebug()));
|
||||
}
|
||||
|
||||
return *myDialog;
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
std::array<Debugger::BuiltinFunction, 18> Debugger::ourBuiltinFunctions = { {
|
||||
// left joystick:
|
||||
|
|
|
@ -279,7 +279,7 @@ class Debugger : public DialogContainer
|
|||
/**
|
||||
Return (and possibly create) the bottom-most dialog of this container.
|
||||
*/
|
||||
Dialog* baseDialog() override { return &dialog(); }
|
||||
Dialog* baseDialog() override { return myDialog; }
|
||||
|
||||
private:
|
||||
/**
|
||||
|
@ -332,16 +332,11 @@ class Debugger : public DialogContainer
|
|||
void loadState(int state);
|
||||
void loadAllStates();
|
||||
|
||||
/**
|
||||
Return (and possibly create) the debugger dialog.
|
||||
*/
|
||||
DebuggerDialog& dialog();
|
||||
|
||||
private:
|
||||
Console& myConsole;
|
||||
System& mySystem;
|
||||
|
||||
unique_ptr<DebuggerDialog> myDialog;
|
||||
DebuggerDialog* myDialog{nullptr};
|
||||
unique_ptr<DebuggerParser> myParser;
|
||||
unique_ptr<CartDebug> myCartDebug;
|
||||
unique_ptr<CpuDebug> myCpuDebug;
|
||||
|
|
Loading…
Reference in New Issue