Fix the DSPLLE debugger window refresh without including wxWidgets in the core.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7020 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Glenn Rice 2011-01-31 14:25:50 +00:00
parent 47d182657e
commit ad71303007
5 changed files with 19 additions and 42 deletions

View File

@ -23,16 +23,7 @@
#include "../DSP.h" #include "../DSP.h"
#include "../../ConfigManager.h" #include "../../ConfigManager.h"
#include "../../PowerPC/PowerPC.h" #include "../../PowerPC/PowerPC.h"
#include "Host.h"
/*
ECTORTODO
#if defined(HAVE_WX) && HAVE_WX
#include "Debugger/DSPDebugWindow.h" // For the DSPDebuggerLLE class
extern DSPDebuggerLLE* m_DebuggerFrame;
#endif
*/
// The user of the DSPCore library must supply a few functions so that the // The user of the DSPCore library must supply a few functions so that the
// emulation core can access the environment it runs in. If the emulation // emulation core can access the environment it runs in. If the emulation
@ -103,20 +94,17 @@ u32 DSPHost_CodeLoaded(const u8 *ptr, int size)
// Always add the ROM. // Always add the ROM.
DSPSymbols::AutoDisassembly(0x8000, 0x9000); DSPSymbols::AutoDisassembly(0x8000, 0x9000);
/* ECTORTODO
#if defined(HAVE_WX) && HAVE_WX #if defined(HAVE_WX) && HAVE_WX
if (m_DebuggerFrame) Host_RefreshDSPDebuggerWindow();
m_DebuggerFrame->Refresh();
#endif #endif
*/
return ector_crc; return ector_crc;
} }
void DSPHost_UpdateDebugger() void DSPHost_UpdateDebugger()
{ {
/* ECTORTODO
#if defined(HAVE_WX) && HAVE_WX #if defined(HAVE_WX) && HAVE_WX
if (m_DebuggerFrame) Host_RefreshDSPDebuggerWindow();
m_DebuggerFrame->Refresh(); #endif
#endif */
} }

View File

@ -30,6 +30,7 @@
#include "DSP/DSPHWInterface.h" #include "DSP/DSPHWInterface.h"
#include "DSP/disassemble.h" #include "DSP/disassemble.h"
#include "DSPSymbols.h" #include "DSPSymbols.h"
#include "Host.h"
#include "AudioCommon.h" #include "AudioCommon.h"
#include "Mixer.h" #include "Mixer.h"
@ -77,19 +78,6 @@ void DSPLLE::DoState(PointerWrap &p)
p.Do(m_cycle_count); p.Do(m_cycle_count);
} }
/* ECTORTODO
void *DllDebugger(void *_hParent, bool Show)
{
#if defined(HAVE_WX) && HAVE_WX
m_DebuggerFrame = new DSPDebuggerLLE((wxWindow *)_hParent);
return (void *)m_DebuggerFrame;
#else
return NULL;
#endif
}
*/
// Regular thread // Regular thread
void DSPLLE::dsp_thread(DSPLLE *lpParameter) void DSPLLE::dsp_thread(DSPLLE *lpParameter)
{ {
@ -109,7 +97,6 @@ void DSPLLE::dsp_thread(DSPLLE *lpParameter)
} }
} }
/* ECTORTODO
void DSPLLE::DSP_DebugBreak() void DSPLLE::DSP_DebugBreak()
{ {
#if defined(HAVE_WX) && HAVE_WX #if defined(HAVE_WX) && HAVE_WX
@ -117,7 +104,6 @@ void DSPLLE::DSP_DebugBreak()
// m_DebuggerFrame->DebugBreak(); // m_DebuggerFrame->DebugBreak();
#endif #endif
} }
*/
void DSPLLE::Initialize(void *hWnd, bool bWii, bool bDSPThread) void DSPLLE::Initialize(void *hWnd, bool bWii, bool bDSPThread)
{ {
@ -157,16 +143,11 @@ void DSPLLE::Initialize(void *hWnd, bool bWii, bool bDSPThread)
InitInstructionTable(); InitInstructionTable();
if (m_bDSPThread) if (m_bDSPThread)
{
m_hDSPThread = std::thread(dsp_thread, this); m_hDSPThread = std::thread(dsp_thread, this);
}
/*
ECTORTODO
#if defined(HAVE_WX) && HAVE_WX #if defined(HAVE_WX) && HAVE_WX
if (m_DebuggerFrame) Host_RefreshDSPDebuggerWindow();
m_DebuggerFrame->Refresh();
#endif #endif
*/
} }
void DSPLLE::DSP_StopSoundStream() void DSPLLE::DSP_StopSoundStream()

View File

@ -43,6 +43,7 @@ public:
virtual void DSP_Update(int cycles); virtual void DSP_Update(int cycles);
virtual void DSP_StopSoundStream(); virtual void DSP_StopSoundStream();
virtual void DSP_ClearAudioBuffer(bool mute); virtual void DSP_ClearAudioBuffer(bool mute);
void DSP_DebugBreak();
private: private:
static void dsp_thread(DSPLLE* lpParameter); static void dsp_thread(DSPLLE* lpParameter);

View File

@ -42,6 +42,7 @@ bool Host_GetKeyState(int keycode);
void Host_GetRenderWindowSize(int& x, int& y, int& width, int& height); void Host_GetRenderWindowSize(int& x, int& y, int& width, int& height);
void Host_Message(int Id); void Host_Message(int Id);
void Host_NotifyMapLoaded(); void Host_NotifyMapLoaded();
void Host_RefreshDSPDebuggerWindow();
void Host_RequestRenderWindowSize(int width, int height); void Host_RequestRenderWindowSize(int width, int height);
void Host_SetWaitCursor(bool enable); void Host_SetWaitCursor(bool enable);
void Host_SetWiiMoteConnectionState(int _State); void Host_SetWiiMoteConnectionState(int _State);

View File

@ -153,9 +153,15 @@ void DSPDebuggerLLE::OnChangeState(wxCommandEvent& event)
m_mgr.Update(); m_mgr.Update();
} }
void Host_RefreshDSPDebuggerWindow()
{
if (m_DebuggerFrame)
m_DebuggerFrame->Refresh();
}
void DSPDebuggerLLE::Refresh() void DSPDebuggerLLE::Refresh()
{ {
#if defined HAVE_X11 && HAVE_X11 #if defined __WXGTK__
if (!wxIsMainThread()) if (!wxIsMainThread())
wxMutexGuiEnter(); wxMutexGuiEnter();
#endif #endif
@ -164,7 +170,7 @@ void DSPDebuggerLLE::Refresh()
UpdateRegisterFlags(); UpdateRegisterFlags();
UpdateState(); UpdateState();
m_mgr.Update(); m_mgr.Update();
#if defined HAVE_X11 && HAVE_X11 #if defined __WXGTK__
if (!wxIsMainThread()) if (!wxIsMainThread())
wxMutexGuiLeave(); wxMutexGuiLeave();
#endif #endif