mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-10-07 02:43:32 +00:00
Also delay-load the VFPU dialog, just because
This commit is contained in:
parent
c004e9ca9d
commit
fc26beca4b
@ -466,6 +466,7 @@ BOOL CDisasm::DlgProc(UINT message, WPARAM wParam, LPARAM lParam)
|
||||
break;
|
||||
|
||||
case IDC_SHOWVFPU:
|
||||
MainWindow::CreateVFPUWindow();
|
||||
vfpudlg->Show(true);
|
||||
break;
|
||||
|
||||
|
@ -13,8 +13,6 @@
|
||||
|
||||
#include "Core/MIPS/MIPS.h" // BAD
|
||||
|
||||
CVFPUDlg *vfpudlg;
|
||||
|
||||
CVFPUDlg::CVFPUDlg(HINSTANCE _hInstance, HWND _hParent, DebugInterface *cpu_) : Dialog((LPCSTR)IDD_VFPU, _hInstance,_hParent)
|
||||
{
|
||||
cpu = cpu_;
|
||||
|
@ -20,6 +20,3 @@ private:
|
||||
int mode;
|
||||
BOOL DlgProc(UINT message, WPARAM wParam, LPARAM lParam);
|
||||
};
|
||||
|
||||
|
||||
extern CVFPUDlg *vfpudlg;
|
||||
|
@ -556,6 +556,13 @@ namespace MainWindow
|
||||
}
|
||||
}
|
||||
|
||||
void CreateVFPUWindow() {
|
||||
if (!vfpudlg) {
|
||||
vfpudlg = new CVFPUDlg(MainWindow::GetHInstance(), MainWindow::GetHWND(), currentDebugMIPS);
|
||||
DialogManager::AddDlg(vfpudlg);
|
||||
}
|
||||
}
|
||||
|
||||
void DestroyDebugWindows() {
|
||||
DialogManager::RemoveDlg(disasmWindow);
|
||||
if (disasmWindow)
|
||||
@ -573,6 +580,11 @@ namespace MainWindow
|
||||
if (memoryWindow)
|
||||
delete memoryWindow;
|
||||
memoryWindow = nullptr;
|
||||
|
||||
DialogManager::RemoveDlg(vfpudlg);
|
||||
if (vfpudlg)
|
||||
delete vfpudlg;
|
||||
vfpudlg = nullptr;
|
||||
}
|
||||
|
||||
LRESULT CALLBACK DisplayProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
|
||||
|
@ -64,6 +64,7 @@ namespace MainWindow
|
||||
void CreateDisasmWindow();
|
||||
void CreateGeDebuggerWindow();
|
||||
void CreateMemoryWindow();
|
||||
void CreateVFPUWindow();
|
||||
void DestroyDebugWindows();
|
||||
void UpdateMenus(bool isMenuSelect = false);
|
||||
void UpdateCommands();
|
||||
|
@ -76,6 +76,9 @@ void DialogManager::AddDlg(Dialog *dialog)
|
||||
|
||||
void DialogManager::RemoveDlg(Dialog *dialog)
|
||||
{
|
||||
if (!dialog) {
|
||||
return;
|
||||
}
|
||||
dialogs.erase(std::remove(dialogs.begin(), dialogs.end(), dialog), dialogs.end());
|
||||
}
|
||||
|
||||
|
@ -95,6 +95,7 @@ CGEDebugger* geDebuggerWindow = nullptr;
|
||||
|
||||
CDisasm *disasmWindow = nullptr;
|
||||
CMemoryDlg *memoryWindow = nullptr;
|
||||
CVFPUDlg *vfpudlg = nullptr;
|
||||
|
||||
static std::string langRegion;
|
||||
static std::string osName;
|
||||
@ -684,7 +685,6 @@ int WINAPI WinMain(HINSTANCE _hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLin
|
||||
#if PPSSPP_API(ANY_GL)
|
||||
CGEDebugger::Init();
|
||||
#endif
|
||||
DialogManager::AddDlg(vfpudlg = new CVFPUDlg(_hInstance, hwndMain, currentDebugMIPS));
|
||||
|
||||
if (g_Config.bShowDebuggerOnLoad) {
|
||||
MainWindow::CreateDisasmWindow();
|
||||
|
@ -19,12 +19,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "ppsspp_config.h"
|
||||
|
||||
#include "Debugger/Debugger_Disasm.h"
|
||||
#include "Debugger/Debugger_MemoryDlg.h"
|
||||
#include "Debugger/Debugger_VFPUDlg.h"
|
||||
|
||||
#include "Common/CommonWindows.h"
|
||||
|
||||
extern CDisasm *disasmWindow;
|
||||
extern CMemoryDlg *memoryWindow;
|
||||
extern CVFPUDlg *vfpudlg;
|
||||
|
||||
#if PPSSPP_API(ANY_GL)
|
||||
#include "Windows/GEDebugger/GEDebugger.h"
|
||||
|
Loading…
Reference in New Issue
Block a user