Files
ppsspp/UI/DeveloperToolsScreen.h
T
Henrik RydgårdandClaude Opus 5.5 b530b477f7 DevTools: Don't touch a deleted view when the trace file is picked
The save dialog's callback set the path on a stored InfoItem pointer. If
the views were recreated while the dialog was open, that view was gone.
Recreate the views instead, which reads the path from the tracer.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-22 10:55:31 +02:00

60 lines
1.8 KiB
C++

#pragma once
#include "ppsspp_config.h"
#include "UI/TabbedDialogScreen.h"
class DeveloperToolsScreen : public UITabbedBaseDialogScreen {
public:
DeveloperToolsScreen(const Path &gamePath);
void CreateTabs() override;
void update() override;
void onFinish(DialogResult result) override;
const char *tag() const override { return "DeveloperTools"; }
private:
void CreateTextureReplacementTab(UI::LinearLayout *parent);
void CreateGeneralTab(UI::LinearLayout *parent);
void CreateDumpFileTab(UI::LinearLayout *parent);
void CreateHLETab(UI::LinearLayout *parent);
void CreateMIPSTracerTab(UI::LinearLayout *list);
void CreateTestsTab(UI::LinearLayout *list);
void CreateAudioTab(UI::LinearLayout *list);
void CreateGraphicsTab(UI::LinearLayout *list);
void CreateNetworkTab(UI::LinearLayout *list);
void CreateUITab(UI::LinearLayout *list);
void CreateCrashHistoryTab(UI::LinearLayout *list);
void OnLoggingChanged(UI::EventParams &e);
void OnOpenTexturesIniFile(UI::EventParams &e);
void OnJitAffectingSetting(UI::EventParams &e);
void OnJitDebugTools(UI::EventParams &e);
void OnRemoteDebugger(UI::EventParams &e);
void OnMIPSTracerEnabled(UI::EventParams &e);
void OnMIPSTracerPathChanged(UI::EventParams &e);
void OnMIPSTracerFlushTrace(UI::EventParams &e);
void OnMIPSTracerClearJitCache(UI::EventParams &e);
void OnMIPSTracerClearTracer(UI::EventParams &e);
void OnGPUDriverTest(UI::EventParams &e);
void OnMemstickTest(UI::EventParams &e);
void OnCopyStatesToRoot(UI::EventParams &e);
void MemoryMapTest();
bool allowDebugger_ = false;
bool canAllowDebugger_ = true;
enum class HasIni {
NO,
YES,
MAYBE,
};
HasIni hasTexturesIni_ = HasIni::MAYBE;
bool MIPSTracerEnabled_ = false;
int testSliderValue_ = 0;
bool pretendIngame_ = false;
};