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 "../../ConfigManager.h"
#include "../../PowerPC/PowerPC.h"
/*
ECTORTODO
#if defined(HAVE_WX) && HAVE_WX
#include "Debugger/DSPDebugWindow.h" // For the DSPDebuggerLLE class
extern DSPDebuggerLLE* m_DebuggerFrame;
#endif
*/
#include "Host.h"
// 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
@ -103,20 +94,17 @@ u32 DSPHost_CodeLoaded(const u8 *ptr, int size)
// Always add the ROM.
DSPSymbols::AutoDisassembly(0x8000, 0x9000);
/* ECTORTODO
#if defined(HAVE_WX) && HAVE_WX
if (m_DebuggerFrame)
m_DebuggerFrame->Refresh();
Host_RefreshDSPDebuggerWindow();
#endif
*/
return ector_crc;
}
void DSPHost_UpdateDebugger()
{
/* ECTORTODO
#if defined(HAVE_WX) && HAVE_WX
if (m_DebuggerFrame)
m_DebuggerFrame->Refresh();
#endif */
Host_RefreshDSPDebuggerWindow();
#endif
}

View File

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

View File

@ -43,6 +43,7 @@ public:
virtual void DSP_Update(int cycles);
virtual void DSP_StopSoundStream();
virtual void DSP_ClearAudioBuffer(bool mute);
void DSP_DebugBreak();
private:
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_Message(int Id);
void Host_NotifyMapLoaded();
void Host_RefreshDSPDebuggerWindow();
void Host_RequestRenderWindowSize(int width, int height);
void Host_SetWaitCursor(bool enable);
void Host_SetWiiMoteConnectionState(int _State);

View File

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