mirror of https://github.com/PCSX2/pcsx2.git
wxgui: improve single-threaded plugin enumerator for Linux (still a bit buggy)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1743 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
0fa673fdd2
commit
93e1d87a22
|
@ -50,6 +50,8 @@ namespace Threading
|
||||||
// your sister, and then cheating on her with your daughter.
|
// your sister, and then cheating on her with your daughter.
|
||||||
PersistentThread::~PersistentThread()
|
PersistentThread::~PersistentThread()
|
||||||
{
|
{
|
||||||
|
if( !m_running ) return;
|
||||||
|
|
||||||
wxASSERT( !IsSelf() ); // not allowed from our own thread.
|
wxASSERT( !IsSelf() ); // not allowed from our own thread.
|
||||||
|
|
||||||
if( !_InterlockedExchange( &m_detached, true ) )
|
if( !_InterlockedExchange( &m_detached, true ) )
|
||||||
|
@ -62,9 +64,7 @@ namespace Threading
|
||||||
// This function should not be called from the owner thread.
|
// This function should not be called from the owner thread.
|
||||||
void PersistentThread::Start()
|
void PersistentThread::Start()
|
||||||
{
|
{
|
||||||
wxASSERT( !IsSelf() ); // not allowed from our own thread.
|
|
||||||
if( m_running ) return;
|
if( m_running ) return;
|
||||||
|
|
||||||
if( pthread_create( &m_thread, NULL, _internal_callback, this ) != 0 )
|
if( pthread_create( &m_thread, NULL, _internal_callback, this ) != 0 )
|
||||||
throw Exception::ThreadCreationError();
|
throw Exception::ThreadCreationError();
|
||||||
|
|
||||||
|
@ -74,8 +74,10 @@ namespace Threading
|
||||||
// This function should not be called from the owner thread.
|
// This function should not be called from the owner thread.
|
||||||
void PersistentThread::Detach()
|
void PersistentThread::Detach()
|
||||||
{
|
{
|
||||||
wxASSERT( !IsSelf() ); // not allowed from our own thread.
|
if( !m_running ) return;
|
||||||
if( _InterlockedExchange( &m_detached, true ) ) return;
|
if( _InterlockedExchange( &m_detached, true ) ) return;
|
||||||
|
|
||||||
|
wxASSERT( !IsSelf() ); // not allowed from our own thread.
|
||||||
pthread_detach( m_thread );
|
pthread_detach( m_thread );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,7 +94,6 @@ namespace Threading
|
||||||
//
|
//
|
||||||
void PersistentThread::Cancel( bool isBlocking )
|
void PersistentThread::Cancel( bool isBlocking )
|
||||||
{
|
{
|
||||||
wxASSERT( !IsSelf() );
|
|
||||||
if( _InterlockedExchange( &m_detached, true ) )
|
if( _InterlockedExchange( &m_detached, true ) )
|
||||||
{
|
{
|
||||||
if( m_running )
|
if( m_running )
|
||||||
|
@ -100,6 +101,7 @@ namespace Threading
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxASSERT( !IsSelf() );
|
||||||
pthread_cancel( m_thread );
|
pthread_cancel( m_thread );
|
||||||
|
|
||||||
if( isBlocking )
|
if( isBlocking )
|
||||||
|
@ -120,8 +122,6 @@ namespace Threading
|
||||||
//
|
//
|
||||||
sptr PersistentThread::Block()
|
sptr PersistentThread::Block()
|
||||||
{
|
{
|
||||||
DevAssert( !IsSelf(), "Thread deadlock detected; Block() should never be called by the owner thread." );
|
|
||||||
|
|
||||||
if( _InterlockedExchange( &m_detached, true ) )
|
if( _InterlockedExchange( &m_detached, true ) )
|
||||||
{
|
{
|
||||||
// already detached: if we're still running then its an invalid operation
|
// already detached: if we're still running then its an invalid operation
|
||||||
|
@ -132,11 +132,12 @@ namespace Threading
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
DevAssert( !IsSelf(), "Thread deadlock detected; Block() should never be called by the owner thread." );
|
||||||
pthread_join( m_thread, (void**)&m_returncode );
|
pthread_join( m_thread, (void**)&m_returncode );
|
||||||
return m_returncode;
|
return m_returncode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PersistentThread::IsSelf() const
|
bool PersistentThread::IsSelf() const
|
||||||
{
|
{
|
||||||
return pthread_self() == m_thread;
|
return pthread_self() == m_thread;
|
||||||
|
|
|
@ -1,416 +1,410 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
<CodeBlocks_project_file>
|
<CodeBlocks_project_file>
|
||||||
<FileVersion major="1" minor="6" />
|
<FileVersion major="1" minor="6" />
|
||||||
<Project>
|
<Project>
|
||||||
<Option title="pcsx2" />
|
<Option title="pcsx2" />
|
||||||
<Option platforms="Windows;Unix;" />
|
<Option platforms="Windows;Unix;" />
|
||||||
<Option pch_mode="2" />
|
<Option pch_mode="2" />
|
||||||
<Option compiler="gcc" />
|
<Option compiler="gcc" />
|
||||||
<Build>
|
<Build>
|
||||||
<Target title="Debug">
|
<Target title="Debug">
|
||||||
<Option platforms="Windows;Unix;" />
|
<Option platforms="Windows;Unix;" />
|
||||||
<Option output="$(SvnRootDir)/bin/pcsx2-dbg" prefix_auto="1" extension_auto="1" />
|
<Option output="$(SvnRootDir)/bin/pcsx2-dbg" prefix_auto="1" extension_auto="1" />
|
||||||
<Option working_dir="$(SvnRootDir)/bin/" />
|
<Option working_dir="$(SvnRootDir)/bin/" />
|
||||||
<Option object_output="./.objs/debug" />
|
<Option object_output="./.objs/debug" />
|
||||||
<Option type="0" />
|
<Option type="0" />
|
||||||
<Option compiler="gcc" />
|
<Option compiler="gcc" />
|
||||||
<Compiler>
|
<Compiler>
|
||||||
<Add option="-g" />
|
<Add option="-g" />
|
||||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --cflags`" />
|
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --cflags`" />
|
||||||
<Add option="-DPCSX2_DEVBUILD" />
|
<Add option="-DPCSX2_DEVBUILD" />
|
||||||
<Add option="-DPCSX2_DEBUG" />
|
<Add option="-DPCSX2_DEBUG" />
|
||||||
</Compiler>
|
</Compiler>
|
||||||
<ResourceCompiler>
|
<ResourceCompiler>
|
||||||
<Add directory="$(ProjectRootDir)/gui" />
|
<Add directory="$(ProjectRootDir)/gui" />
|
||||||
</ResourceCompiler>
|
</ResourceCompiler>
|
||||||
<Linker>
|
<Linker>
|
||||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --libs`" />
|
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --libs`" />
|
||||||
<Add library="$(SvnRootDir)/deps/debug/zlib.a" />
|
<Add library="$(SvnRootDir)/deps/debug/zlib.a" />
|
||||||
<Add library="$(SvnRootDir)/deps/debug/libx86emitter.a" />
|
<Add library="$(SvnRootDir)/deps/debug/libx86emitter.a" />
|
||||||
<Add library="$(SvnRootDir)/deps/debug/libUtilities.a" />
|
<Add library="$(SvnRootDir)/deps/debug/libUtilities.a" />
|
||||||
</Linker>
|
</Linker>
|
||||||
</Target>
|
</Target>
|
||||||
<Target title="Devel">
|
<Target title="Devel">
|
||||||
<Option platforms="Windows;Unix;" />
|
<Option platforms="Windows;Unix;" />
|
||||||
<Option output="$(SvnRootDir)/bin/pcsx2-dev" prefix_auto="1" extension_auto="1" />
|
<Option output="$(SvnRootDir)/bin/pcsx2-dev" prefix_auto="1" extension_auto="1" />
|
||||||
<Option working_dir="$(SvnRootDir)/bin/" />
|
<Option working_dir="$(SvnRootDir)/bin/" />
|
||||||
<Option object_output="./.objs/devel" />
|
<Option object_output="./.objs/devel" />
|
||||||
<Option type="0" />
|
<Option type="0" />
|
||||||
<Option compiler="gcc" />
|
<Option compiler="gcc" />
|
||||||
<Compiler>
|
<Compiler>
|
||||||
<Add option="-O2" />
|
<Add option="-O2" />
|
||||||
<Add option="-W" />
|
<Add option="-W" />
|
||||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --cflags`" />
|
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --cflags`" />
|
||||||
<Add option="-DNDEBUG" />
|
<Add option="-DNDEBUG" />
|
||||||
<Add option="-DPCSX2_DEVBUILD" />
|
<Add option="-DPCSX2_DEVBUILD" />
|
||||||
</Compiler>
|
</Compiler>
|
||||||
<ResourceCompiler>
|
<ResourceCompiler>
|
||||||
<Add directory="$(ProjectRootDir)/gui" />
|
<Add directory="$(ProjectRootDir)/gui" />
|
||||||
</ResourceCompiler>
|
</ResourceCompiler>
|
||||||
<Linker>
|
<Linker>
|
||||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --libs`" />
|
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=yes --libs`" />
|
||||||
<Add library="$(SvnRootDir)/deps/devel/zlib.a" />
|
<Add library="$(SvnRootDir)/deps/devel/zlib.a" />
|
||||||
<Add library="$(SvnRootDir)/deps/devel/libx86emitter.a" />
|
<Add library="$(SvnRootDir)/deps/devel/libx86emitter.a" />
|
||||||
<Add library="$(SvnRootDir)/deps/devel/libUtilities.a" />
|
<Add library="$(SvnRootDir)/deps/devel/libUtilities.a" />
|
||||||
</Linker>
|
</Linker>
|
||||||
</Target>
|
</Target>
|
||||||
<Target title="Release">
|
<Target title="Release">
|
||||||
<Option platforms="Windows;Unix;" />
|
<Option platforms="Windows;Unix;" />
|
||||||
<Option output="$(SvnRootDir)/bin/pcsx2" prefix_auto="1" extension_auto="1" />
|
<Option output="$(SvnRootDir)/bin/pcsx2" prefix_auto="1" extension_auto="1" />
|
||||||
<Option working_dir="$(SvnRootDir)/bin/" />
|
<Option working_dir="$(SvnRootDir)/bin/" />
|
||||||
<Option object_output="./.objs/release" />
|
<Option object_output="./.objs/release" />
|
||||||
<Option type="0" />
|
<Option type="0" />
|
||||||
<Option compiler="gcc" />
|
<Option compiler="gcc" />
|
||||||
<Compiler>
|
<Compiler>
|
||||||
<Add option="-O2" />
|
<Add option="-O2" />
|
||||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=no --cflags`" />
|
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=no --cflags`" />
|
||||||
<Add option="-DNDEBUG" />
|
<Add option="-DNDEBUG" />
|
||||||
</Compiler>
|
</Compiler>
|
||||||
<ResourceCompiler>
|
<ResourceCompiler>
|
||||||
<Add directory="$(ProjectRootDir)/gui" />
|
<Add directory="$(ProjectRootDir)/gui" />
|
||||||
</ResourceCompiler>
|
</ResourceCompiler>
|
||||||
<Linker>
|
<Linker>
|
||||||
<Add option="-s" />
|
<Add option="-s" />
|
||||||
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=no --libs`" />
|
<Add option="`wx-config --version=2.8 --static=no --unicode=yes --debug=no --libs`" />
|
||||||
<Add library="$(SvnRootDir)/deps/release/zlib.a" />
|
<Add library="$(SvnRootDir)/deps/release/zlib.a" />
|
||||||
<Add library="$(SvnRootDir)/deps/release/libx86emitter.a" />
|
<Add library="$(SvnRootDir)/deps/release/libx86emitter.a" />
|
||||||
<Add library="$(SvnRootDir)/deps/release/libUtilities.a" />
|
<Add library="$(SvnRootDir)/deps/release/libUtilities.a" />
|
||||||
</Linker>
|
</Linker>
|
||||||
</Target>
|
</Target>
|
||||||
<Environment>
|
<Environment>
|
||||||
<Variable name="SvnRootDir" value="../../" />
|
<Variable name="SvnRootDir" value="../../" />
|
||||||
<Variable name="ProjectRootDir" value='"$(SvnRootDir)/pcsx2/"' />
|
<Variable name="ProjectRootDir" value='"$(SvnRootDir)/pcsx2/"' />
|
||||||
<Variable name="CommonDir" value='"$(SvnRootDir)/common/"' />
|
<Variable name="CommonDir" value='"$(SvnRootDir)/common/"' />
|
||||||
</Environment>
|
</Environment>
|
||||||
</Build>
|
</Build>
|
||||||
<Compiler>
|
<Compiler>
|
||||||
<Add option="-march=athlon" />
|
<Add option="-march=athlon" />
|
||||||
<Add option="-march=pentium4" />
|
<Add option="-march=pentium4" />
|
||||||
<Add option="-march=i686" />
|
<Add option="-march=i686" />
|
||||||
<Add option="-march=i586" />
|
<Add option="-march=i586" />
|
||||||
<Add option="-Wno-format" />
|
<Add option="-Wno-format" />
|
||||||
<Add option="-Wno-unused-parameter" />
|
<Add option="-Wno-unused-parameter" />
|
||||||
<Add option="-Wno-unused-value" />
|
<Add option="-Wno-unused-value" />
|
||||||
<Add option="-Wunused-variable" />
|
<Add option="-Wunused-variable" />
|
||||||
<Add option="-fno-guess-branch-probability" />
|
<Add option="-fno-guess-branch-probability" />
|
||||||
<Add option="-fno-dse" />
|
<Add option="-fno-dse" />
|
||||||
<Add option="-fno-tree-dse" />
|
<Add option="-fno-tree-dse" />
|
||||||
<Add option="-pipe -msse -msse2" />
|
<Add option="-pipe -msse -msse2" />
|
||||||
<Add option="-DWX_PRECOMP" />
|
<Add option="-DWX_PRECOMP" />
|
||||||
<Add directory="$(SvnRootDir)/common/include/" />
|
<Add directory="$(SvnRootDir)/common/include/" />
|
||||||
<Add directory="$(SvnRootDir)/3rdparty/" />
|
<Add directory="$(SvnRootDir)/3rdparty/" />
|
||||||
<Add directory="$(ProjectRootDir)" />
|
<Add directory="$(ProjectRootDir)" />
|
||||||
<Add directory="$(ProjectRootDir)/gui" />
|
<Add directory="$(ProjectRootDir)/gui" />
|
||||||
<Add directory="$(ProjectRootDir)/x86" />
|
<Add directory="$(ProjectRootDir)/x86" />
|
||||||
</Compiler>
|
</Compiler>
|
||||||
<Linker>
|
<Linker>
|
||||||
<Add option="-Xlinker -zmuldefs" />
|
<Add option="-Xlinker -zmuldefs" />
|
||||||
</Linker>
|
</Linker>
|
||||||
<Unit filename="../../common/include/PS2Edefs.h" />
|
<Unit filename="../../common/include/PS2Edefs.h" />
|
||||||
<Unit filename="../../common/include/PS2Etypes.h" />
|
<Unit filename="../../common/include/PS2Etypes.h" />
|
||||||
<Unit filename="../../common/include/Pcsx2Api.h" />
|
<Unit filename="../../common/include/Pcsx2Api.h" />
|
||||||
<Unit filename="../../common/include/Pcsx2Config.h" />
|
<Unit filename="../../common/include/Pcsx2Config.h" />
|
||||||
<Unit filename="../../common/include/Pcsx2Defs.h" />
|
<Unit filename="../../common/include/Pcsx2Defs.h" />
|
||||||
<Unit filename="../../common/include/Pcsx2Types.h" />
|
<Unit filename="../../common/include/Pcsx2Types.h" />
|
||||||
<Unit filename="../../common/include/PluginCallbacks.h" />
|
<Unit filename="../../common/include/PluginCallbacks.h" />
|
||||||
<Unit filename="../../common/include/wx/folderdesc.txt" />
|
<Unit filename="../../common/include/wx/folderdesc.txt" />
|
||||||
<Unit filename="../../common/include/wx/scopedarray.h" />
|
<Unit filename="../../common/include/wx/scopedarray.h" />
|
||||||
<Unit filename="../../common/include/wx/scopedptr.h" />
|
<Unit filename="../../common/include/wx/scopedptr.h" />
|
||||||
<Unit filename="../CDVD/CDVD.cpp" />
|
<Unit filename="../CDVD/CDVD.cpp" />
|
||||||
<Unit filename="../CDVD/CDVD.h" />
|
<Unit filename="../CDVD/CDVD.h" />
|
||||||
<Unit filename="../CDVD/CDVD_internal.h" />
|
<Unit filename="../CDVD/CDVD_internal.h" />
|
||||||
<Unit filename="../CDVD/CDVDaccess.cpp" />
|
<Unit filename="../CDVD/CDVDaccess.cpp" />
|
||||||
<Unit filename="../CDVD/CDVDaccess.h" />
|
<Unit filename="../CDVD/CDVDaccess.h" />
|
||||||
<Unit filename="../CDVD/CDVDisoReader.cpp" />
|
<Unit filename="../CDVD/CDVDisoReader.cpp" />
|
||||||
<Unit filename="../CDVD/CDVDisoReader.h" />
|
<Unit filename="../CDVD/CDVDisoReader.h" />
|
||||||
<Unit filename="../CDVD/CdRom.cpp" />
|
<Unit filename="../CDVD/CdRom.cpp" />
|
||||||
<Unit filename="../CDVD/CdRom.h" />
|
<Unit filename="../CDVD/CdRom.h" />
|
||||||
<Unit filename="../CDVD/IsoFScdvd.h" />
|
<Unit filename="../CDVD/IsoFScdvd.h" />
|
||||||
<Unit filename="../CDVD/IsoFSdrv.cpp" />
|
<Unit filename="../CDVD/IsoFSdrv.cpp" />
|
||||||
<Unit filename="../CDVD/IsoFSdrv.h" />
|
<Unit filename="../CDVD/IsoFSdrv.h" />
|
||||||
<Unit filename="../CDVD/IsoFStools.cpp" />
|
<Unit filename="../CDVD/IsoFStools.cpp" />
|
||||||
<Unit filename="../CDVD/IsoFStools.h" />
|
<Unit filename="../CDVD/IsoFStools.h" />
|
||||||
<Unit filename="../CDVD/IsoFileFormats.cpp" />
|
<Unit filename="../CDVD/IsoFileFormats.cpp" />
|
||||||
<Unit filename="../CDVD/IsoFileFormats.h" />
|
<Unit filename="../CDVD/IsoFileFormats.h" />
|
||||||
<Unit filename="../CDVD/IsoFileTools.cpp" />
|
<Unit filename="../CDVD/IsoFileTools.cpp" />
|
||||||
<Unit filename="../CDVD/IsoFileTools.h" />
|
<Unit filename="../CDVD/IsoFileTools.h" />
|
||||||
<Unit filename="../CDVD/IsoFileTools.h.save" />
|
<Unit filename="../COP0.cpp" />
|
||||||
<Unit filename="../CDVD/Makefile.am" />
|
<Unit filename="../COP2.cpp" />
|
||||||
<Unit filename="../COP0.cpp" />
|
<Unit filename="../Cache.cpp" />
|
||||||
<Unit filename="../COP2.cpp" />
|
<Unit filename="../Cache.h" />
|
||||||
<Unit filename="../Cache.cpp" />
|
<Unit filename="../Common.h" />
|
||||||
<Unit filename="../Cache.h" />
|
<Unit filename="../Config.h" />
|
||||||
<Unit filename="../Common.h" />
|
<Unit filename="../Counters.cpp" />
|
||||||
<Unit filename="../Config.h" />
|
<Unit filename="../Counters.h" />
|
||||||
<Unit filename="../Counters.cpp" />
|
<Unit filename="../DebugTools/Debug.h" />
|
||||||
<Unit filename="../Counters.h" />
|
<Unit filename="../DebugTools/DisASM.h" />
|
||||||
<Unit filename="../DebugTools/Debug.h" />
|
<Unit filename="../DebugTools/DisR3000A.cpp" />
|
||||||
<Unit filename="../DebugTools/DisASM.h" />
|
<Unit filename="../DebugTools/DisR5900.cpp" />
|
||||||
<Unit filename="../DebugTools/DisR3000A.cpp" />
|
<Unit filename="../DebugTools/DisR5900asm.cpp" />
|
||||||
<Unit filename="../DebugTools/DisR5900.cpp" />
|
<Unit filename="../DebugTools/DisVU0Micro.cpp" />
|
||||||
<Unit filename="../DebugTools/DisR5900asm.cpp" />
|
<Unit filename="../DebugTools/DisVU1Micro.cpp" />
|
||||||
<Unit filename="../DebugTools/DisVU0Micro.cpp" />
|
<Unit filename="../DebugTools/DisVUmicro.h" />
|
||||||
<Unit filename="../DebugTools/DisVU1Micro.cpp" />
|
<Unit filename="../DebugTools/DisVUops.h" />
|
||||||
<Unit filename="../DebugTools/DisVUmicro.h" />
|
<Unit filename="../Docs/ChangeLog.txt" />
|
||||||
<Unit filename="../DebugTools/DisVUops.h" />
|
<Unit filename="../Docs/License.txt" />
|
||||||
<Unit filename="../Docs/ChangeLog.txt" />
|
<Unit filename="../Docs/devblog.txt" />
|
||||||
<Unit filename="../Docs/License.txt" />
|
<Unit filename="../Dump.cpp" />
|
||||||
<Unit filename="../Docs/PS2Edefs.txt" />
|
<Unit filename="../Dump.h" />
|
||||||
<Unit filename="../Docs/RemoteDebugging.txt" />
|
<Unit filename="../Elfheader.cpp" />
|
||||||
<Unit filename="../Docs/devblog.txt" />
|
<Unit filename="../Elfheader.h" />
|
||||||
<Unit filename="../Docs/readme 0.9.4.txt" />
|
<Unit filename="../FPU.cpp" />
|
||||||
<Unit filename="../Docs/readme Playground.txt" />
|
<Unit filename="../FiFo.cpp" />
|
||||||
<Unit filename="../Dump.cpp" />
|
<Unit filename="../GS.cpp" />
|
||||||
<Unit filename="../Dump.h" />
|
<Unit filename="../GS.h" />
|
||||||
<Unit filename="../Elfheader.cpp" />
|
<Unit filename="../Gif.cpp" />
|
||||||
<Unit filename="../Elfheader.h" />
|
<Unit filename="../HashMap.h" />
|
||||||
<Unit filename="../FPU.cpp" />
|
<Unit filename="../HashTools.cpp" />
|
||||||
<Unit filename="../FiFo.cpp" />
|
<Unit filename="../HostGui.h" />
|
||||||
<Unit filename="../GS.cpp" />
|
<Unit filename="../Hw.cpp" />
|
||||||
<Unit filename="../GS.h" />
|
<Unit filename="../Hw.h" />
|
||||||
<Unit filename="../Gif.cpp" />
|
<Unit filename="../HwRead.cpp" />
|
||||||
<Unit filename="../HashMap.h" />
|
<Unit filename="../HwWrite.cpp" />
|
||||||
<Unit filename="../HashTools.cpp" />
|
<Unit filename="../IPU/IPU.cpp" />
|
||||||
<Unit filename="../HostGui.h" />
|
<Unit filename="../IPU/IPU.h" />
|
||||||
<Unit filename="../Hw.cpp" />
|
<Unit filename="../IPU/acoroutine.S" />
|
||||||
<Unit filename="../Hw.h" />
|
<Unit filename="../IPU/coroutine.cpp" />
|
||||||
<Unit filename="../HwRead.cpp" />
|
<Unit filename="../IPU/coroutine.h" />
|
||||||
<Unit filename="../HwWrite.cpp" />
|
<Unit filename="../IPU/mpeg2lib/Idct.cpp" />
|
||||||
<Unit filename="../IPU/IPU.cpp" />
|
<Unit filename="../IPU/mpeg2lib/Mpeg.cpp" />
|
||||||
<Unit filename="../IPU/IPU.h" />
|
<Unit filename="../IPU/mpeg2lib/Mpeg.h" />
|
||||||
<Unit filename="../IPU/acoroutine.S" />
|
<Unit filename="../IPU/mpeg2lib/Vlc.h" />
|
||||||
<Unit filename="../IPU/coroutine.cpp" />
|
<Unit filename="../IPU/yuv2rgb.cpp" />
|
||||||
<Unit filename="../IPU/coroutine.h" />
|
<Unit filename="../IPU/yuv2rgb.h" />
|
||||||
<Unit filename="../IPU/mpeg2lib/Idct.cpp" />
|
<Unit filename="../Interpreter.cpp" />
|
||||||
<Unit filename="../IPU/mpeg2lib/Mpeg.cpp" />
|
<Unit filename="../IopBios.cpp" />
|
||||||
<Unit filename="../IPU/mpeg2lib/Mpeg.h" />
|
<Unit filename="../IopBios.h" />
|
||||||
<Unit filename="../IPU/mpeg2lib/Vlc.h" />
|
<Unit filename="../IopBios2.h" />
|
||||||
<Unit filename="../IPU/yuv2rgb.cpp" />
|
<Unit filename="../IopCommon.h" />
|
||||||
<Unit filename="../IPU/yuv2rgb.h" />
|
<Unit filename="../IopCounters.cpp" />
|
||||||
<Unit filename="../Interpreter.cpp" />
|
<Unit filename="../IopCounters.h" />
|
||||||
<Unit filename="../IopBios.cpp" />
|
<Unit filename="../IopDma.cpp" />
|
||||||
<Unit filename="../IopBios.h" />
|
<Unit filename="../IopDma.h" />
|
||||||
<Unit filename="../IopBios2.h" />
|
<Unit filename="../IopHw.cpp" />
|
||||||
<Unit filename="../IopCommon.h" />
|
<Unit filename="../IopHw.h" />
|
||||||
<Unit filename="../IopCounters.cpp" />
|
<Unit filename="../IopMem.cpp" />
|
||||||
<Unit filename="../IopCounters.h" />
|
<Unit filename="../IopMem.h" />
|
||||||
<Unit filename="../IopDma.cpp" />
|
<Unit filename="../IopSio2.cpp" />
|
||||||
<Unit filename="../IopDma.h" />
|
<Unit filename="../IopSio2.h" />
|
||||||
<Unit filename="../IopHw.cpp" />
|
<Unit filename="LnxHostSys.cpp" />
|
||||||
<Unit filename="../IopHw.h" />
|
<Unit filename="../MMI.cpp" />
|
||||||
<Unit filename="../IopMem.cpp" />
|
<Unit filename="../MTGS.cpp" />
|
||||||
<Unit filename="../IopMem.h" />
|
<Unit filename="../Memory.cpp" />
|
||||||
<Unit filename="../IopSio2.cpp" />
|
<Unit filename="../Memory.h" />
|
||||||
<Unit filename="../IopSio2.h" />
|
<Unit filename="../MemoryCard.cpp" />
|
||||||
<Unit filename="LnxHostSys.cpp" />
|
<Unit filename="../MemoryCard.h" />
|
||||||
<Unit filename="../MMI.cpp" />
|
<Unit filename="../Misc.cpp" />
|
||||||
<Unit filename="../MTGS.cpp" />
|
<Unit filename="../Misc.h" />
|
||||||
<Unit filename="../Memory.cpp" />
|
<Unit filename="../NakedAsm.h" />
|
||||||
<Unit filename="../Memory.h" />
|
<Unit filename="../Patch.cpp" />
|
||||||
<Unit filename="../MemoryCard.cpp" />
|
<Unit filename="../Patch.h" />
|
||||||
<Unit filename="../MemoryCard.h" />
|
<Unit filename="../PathUtils.cpp" />
|
||||||
<Unit filename="../Misc.cpp" />
|
<Unit filename="../Paths.h" />
|
||||||
<Unit filename="../Misc.h" />
|
<Unit filename="../Pcsx2Config.cpp" />
|
||||||
<Unit filename="../NakedAsm.h" />
|
<Unit filename="../PluginManager.cpp" />
|
||||||
<Unit filename="../Patch.cpp" />
|
<Unit filename="../Plugins.h" />
|
||||||
<Unit filename="../Patch.h" />
|
<Unit filename="../PrecompiledHeader.h" />
|
||||||
<Unit filename="../PathUtils.cpp" />
|
<Unit filename="../R3000A.cpp" />
|
||||||
<Unit filename="../Paths.h" />
|
<Unit filename="../R3000A.h" />
|
||||||
<Unit filename="../Pcsx2Config.cpp" />
|
<Unit filename="../R3000AInterpreter.cpp" />
|
||||||
<Unit filename="../PluginManager.cpp" />
|
<Unit filename="../R3000AOpcodeTables.cpp" />
|
||||||
<Unit filename="../Plugins.h" />
|
<Unit filename="../R5900.cpp" />
|
||||||
<Unit filename="../PrecompiledHeader.h" />
|
<Unit filename="../R5900.h" />
|
||||||
<Unit filename="../R3000A.cpp" />
|
<Unit filename="../R5900Exceptions.h" />
|
||||||
<Unit filename="../R3000A.h" />
|
<Unit filename="../R5900OpcodeImpl.cpp" />
|
||||||
<Unit filename="../R3000AInterpreter.cpp" />
|
<Unit filename="../R5900OpcodeTables.cpp" />
|
||||||
<Unit filename="../R3000AOpcodeTables.cpp" />
|
<Unit filename="../R5900OpcodeTables.h" />
|
||||||
<Unit filename="../R5900.cpp" />
|
<Unit filename="../RecoverySystem.cpp" />
|
||||||
<Unit filename="../R5900.h" />
|
<Unit filename="../SPR.cpp" />
|
||||||
<Unit filename="../R5900Exceptions.h" />
|
<Unit filename="../SPR.h" />
|
||||||
<Unit filename="../R5900OpcodeImpl.cpp" />
|
<Unit filename="../SamplProf.h" />
|
||||||
<Unit filename="../R5900OpcodeTables.cpp" />
|
<Unit filename="../SaveState.cpp" />
|
||||||
<Unit filename="../R5900OpcodeTables.h" />
|
<Unit filename="../SaveState.h" />
|
||||||
<Unit filename="../RecoverySystem.cpp" />
|
<Unit filename="../Sif.cpp" />
|
||||||
<Unit filename="../SPR.cpp" />
|
<Unit filename="../Sif.h" />
|
||||||
<Unit filename="../SPR.h" />
|
<Unit filename="../Sifcmd.h" />
|
||||||
<Unit filename="../SamplProf.h" />
|
<Unit filename="../Sio.cpp" />
|
||||||
<Unit filename="../SaveState.cpp" />
|
<Unit filename="../Sio.h" />
|
||||||
<Unit filename="../SaveState.h" />
|
<Unit filename="../SourceLog.cpp" />
|
||||||
<Unit filename="../Sif.cpp" />
|
<Unit filename="../Stats.cpp" />
|
||||||
<Unit filename="../Sif.h" />
|
<Unit filename="../Stats.h" />
|
||||||
<Unit filename="../Sifcmd.h" />
|
<Unit filename="../StringUtils.h" />
|
||||||
<Unit filename="../Sio.cpp" />
|
<Unit filename="../System.cpp" />
|
||||||
<Unit filename="../Sio.h" />
|
<Unit filename="../System.h" />
|
||||||
<Unit filename="../SourceLog.cpp" />
|
<Unit filename="../Utilities/AsciiFile.h" />
|
||||||
<Unit filename="../Stats.cpp" />
|
<Unit filename="../Utilities/FileUtils.cpp" />
|
||||||
<Unit filename="../Stats.h" />
|
<Unit filename="../Utilities/folderdesc.txt" />
|
||||||
<Unit filename="../StringUtils.h" />
|
<Unit filename="../VU.h" />
|
||||||
<Unit filename="../System.cpp" />
|
<Unit filename="../VU0.cpp" />
|
||||||
<Unit filename="../System.h" />
|
<Unit filename="../VU0micro.cpp" />
|
||||||
<Unit filename="../Utilities/AsciiFile.h" />
|
<Unit filename="../VU0microInterp.cpp" />
|
||||||
<Unit filename="../Utilities/FileUtils.cpp" />
|
<Unit filename="../VU1micro.cpp" />
|
||||||
<Unit filename="../Utilities/folderdesc.txt" />
|
<Unit filename="../VU1microInterp.cpp" />
|
||||||
<Unit filename="../VU.h" />
|
<Unit filename="../VUflags.cpp" />
|
||||||
<Unit filename="../VU0.cpp" />
|
<Unit filename="../VUflags.h" />
|
||||||
<Unit filename="../VU0micro.cpp" />
|
<Unit filename="../VUmicro.h" />
|
||||||
<Unit filename="../VU0microInterp.cpp" />
|
<Unit filename="../VUmicroMem.cpp" />
|
||||||
<Unit filename="../VU1micro.cpp" />
|
<Unit filename="../VUops.cpp" />
|
||||||
<Unit filename="../VU1microInterp.cpp" />
|
<Unit filename="../VUops.h" />
|
||||||
<Unit filename="../VUflags.cpp" />
|
<Unit filename="../Vif.cpp" />
|
||||||
<Unit filename="../VUflags.h" />
|
<Unit filename="../Vif.h" />
|
||||||
<Unit filename="../VUmicro.h" />
|
<Unit filename="../VifDma.cpp" />
|
||||||
<Unit filename="../VUmicroMem.cpp" />
|
<Unit filename="../VifDma.h" />
|
||||||
<Unit filename="../VUops.cpp" />
|
<Unit filename="../gui/AdvancedDialog.cpp" />
|
||||||
<Unit filename="../VUops.h" />
|
<Unit filename="../gui/AdvancedDialog.h" />
|
||||||
<Unit filename="../Vif.cpp" />
|
<Unit filename="../gui/App.h" />
|
||||||
<Unit filename="../Vif.h" />
|
<Unit filename="../gui/AppAssert.cpp" />
|
||||||
<Unit filename="../VifDma.cpp" />
|
<Unit filename="../gui/AppConfig.cpp" />
|
||||||
<Unit filename="../VifDma.h" />
|
<Unit filename="../gui/AppConfig.h" />
|
||||||
<Unit filename="../gui/AdvancedDialog.cpp" />
|
<Unit filename="../gui/AppRes.cpp" />
|
||||||
<Unit filename="../gui/AdvancedDialog.h" />
|
<Unit filename="../gui/CheckedStaticBox.cpp" />
|
||||||
<Unit filename="../gui/App.h" />
|
<Unit filename="../gui/CheckedStaticBox.h" />
|
||||||
<Unit filename="../gui/AppAssert.cpp" />
|
<Unit filename="../gui/ConsoleLogger.cpp" />
|
||||||
<Unit filename="../gui/AppConfig.cpp" />
|
<Unit filename="../gui/ConsoleLogger.h" />
|
||||||
<Unit filename="../gui/AppConfig.h" />
|
<Unit filename="../gui/Dialogs/AboutBoxDialog.cpp" />
|
||||||
<Unit filename="../gui/AppRes.cpp" />
|
<Unit filename="../gui/Dialogs/ConfigurationDialog.cpp" />
|
||||||
<Unit filename="../gui/CheckedStaticBox.cpp" />
|
<Unit filename="../gui/Dialogs/ConfigurationDialog.h" />
|
||||||
<Unit filename="../gui/CheckedStaticBox.h" />
|
<Unit filename="../gui/Dialogs/FirstTimeWizard.cpp" />
|
||||||
<Unit filename="../gui/ConsoleLogger.cpp" />
|
<Unit filename="../gui/Dialogs/ImportSettingsDialog.cpp" />
|
||||||
<Unit filename="../gui/ConsoleLogger.h" />
|
<Unit filename="../gui/Dialogs/LogOptionsDialog.cpp" />
|
||||||
<Unit filename="../gui/Dialogs/AboutBoxDialog.cpp" />
|
<Unit filename="../gui/Dialogs/LogOptionsDialog.h" />
|
||||||
<Unit filename="../gui/Dialogs/ConfigurationDialog.cpp" />
|
<Unit filename="../gui/Dialogs/ModalPopups.h" />
|
||||||
<Unit filename="../gui/Dialogs/ConfigurationDialog.h" />
|
<Unit filename="../gui/Dialogs/PickUserModeDialog.cpp" />
|
||||||
<Unit filename="../gui/Dialogs/FirstTimeWizard.cpp" />
|
<Unit filename="../gui/HostGui.cpp" />
|
||||||
<Unit filename="../gui/Dialogs/ImportSettingsDialog.cpp" />
|
<Unit filename="../gui/IniInterface.cpp" />
|
||||||
<Unit filename="../gui/Dialogs/LogOptionsDialog.cpp" />
|
<Unit filename="../gui/IniInterface.h" />
|
||||||
<Unit filename="../gui/Dialogs/LogOptionsDialog.h" />
|
<Unit filename="../gui/MainFrame.cpp" />
|
||||||
<Unit filename="../gui/Dialogs/ModalPopups.h" />
|
<Unit filename="../gui/MainFrame.h" />
|
||||||
<Unit filename="../gui/Dialogs/PickUserModeDialog.cpp" />
|
<Unit filename="../gui/MainMenuClicks.cpp" />
|
||||||
<Unit filename="../gui/HostGui.cpp" />
|
<Unit filename="../gui/Panels/AudioPanel.cpp" />
|
||||||
<Unit filename="../gui/IniInterface.cpp" />
|
<Unit filename="../gui/Panels/BiosSelectorPanel.cpp" />
|
||||||
<Unit filename="../gui/IniInterface.h" />
|
<Unit filename="../gui/Panels/ConfigurationPanels.h" />
|
||||||
<Unit filename="../gui/MainFrame.cpp" />
|
<Unit filename="../gui/Panels/CpuPanel.cpp" />
|
||||||
<Unit filename="../gui/MainFrame.h" />
|
<Unit filename="../gui/Panels/DirPickerPanel.cpp" />
|
||||||
<Unit filename="../gui/MainMenuClicks.cpp" />
|
<Unit filename="../gui/Panels/GameFixesPanel.cpp" />
|
||||||
<Unit filename="../gui/Panels/AudioPanel.cpp" />
|
<Unit filename="../gui/Panels/MiscPanelStuff.cpp" />
|
||||||
<Unit filename="../gui/Panels/BiosSelectorPanel.cpp" />
|
<Unit filename="../gui/Panels/PathsPanel.cpp" />
|
||||||
<Unit filename="../gui/Panels/ConfigurationPanels.h" />
|
<Unit filename="../gui/Panels/PluginSelectorPanel.cpp" />
|
||||||
<Unit filename="../gui/Panels/CpuPanel.cpp" />
|
<Unit filename="../gui/Panels/SpeedhacksPanel.cpp" />
|
||||||
<Unit filename="../gui/Panels/DirPickerPanel.cpp" />
|
<Unit filename="../gui/Panels/VideoPanel.cpp" />
|
||||||
<Unit filename="../gui/Panels/GameFixesPanel.cpp" />
|
<Unit filename="../gui/Plugins.cpp" />
|
||||||
<Unit filename="../gui/Panels/MiscPanelStuff.cpp" />
|
<Unit filename="../gui/Resources/AppIcon.h" />
|
||||||
<Unit filename="../gui/Panels/PathsPanel.cpp" />
|
<Unit filename="../gui/Resources/BackgroundLogo.h" />
|
||||||
<Unit filename="../gui/Panels/PluginSelectorPanel.cpp" />
|
<Unit filename="../gui/Resources/ConfigIcon_Cpu.h" />
|
||||||
<Unit filename="../gui/Panels/SpeedhacksPanel.cpp" />
|
<Unit filename="../gui/Resources/ConfigIcon_Gamefixes.h" />
|
||||||
<Unit filename="../gui/Panels/VideoPanel.cpp" />
|
<Unit filename="../gui/Resources/ConfigIcon_Paths.h" />
|
||||||
<Unit filename="../gui/Plugins.cpp" />
|
<Unit filename="../gui/Resources/ConfigIcon_Plugins.h" />
|
||||||
<Unit filename="../gui/Resources/AppIcon.h" />
|
<Unit filename="../gui/Resources/ConfigIcon_Speedhacks.h" />
|
||||||
<Unit filename="../gui/Resources/BackgroundLogo.h" />
|
<Unit filename="../gui/Resources/ConfigIcon_Video.h" />
|
||||||
<Unit filename="../gui/Resources/ConfigIcon_Cpu.h" />
|
<Unit filename="../gui/Resources/EmbeddedImage.h" />
|
||||||
<Unit filename="../gui/Resources/ConfigIcon_Gamefixes.h" />
|
<Unit filename="../gui/Resources/ps2_silver.h" />
|
||||||
<Unit filename="../gui/Resources/ConfigIcon_Paths.h" />
|
<Unit filename="../gui/Saveslots.cpp" />
|
||||||
<Unit filename="../gui/Resources/ConfigIcon_Plugins.h" />
|
<Unit filename="../gui/i18n.cpp" />
|
||||||
<Unit filename="../gui/Resources/ConfigIcon_Speedhacks.h" />
|
<Unit filename="../gui/i18n.h" />
|
||||||
<Unit filename="../gui/Resources/ConfigIcon_Video.h" />
|
<Unit filename="../gui/main.cpp" />
|
||||||
<Unit filename="../gui/Resources/EmbeddedImage.h" />
|
<Unit filename="../gui/wxHelpers.cpp" />
|
||||||
<Unit filename="../gui/Resources/ps2_silver.h" />
|
<Unit filename="../gui/wxHelpers.h" />
|
||||||
<Unit filename="../gui/Saveslots.cpp" />
|
<Unit filename="../pcsxAbout.bmp" />
|
||||||
<Unit filename="../gui/i18n.cpp" />
|
<Unit filename="../ps2/BiosTools.cpp" />
|
||||||
<Unit filename="../gui/i18n.h" />
|
<Unit filename="../ps2/BiosTools.h" />
|
||||||
<Unit filename="../gui/main.cpp" />
|
<Unit filename="../ps2/CoreEmuThread.cpp" />
|
||||||
<Unit filename="../gui/wxHelpers.cpp" />
|
<Unit filename="../ps2/CoreEmuThread.h" />
|
||||||
<Unit filename="../gui/wxHelpers.h" />
|
<Unit filename="../ps2/Iop/IopHwRead.cpp" />
|
||||||
<Unit filename="../pcsxAbout.bmp" />
|
<Unit filename="../ps2/Iop/IopHwWrite.cpp" />
|
||||||
<Unit filename="../ps2/BiosTools.cpp" />
|
<Unit filename="../ps2/Iop/IopHw_Internal.h" />
|
||||||
<Unit filename="../ps2/BiosTools.h" />
|
<Unit filename="../tinyxml/tinystr.cpp" />
|
||||||
<Unit filename="../ps2/CoreEmuThread.cpp" />
|
<Unit filename="../tinyxml/tinystr.h" />
|
||||||
<Unit filename="../ps2/CoreEmuThread.h" />
|
<Unit filename="../tinyxml/tinyxml.cpp" />
|
||||||
<Unit filename="../ps2/Iop/IopHwRead.cpp" />
|
<Unit filename="../tinyxml/tinyxml.h" />
|
||||||
<Unit filename="../ps2/Iop/IopHwWrite.cpp" />
|
<Unit filename="../tinyxml/tinyxmlerror.cpp" />
|
||||||
<Unit filename="../ps2/Iop/IopHw_Internal.h" />
|
<Unit filename="../tinyxml/tinyxmlparser.cpp" />
|
||||||
<Unit filename="../tinyxml/tinystr.cpp" />
|
<Unit filename="../vtlb.cpp" />
|
||||||
<Unit filename="../tinyxml/tinystr.h" />
|
<Unit filename="../vtlb.h" />
|
||||||
<Unit filename="../tinyxml/tinyxml.cpp" />
|
<Unit filename="../x86/BaseblockEx.cpp" />
|
||||||
<Unit filename="../tinyxml/tinyxml.h" />
|
<Unit filename="../x86/BaseblockEx.h" />
|
||||||
<Unit filename="../tinyxml/tinyxmlerror.cpp" />
|
<Unit filename="../x86/aR3000A.S" />
|
||||||
<Unit filename="../tinyxml/tinyxmlparser.cpp" />
|
<Unit filename="../x86/aVUzerorec.S" />
|
||||||
<Unit filename="../vtlb.cpp" />
|
<Unit filename="../x86/aVif.S" />
|
||||||
<Unit filename="../vtlb.h" />
|
<Unit filename="../x86/iCOP0.cpp" />
|
||||||
<Unit filename="../x86/BaseblockEx.cpp" />
|
<Unit filename="../x86/iCOP0.h" />
|
||||||
<Unit filename="../x86/BaseblockEx.h" />
|
<Unit filename="../x86/iCOP2.cpp" />
|
||||||
<Unit filename="../x86/aR3000A.S" />
|
<Unit filename="../x86/iCore.cpp" />
|
||||||
<Unit filename="../x86/aVUzerorec.S" />
|
<Unit filename="../x86/iCore.h" />
|
||||||
<Unit filename="../x86/aVif.S" />
|
<Unit filename="../x86/iFPU.cpp" />
|
||||||
<Unit filename="../x86/iCOP0.cpp" />
|
<Unit filename="../x86/iFPU.h" />
|
||||||
<Unit filename="../x86/iCOP0.h" />
|
<Unit filename="../x86/iFPUd.cpp" />
|
||||||
<Unit filename="../x86/iCOP2.cpp" />
|
<Unit filename="../x86/iMMI.cpp" />
|
||||||
<Unit filename="../x86/iCore.cpp" />
|
<Unit filename="../x86/iMMI.h" />
|
||||||
<Unit filename="../x86/iCore.h" />
|
<Unit filename="../x86/iMisc.cpp" />
|
||||||
<Unit filename="../x86/iFPU.cpp" />
|
<Unit filename="../x86/iR3000A.cpp" />
|
||||||
<Unit filename="../x86/iFPU.h" />
|
<Unit filename="../x86/iR3000A.h" />
|
||||||
<Unit filename="../x86/iFPUd.cpp" />
|
<Unit filename="../x86/iR3000Atables.cpp" />
|
||||||
<Unit filename="../x86/iMMI.cpp" />
|
<Unit filename="../x86/iR5900.h" />
|
||||||
<Unit filename="../x86/iMMI.h" />
|
<Unit filename="../x86/iR5900Arit.h" />
|
||||||
<Unit filename="../x86/iMisc.cpp" />
|
<Unit filename="../x86/iR5900AritImm.h" />
|
||||||
<Unit filename="../x86/iR3000A.cpp" />
|
<Unit filename="../x86/iR5900Branch.h" />
|
||||||
<Unit filename="../x86/iR3000A.h" />
|
<Unit filename="../x86/iR5900Jump.h" />
|
||||||
<Unit filename="../x86/iR3000Atables.cpp" />
|
<Unit filename="../x86/iR5900LoadStore.h" />
|
||||||
<Unit filename="../x86/iR5900.h" />
|
<Unit filename="../x86/iR5900Misc.cpp" />
|
||||||
<Unit filename="../x86/iR5900Arit.h" />
|
<Unit filename="../x86/iR5900Move.h" />
|
||||||
<Unit filename="../x86/iR5900AritImm.h" />
|
<Unit filename="../x86/iR5900MultDiv.h" />
|
||||||
<Unit filename="../x86/iR5900Branch.h" />
|
<Unit filename="../x86/iR5900Shift.h" />
|
||||||
<Unit filename="../x86/iR5900Jump.h" />
|
<Unit filename="../x86/iVU0micro.cpp" />
|
||||||
<Unit filename="../x86/iR5900LoadStore.h" />
|
<Unit filename="../x86/iVU1micro.cpp" />
|
||||||
<Unit filename="../x86/iR5900Misc.cpp" />
|
<Unit filename="../x86/iVif.cpp" />
|
||||||
<Unit filename="../x86/iR5900Move.h" />
|
<Unit filename="../x86/ir5900tables.cpp" />
|
||||||
<Unit filename="../x86/iR5900MultDiv.h" />
|
<Unit filename="../x86/ix86-32/aR5900-32.S" />
|
||||||
<Unit filename="../x86/iR5900Shift.h" />
|
<Unit filename="../x86/ix86-32/iCore-32.cpp" />
|
||||||
<Unit filename="../x86/iVU0micro.cpp" />
|
<Unit filename="../x86/ix86-32/iR5900-32.cpp" />
|
||||||
<Unit filename="../x86/iVU1micro.cpp" />
|
<Unit filename="../x86/ix86-32/iR5900Arit.cpp" />
|
||||||
<Unit filename="../x86/iVif.cpp" />
|
<Unit filename="../x86/ix86-32/iR5900AritImm.cpp" />
|
||||||
<Unit filename="../x86/ir5900tables.cpp" />
|
<Unit filename="../x86/ix86-32/iR5900Branch.cpp" />
|
||||||
<Unit filename="../x86/ix86-32/aR5900-32.S" />
|
<Unit filename="../x86/ix86-32/iR5900Jump.cpp" />
|
||||||
<Unit filename="../x86/ix86-32/iCore-32.cpp" />
|
<Unit filename="../x86/ix86-32/iR5900LoadStore.cpp" />
|
||||||
<Unit filename="../x86/ix86-32/iR5900-32.cpp" />
|
<Unit filename="../x86/ix86-32/iR5900Move.cpp" />
|
||||||
<Unit filename="../x86/ix86-32/iR5900Arit.cpp" />
|
<Unit filename="../x86/ix86-32/iR5900MultDiv.cpp" />
|
||||||
<Unit filename="../x86/ix86-32/iR5900AritImm.cpp" />
|
<Unit filename="../x86/ix86-32/iR5900Shift.cpp" />
|
||||||
<Unit filename="../x86/ix86-32/iR5900Branch.cpp" />
|
<Unit filename="../x86/ix86-32/iR5900Templates.cpp" />
|
||||||
<Unit filename="../x86/ix86-32/iR5900Jump.cpp" />
|
<Unit filename="../x86/ix86-32/recVTLB.cpp" />
|
||||||
<Unit filename="../x86/ix86-32/iR5900LoadStore.cpp" />
|
<Unit filename="../x86/microVU.cpp" />
|
||||||
<Unit filename="../x86/ix86-32/iR5900Move.cpp" />
|
<Unit filename="../x86/microVU.h" />
|
||||||
<Unit filename="../x86/ix86-32/iR5900MultDiv.cpp" />
|
<Unit filename="../x86/microVU_Alloc.inl" />
|
||||||
<Unit filename="../x86/ix86-32/iR5900Shift.cpp" />
|
<Unit filename="../x86/microVU_Analyze.inl" />
|
||||||
<Unit filename="../x86/ix86-32/iR5900Templates.cpp" />
|
<Unit filename="../x86/microVU_Compile.inl" />
|
||||||
<Unit filename="../x86/ix86-32/recVTLB.cpp" />
|
<Unit filename="../x86/microVU_Execute.inl" />
|
||||||
<Unit filename="../x86/microVU.cpp" />
|
<Unit filename="../x86/microVU_Flags.inl" />
|
||||||
<Unit filename="../x86/microVU.h" />
|
<Unit filename="../x86/microVU_IR.h" />
|
||||||
<Unit filename="../x86/microVU_Alloc.inl" />
|
<Unit filename="../x86/microVU_Log.inl" />
|
||||||
<Unit filename="../x86/microVU_Analyze.inl" />
|
<Unit filename="../x86/microVU_Lower.inl" />
|
||||||
<Unit filename="../x86/microVU_Compile.inl" />
|
<Unit filename="../x86/microVU_Misc.h" />
|
||||||
<Unit filename="../x86/microVU_Execute.inl" />
|
<Unit filename="../x86/microVU_Misc.inl" />
|
||||||
<Unit filename="../x86/microVU_Flags.inl" />
|
<Unit filename="../x86/microVU_Tables.inl" />
|
||||||
<Unit filename="../x86/microVU_IR.h" />
|
<Unit filename="../x86/microVU_Upper.inl" />
|
||||||
<Unit filename="../x86/microVU_Log.inl" />
|
<Unit filename="../x86/sVU_Debug.h" />
|
||||||
<Unit filename="../x86/microVU_Lower.inl" />
|
<Unit filename="../x86/sVU_Lower.cpp" />
|
||||||
<Unit filename="../x86/microVU_Misc.h" />
|
<Unit filename="../x86/sVU_Micro.cpp" />
|
||||||
<Unit filename="../x86/microVU_Misc.inl" />
|
<Unit filename="../x86/sVU_Micro.h" />
|
||||||
<Unit filename="../x86/microVU_Tables.inl" />
|
<Unit filename="../x86/sVU_Upper.cpp" />
|
||||||
<Unit filename="../x86/microVU_Upper.inl" />
|
<Unit filename="../x86/sVU_zerorec.cpp" />
|
||||||
<Unit filename="../x86/sVU_Debug.h" />
|
<Unit filename="../x86/sVU_zerorec.h" />
|
||||||
<Unit filename="../x86/sVU_Lower.cpp" />
|
<Unit filename="../xmlpatchloader.cpp" />
|
||||||
<Unit filename="../x86/sVU_Micro.cpp" />
|
<Extensions>
|
||||||
<Unit filename="../x86/sVU_Micro.h" />
|
<envvars />
|
||||||
<Unit filename="../x86/sVU_Upper.cpp" />
|
<code_completion>
|
||||||
<Unit filename="../x86/sVU_zerorec.cpp" />
|
<search_path add="/usr/include/wx-2.8" />
|
||||||
<Unit filename="../x86/sVU_zerorec.h" />
|
</code_completion>
|
||||||
<Unit filename="../xmlpatchloader.cpp" />
|
<lib_finder disable_auto="1" />
|
||||||
<Extensions>
|
<debugger />
|
||||||
<envvars />
|
</Extensions>
|
||||||
<code_completion>
|
</Project>
|
||||||
<search_path add="/usr/include/wx-2.8" />
|
</CodeBlocks_project_file>
|
||||||
</code_completion>
|
|
||||||
<lib_finder disable_auto="1" />
|
|
||||||
<debugger />
|
|
||||||
</Extensions>
|
|
||||||
</Project>
|
|
||||||
</CodeBlocks_project_file>
|
|
||||||
|
|
|
@ -603,7 +603,7 @@ PluginManager::PluginManager( const wxString (&folders)[PluginId_Count] )
|
||||||
// Bind Optional Functions
|
// Bind Optional Functions
|
||||||
// (leave pointer null and do not generate error)
|
// (leave pointer null and do not generate error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hack for PAD's stupid parameter passed on Init
|
// Hack for PAD's stupid parameter passed on Init
|
||||||
PADinit = (_PADinit)m_info[PluginId_PAD].CommonBindings.Init;
|
PADinit = (_PADinit)m_info[PluginId_PAD].CommonBindings.Init;
|
||||||
m_info[PluginId_PAD].CommonBindings.Init = _hack_PADinit;
|
m_info[PluginId_PAD].CommonBindings.Init = _hack_PADinit;
|
||||||
|
@ -613,7 +613,7 @@ PluginManager::~PluginManager()
|
||||||
{
|
{
|
||||||
Close();
|
Close();
|
||||||
Shutdown();
|
Shutdown();
|
||||||
|
|
||||||
// All library unloading done automatically.
|
// All library unloading done automatically.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -627,7 +627,7 @@ void PluginManager::BindCommon( PluginsEnum_t pid )
|
||||||
while( current->MethodName != NULL )
|
while( current->MethodName != NULL )
|
||||||
{
|
{
|
||||||
*target = (VoidMethod*)m_info[pid].Lib.GetSymbol( current->GetMethodName( pid ) );
|
*target = (VoidMethod*)m_info[pid].Lib.GetSymbol( current->GetMethodName( pid ) );
|
||||||
|
|
||||||
if( *target == NULL )
|
if( *target == NULL )
|
||||||
*target = current->Fallback;
|
*target = current->Fallback;
|
||||||
|
|
||||||
|
@ -636,7 +636,7 @@ void PluginManager::BindCommon( PluginsEnum_t pid )
|
||||||
throw Exception::PluginLoadError( pid, m_info[pid].Filename,
|
throw Exception::PluginLoadError( pid, m_info[pid].Filename,
|
||||||
wxLt( "Configured plugin is not a PCSX2 plugin, or is for an older unsupported version of PCSX2." ) );
|
wxLt( "Configured plugin is not a PCSX2 plugin, or is for an older unsupported version of PCSX2." ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
target++;
|
target++;
|
||||||
current++;
|
current++;
|
||||||
}
|
}
|
||||||
|
@ -759,7 +759,7 @@ static bool OpenPlugin_FW()
|
||||||
void PluginManager::Open( PluginsEnum_t pid )
|
void PluginManager::Open( PluginsEnum_t pid )
|
||||||
{
|
{
|
||||||
if( m_info[pid].IsOpened ) return;
|
if( m_info[pid].IsOpened ) return;
|
||||||
|
|
||||||
// Each Open needs to be called explicitly. >_<
|
// Each Open needs to be called explicitly. >_<
|
||||||
|
|
||||||
bool result = true;
|
bool result = true;
|
||||||
|
@ -793,7 +793,7 @@ void PluginManager::Close( PluginsEnum_t pid )
|
||||||
if( pid == PluginId_GS )
|
if( pid == PluginId_GS )
|
||||||
{
|
{
|
||||||
if( mtgsThread == NULL ) return;
|
if( mtgsThread == NULL ) return;
|
||||||
|
|
||||||
if( !mtgsThread->IsSelf() )
|
if( !mtgsThread->IsSelf() )
|
||||||
{
|
{
|
||||||
// force-close PAD before GS, because the PAD depends on the GS window.
|
// force-close PAD before GS, because the PAD depends on the GS window.
|
||||||
|
@ -853,7 +853,7 @@ void PluginManager::Shutdown()
|
||||||
|
|
||||||
// Shutdown plugins in reverse order (probably doesn't matter...
|
// Shutdown plugins in reverse order (probably doesn't matter...
|
||||||
// ... but what the heck, right?)
|
// ... but what the heck, right?)
|
||||||
|
|
||||||
for( int i=PluginId_Count-1; i>=0; --i )
|
for( int i=PluginId_Count-1; i>=0; --i )
|
||||||
{
|
{
|
||||||
const PluginsEnum_t pid = tbl_PluginInfo[i].id;
|
const PluginsEnum_t pid = tbl_PluginInfo[i].id;
|
||||||
|
@ -916,7 +916,7 @@ PluginManager* PluginManager_Create( const wxString (&folders)[PluginId_Count] )
|
||||||
PluginManager* PluginManager_Create( const wxChar* (&folders)[PluginId_Count] )
|
PluginManager* PluginManager_Create( const wxChar* (&folders)[PluginId_Count] )
|
||||||
{
|
{
|
||||||
wxString passins[PluginId_Count];
|
wxString passins[PluginId_Count];
|
||||||
|
|
||||||
const PluginInfo* pi = tbl_PluginInfo-1;
|
const PluginInfo* pi = tbl_PluginInfo-1;
|
||||||
while( ++pi, pi->shortname != NULL )
|
while( ++pi, pi->shortname != NULL )
|
||||||
passins[pi->id] = folders[pi->id];
|
passins[pi->id] = folders[pi->id];
|
||||||
|
|
|
@ -105,7 +105,7 @@ void pxLogConsole::DoLog( wxLogLevel level, const wxChar *szString, time_t t )
|
||||||
sptr ConsoleTestThread::ExecuteTask()
|
sptr ConsoleTestThread::ExecuteTask()
|
||||||
{
|
{
|
||||||
static int numtrack = 0;
|
static int numtrack = 0;
|
||||||
|
|
||||||
while( !m_done )
|
while( !m_done )
|
||||||
{
|
{
|
||||||
// Two lines, both formatted, and varied colors. This makes for a fairly realistic
|
// Two lines, both formatted, and varied colors. This makes for a fairly realistic
|
||||||
|
@ -195,7 +195,7 @@ void ConsoleLogFrame::ColorArray::Cleanup()
|
||||||
{
|
{
|
||||||
// The contents of m_table were created with placement new, and must be
|
// The contents of m_table were created with placement new, and must be
|
||||||
// disposed of manually:
|
// disposed of manually:
|
||||||
|
|
||||||
for( int i=0; i<8; ++i )
|
for( int i=0; i<8; ++i )
|
||||||
m_table[i].~wxTextAttr();
|
m_table[i].~wxTextAttr();
|
||||||
}
|
}
|
||||||
|
@ -259,7 +259,7 @@ ConsoleLogFrame::ConsoleLogFrame( MainEmuFrame *parent, const wxString& title, A
|
||||||
wxMenu& menuAppear = *new wxMenu();
|
wxMenu& menuAppear = *new wxMenu();
|
||||||
menuAppear.Append( wxID_ANY, _("Always on Top"),
|
menuAppear.Append( wxID_ANY, _("Always on Top"),
|
||||||
_("When checked the log window will be visible over other foreground windows."), wxITEM_CHECK );
|
_("When checked the log window will be visible over other foreground windows."), wxITEM_CHECK );
|
||||||
menuAppear.Append( wxID_ANY, _("Font Size"), &menuFontSizes );
|
menuAppear.Append( wxID_ANY, _("Font Size"), &menuFontSizes );
|
||||||
|
|
||||||
pMenuBar->Append(&menuLog, _("&Log"));
|
pMenuBar->Append(&menuLog, _("&Log"));
|
||||||
pMenuBar->Append(&menuAppear, _("&Appearance"));
|
pMenuBar->Append(&menuAppear, _("&Appearance"));
|
||||||
|
@ -290,7 +290,7 @@ ConsoleLogFrame::ConsoleLogFrame( MainEmuFrame *parent, const wxString& title, A
|
||||||
Connect( wxEVT_SetTitleText, wxCommandEventHandler(ConsoleLogFrame::OnSetTitle) );
|
Connect( wxEVT_SetTitleText, wxCommandEventHandler(ConsoleLogFrame::OnSetTitle) );
|
||||||
Connect( wxEVT_DockConsole, wxCommandEventHandler(ConsoleLogFrame::OnDockedMove) );
|
Connect( wxEVT_DockConsole, wxCommandEventHandler(ConsoleLogFrame::OnDockedMove) );
|
||||||
Connect( wxEVT_SemaphoreWait, wxCommandEventHandler(ConsoleLogFrame::OnSemaphoreWait) );
|
Connect( wxEVT_SemaphoreWait, wxCommandEventHandler(ConsoleLogFrame::OnSemaphoreWait) );
|
||||||
|
|
||||||
if( m_threadlogger != NULL )
|
if( m_threadlogger != NULL )
|
||||||
m_threadlogger->Start();
|
m_threadlogger->Start();
|
||||||
}
|
}
|
||||||
|
@ -324,7 +324,7 @@ void ConsoleLogFrame::Write( const wxString& text )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
m_TextCtrl.AppendText( text );
|
m_TextCtrl.AppendText( text );
|
||||||
|
|
||||||
// cap at 256k for now...
|
// cap at 256k for now...
|
||||||
// fixme - 256k runs well on win32 but appears to be very sluggish on linux. Might
|
// fixme - 256k runs well on win32 but appears to be very sluggish on linux. Might
|
||||||
// need platform dependent defaults here. - air
|
// need platform dependent defaults here. - air
|
||||||
|
@ -463,9 +463,9 @@ void ConsoleLogFrame::OnFontSize( wxMenuEvent& evt )
|
||||||
case MenuID_FontSize_Large: ptsize = 10; break;
|
case MenuID_FontSize_Large: ptsize = 10; break;
|
||||||
case MenuID_FontSize_Huge: ptsize = 12; break;
|
case MenuID_FontSize_Huge: ptsize = 12; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( ptsize == m_conf.FontSize ) return;
|
if( ptsize == m_conf.FontSize ) return;
|
||||||
|
|
||||||
m_conf.FontSize = ptsize;
|
m_conf.FontSize = ptsize;
|
||||||
m_ColorTable.SetFont( ptsize );
|
m_ColorTable.SetFont( ptsize );
|
||||||
m_TextCtrl.SetDefaultStyle( m_ColorTable[m_curcolor] );
|
m_TextCtrl.SetDefaultStyle( m_ColorTable[m_curcolor] );
|
||||||
|
@ -530,13 +530,13 @@ void ConsoleLogFrame::CountMessage()
|
||||||
|
|
||||||
// Thread Safety note: This function expects to be called from the Main GUI thread
|
// Thread Safety note: This function expects to be called from the Main GUI thread
|
||||||
// only. If called from a thread other than Main, it will generate an assertion failure.
|
// only. If called from a thread other than Main, it will generate an assertion failure.
|
||||||
//
|
//
|
||||||
void ConsoleLogFrame::DoMessage()
|
void ConsoleLogFrame::DoMessage()
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( wxThread::IsMain(), L"DoMessage must only be called from the main gui thread!" );
|
wxASSERT_MSG( wxThread::IsMain(), L"DoMessage must only be called from the main gui thread!" );
|
||||||
|
|
||||||
int cur = _InterlockedDecrement( &m_msgcounter );
|
int cur = _InterlockedDecrement( &m_msgcounter );
|
||||||
|
|
||||||
// We need to freeze the control if there are more than 2 pending messages,
|
// We need to freeze the control if there are more than 2 pending messages,
|
||||||
// otherwise the redraw of the console will prevent it from ever being able to
|
// otherwise the redraw of the console will prevent it from ever being able to
|
||||||
// catch up with the rate the queue is being filled, and the whole app could
|
// catch up with the rate the queue is being filled, and the whole app could
|
||||||
|
@ -641,7 +641,7 @@ namespace Console
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool __fastcall WriteLn( const char* fmt )
|
bool __fastcall WriteLn( const char* fmt )
|
||||||
{
|
{
|
||||||
const wxString fmtline( wxString::FromAscii( fmt ) + L"\n" );
|
const wxString fmtline( wxString::FromAscii( fmt ) + L"\n" );
|
||||||
|
@ -652,7 +652,7 @@ namespace Console
|
||||||
|
|
||||||
// Implementation note: I've duplicated Write+Newline behavior here to avoid polluting
|
// Implementation note: I've duplicated Write+Newline behavior here to avoid polluting
|
||||||
// the message pump with lots of erroneous messages (Newlines can be bound into Write message).
|
// the message pump with lots of erroneous messages (Newlines can be bound into Write message).
|
||||||
|
|
||||||
wxCommandEvent evt( wxEVT_LOG_Write );
|
wxCommandEvent evt( wxEVT_LOG_Write );
|
||||||
evt.SetString( fmtline );
|
evt.SetString( fmtline );
|
||||||
evt.SetExtraLong( th_CurrentColor );
|
evt.SetExtraLong( th_CurrentColor );
|
||||||
|
@ -700,7 +700,7 @@ static int pxMessageDialog( const wxString& content, const wxString& caption, lo
|
||||||
// 2) Issue the popup with wxSTAY_ON_TOP specified so that the user will see it.
|
// 2) Issue the popup with wxSTAY_ON_TOP specified so that the user will see it.
|
||||||
//
|
//
|
||||||
// And in either case the emulation should be paused/suspended for the user.
|
// And in either case the emulation should be paused/suspended for the user.
|
||||||
|
|
||||||
return wxMessageDialog( NULL, content, caption, flags ).ShowModal();
|
return wxMessageDialog( NULL, content, caption, flags ).ShowModal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -766,7 +766,7 @@ public:
|
||||||
void DoTheDialog()
|
void DoTheDialog()
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
if( m_id == pxEVT_MSGBOX )
|
if( m_id == pxEVT_MSGBOX )
|
||||||
result = pxMessageDialog( m_Content, m_Title, m_Flags );
|
result = pxMessageDialog( m_Content, m_Title, m_Flags );
|
||||||
else
|
else
|
||||||
|
@ -799,7 +799,7 @@ namespace Msgbox
|
||||||
instdat.WaitForMe.WaitNoCancel(); // Important! disable cancellation since we're using local stack vars.
|
instdat.WaitForMe.WaitNoCancel(); // Important! disable cancellation since we're using local stack vars.
|
||||||
return instdat.result;
|
return instdat.result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnEvent( pxMessageBoxEvent& evt )
|
void OnEvent( pxMessageBoxEvent& evt )
|
||||||
{
|
{
|
||||||
evt.DoTheDialog();
|
evt.DoTheDialog();
|
||||||
|
@ -844,7 +844,7 @@ namespace Msgbox
|
||||||
return wxID_YES == ThreadedMessageBox( text, caption, icon );
|
return wxID_YES == ThreadedMessageBox( text, caption, icon );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// [TODO] : This should probably be a fancier looking dialog box with the stacktrace
|
// [TODO] : This should probably be a fancier looking dialog box with the stacktrace
|
||||||
// displayed inside a wxTextCtrl.
|
// displayed inside a wxTextCtrl.
|
||||||
static int CallStack( const wxString& errormsg, const wxString& stacktrace, const wxString& prompt, const wxString& caption, int buttons )
|
static int CallStack( const wxString& errormsg, const wxString& stacktrace, const wxString& prompt, const wxString& caption, int buttons )
|
||||||
|
@ -862,10 +862,10 @@ namespace Msgbox
|
||||||
return ThreadedMessageBox( text, caption, buttons, pxEVT_CallStackBox );
|
return ThreadedMessageBox( text, caption, buttons, pxEVT_CallStackBox );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int Assertion( const wxString& text, const wxString& stacktrace )
|
int Assertion( const wxString& text, const wxString& stacktrace )
|
||||||
{
|
{
|
||||||
return CallStack( text, stacktrace,
|
return CallStack( text, stacktrace,
|
||||||
L"\nDo you want to stop the program?"
|
L"\nDo you want to stop the program?"
|
||||||
L"\nOr press [Cancel] to suppress further assertions.",
|
L"\nOr press [Cancel] to suppress further assertions.",
|
||||||
L"PCSX2 Assertion Failure",
|
L"PCSX2 Assertion Failure",
|
||||||
|
@ -877,5 +877,5 @@ namespace Msgbox
|
||||||
{
|
{
|
||||||
CallStack( src.FormatDisplayMessage(), src.FormatDiagnosticMessage(), wxEmptyString, L"PCSX2 Unhandled Exception", wxOK );
|
CallStack( src.FormatDisplayMessage(), src.FormatDiagnosticMessage(), wxEmptyString, L"PCSX2 Unhandled Exception", wxOK );
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,12 +22,12 @@
|
||||||
#include <wx/stdpaths.h>
|
#include <wx/stdpaths.h>
|
||||||
|
|
||||||
using namespace wxHelpers;
|
using namespace wxHelpers;
|
||||||
|
using namespace Panels;
|
||||||
|
|
||||||
Dialogs::PickUserModeDialog::PickUserModeDialog( wxWindow* parent, int id ) :
|
Dialogs::PickUserModeDialog::PickUserModeDialog( wxWindow* parent, int id ) :
|
||||||
wxDialogWithHelpers( parent, id, _("PCSX2 First Time configuration"), false )
|
wxDialogWithHelpers( parent, id, _("PCSX2 First Time configuration"), false )
|
||||||
, m_panel_usersel( new Panels::UsermodeSelectionPanel( *this, 620, false ) )
|
, m_panel_usersel( new UsermodeSelectionPanel( *this, 620, false ) )
|
||||||
, m_panel_langsel( new Panels::LanguageSelectionPanel( *this, 620 ) )
|
, m_panel_langsel( new LanguageSelectionPanel( *this, 620 ) )
|
||||||
{
|
{
|
||||||
wxBoxSizer& s_main = *new wxBoxSizer( wxVERTICAL );
|
wxBoxSizer& s_main = *new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ Dialogs::PickUserModeDialog::PickUserModeDialog( wxWindow* parent, int id ) :
|
||||||
|
|
||||||
void Dialogs::PickUserModeDialog::OnOk_Click( wxCommandEvent& evt )
|
void Dialogs::PickUserModeDialog::OnOk_Click( wxCommandEvent& evt )
|
||||||
{
|
{
|
||||||
if( Panels::g_ApplyState.ApplyAll(true) )
|
if( g_ApplyState.ApplyAll() )
|
||||||
{
|
{
|
||||||
Close();
|
Close();
|
||||||
evt.Skip();
|
evt.Skip();
|
||||||
|
|
|
@ -70,7 +70,7 @@ namespace Exception
|
||||||
BaseException::InitBaseEx( msg_eng, msg_xlt );
|
BaseException::InitBaseEx( msg_eng, msg_xlt );
|
||||||
m_Panel = thispanel;
|
m_Panel = thispanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
Panels::BaseApplicableConfigPanel* GetPanel()
|
Panels::BaseApplicableConfigPanel* GetPanel()
|
||||||
{
|
{
|
||||||
return m_Panel;
|
return m_Panel;
|
||||||
|
@ -88,7 +88,7 @@ namespace Panels
|
||||||
PanelApplyList_t PanelList;
|
PanelApplyList_t PanelList;
|
||||||
|
|
||||||
// Current book page being initialized. Any apply objects created will use
|
// Current book page being initialized. Any apply objects created will use
|
||||||
// this page as their "go here on error" page. (used to take the user to the
|
// this page as their "go here on error" page. (used to take the user to the
|
||||||
// page with the option that failed apply validation).
|
// page with the option that failed apply validation).
|
||||||
int CurOwnerPage;
|
int CurOwnerPage;
|
||||||
|
|
||||||
|
@ -98,14 +98,14 @@ namespace Panels
|
||||||
// Crappy hack to handle the UseAdminMode option, which can't be part of AppConfig
|
// Crappy hack to handle the UseAdminMode option, which can't be part of AppConfig
|
||||||
// because AppConfig depends on this value to initialize itself.
|
// because AppConfig depends on this value to initialize itself.
|
||||||
bool UseAdminMode;
|
bool UseAdminMode;
|
||||||
|
|
||||||
StaticApplyState() :
|
StaticApplyState() :
|
||||||
PanelList()
|
PanelList()
|
||||||
, CurOwnerPage( wxID_NONE )
|
, CurOwnerPage( wxID_NONE )
|
||||||
, ParentBook( NULL )
|
, ParentBook( NULL )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetCurrentPage( int page )
|
void SetCurrentPage( int page )
|
||||||
{
|
{
|
||||||
CurOwnerPage = page;
|
CurOwnerPage = page;
|
||||||
|
@ -115,7 +115,7 @@ namespace Panels
|
||||||
{
|
{
|
||||||
CurOwnerPage = wxID_NONE;
|
CurOwnerPage = wxID_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void StartBook( wxBookCtrlBase* book );
|
void StartBook( wxBookCtrlBase* book );
|
||||||
void StartWizard();
|
void StartWizard();
|
||||||
bool ApplyAll( bool saveOnSuccess=true );
|
bool ApplyAll( bool saveOnSuccess=true );
|
||||||
|
@ -132,7 +132,7 @@ namespace Panels
|
||||||
// Thread Safety: None. This class is only safe when used from the GUI thread, as it uses
|
// Thread Safety: None. This class is only safe when used from the GUI thread, as it uses
|
||||||
// static vars and assumes that only one ApplicableConfig system is available to the
|
// static vars and assumes that only one ApplicableConfig system is available to the
|
||||||
// user at any time (ie, a singular modal dialog).
|
// user at any time (ie, a singular modal dialog).
|
||||||
//
|
//
|
||||||
class BaseApplicableConfigPanel : public wxPanelWithHelpers
|
class BaseApplicableConfigPanel : public wxPanelWithHelpers
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
@ -145,7 +145,7 @@ namespace Panels
|
||||||
g_ApplyState.PanelList.remove( this );
|
g_ApplyState.PanelList.remove( this );
|
||||||
}
|
}
|
||||||
|
|
||||||
BaseApplicableConfigPanel( wxWindow* parent, int idealWidth ) :
|
BaseApplicableConfigPanel( wxWindow* parent, int idealWidth ) :
|
||||||
wxPanelWithHelpers( parent, idealWidth )
|
wxPanelWithHelpers( parent, idealWidth )
|
||||||
, m_OwnerPage( g_ApplyState.CurOwnerPage )
|
, m_OwnerPage( g_ApplyState.CurOwnerPage )
|
||||||
, m_OwnerBook( g_ApplyState.ParentBook )
|
, m_OwnerBook( g_ApplyState.ParentBook )
|
||||||
|
@ -155,7 +155,7 @@ namespace Panels
|
||||||
|
|
||||||
int GetOwnerPage() const { return m_OwnerPage; }
|
int GetOwnerPage() const { return m_OwnerPage; }
|
||||||
wxBookCtrlBase* GetOwnerBook() { return m_OwnerBook; }
|
wxBookCtrlBase* GetOwnerBook() { return m_OwnerBook; }
|
||||||
|
|
||||||
void SetFocusToMe()
|
void SetFocusToMe()
|
||||||
{
|
{
|
||||||
if( (m_OwnerBook == NULL) || (m_OwnerPage == wxID_NONE) ) return;
|
if( (m_OwnerBook == NULL) || (m_OwnerPage == wxID_NONE) ) return;
|
||||||
|
@ -212,7 +212,7 @@ namespace Panels
|
||||||
wxRadioButton* m_Option_RecIOP;
|
wxRadioButton* m_Option_RecIOP;
|
||||||
wxRadioButton* m_Option_mVU0;
|
wxRadioButton* m_Option_mVU0;
|
||||||
wxRadioButton* m_Option_mVU1;
|
wxRadioButton* m_Option_mVU1;
|
||||||
|
|
||||||
wxRadioButton* m_Option_sVU0;
|
wxRadioButton* m_Option_sVU0;
|
||||||
wxRadioButton* m_Option_sVU1;
|
wxRadioButton* m_Option_sVU1;
|
||||||
|
|
||||||
|
@ -220,7 +220,7 @@ namespace Panels
|
||||||
CpuPanel( wxWindow& parent, int idealWidth );
|
CpuPanel( wxWindow& parent, int idealWidth );
|
||||||
void Apply( AppConfig& conf );
|
void Apply( AppConfig& conf );
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
class VideoPanel : public BaseApplicableConfigPanel
|
class VideoPanel : public BaseApplicableConfigPanel
|
||||||
|
@ -231,7 +231,7 @@ namespace Panels
|
||||||
VideoPanel( wxWindow& parent, int idealWidth );
|
VideoPanel( wxWindow& parent, int idealWidth );
|
||||||
void Apply( AppConfig& conf );
|
void Apply( AppConfig& conf );
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
class SpeedHacksPanel : public BaseApplicableConfigPanel
|
class SpeedHacksPanel : public BaseApplicableConfigPanel
|
||||||
|
@ -241,7 +241,7 @@ namespace Panels
|
||||||
wxSlider* m_slider_vustealer;
|
wxSlider* m_slider_vustealer;
|
||||||
wxStaticText* m_msg_eecycle;
|
wxStaticText* m_msg_eecycle;
|
||||||
wxStaticText* m_msg_vustealer;
|
wxStaticText* m_msg_vustealer;
|
||||||
|
|
||||||
wxCheckBox* m_check_intc;
|
wxCheckBox* m_check_intc;
|
||||||
wxCheckBox* m_check_b1fc0;
|
wxCheckBox* m_check_b1fc0;
|
||||||
wxCheckBox* m_check_IOPx2;
|
wxCheckBox* m_check_IOPx2;
|
||||||
|
@ -286,7 +286,7 @@ namespace Panels
|
||||||
void Apply( AppConfig& conf );
|
void Apply( AppConfig& conf );
|
||||||
void Reset();
|
void Reset();
|
||||||
wxDirName GetPath() const { return wxDirName( m_pickerCtrl->GetPath() ); }
|
wxDirName GetPath() const { return wxDirName( m_pickerCtrl->GetPath() ); }
|
||||||
|
|
||||||
DirPickerPanel& SetStaticDesc( const wxString& msg );
|
DirPickerPanel& SetStaticDesc( const wxString& msg );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -294,7 +294,7 @@ namespace Panels
|
||||||
void Explore_Click( wxCommandEvent &event );
|
void Explore_Click( wxCommandEvent &event );
|
||||||
void UpdateCheckStatus( bool someNoteworthyBoolean );
|
void UpdateCheckStatus( bool someNoteworthyBoolean );
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
class SettingsDirPickerPanel : public DirPickerPanel
|
class SettingsDirPickerPanel : public DirPickerPanel
|
||||||
|
@ -331,7 +331,7 @@ namespace Panels
|
||||||
class BaseSelectorPanel: public BaseApplicableConfigPanel
|
class BaseSelectorPanel: public BaseApplicableConfigPanel
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual ~BaseSelectorPanel();
|
virtual ~BaseSelectorPanel();
|
||||||
BaseSelectorPanel( wxWindow& parent, int idealWidth );
|
BaseSelectorPanel( wxWindow& parent, int idealWidth );
|
||||||
|
@ -345,7 +345,7 @@ namespace Panels
|
||||||
virtual void DoRefresh()=0;
|
virtual void DoRefresh()=0;
|
||||||
virtual bool ValidateEnumerationStatus()=0;
|
virtual bool ValidateEnumerationStatus()=0;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
class BiosSelectorPanel : public BaseSelectorPanel
|
class BiosSelectorPanel : public BaseSelectorPanel
|
||||||
|
@ -354,7 +354,7 @@ namespace Panels
|
||||||
wxListBox& m_ComboBox;
|
wxListBox& m_ComboBox;
|
||||||
DirPickerPanel& m_FolderPicker;
|
DirPickerPanel& m_FolderPicker;
|
||||||
wxArrayString* m_BiosList;
|
wxArrayString* m_BiosList;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
BiosSelectorPanel( wxWindow& parent, int idealWidth );
|
BiosSelectorPanel( wxWindow& parent, int idealWidth );
|
||||||
virtual ~BiosSelectorPanel();
|
virtual ~BiosSelectorPanel();
|
||||||
|
@ -392,7 +392,7 @@ namespace Panels
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class EnumThread : public Threading::PersistentThread
|
class EnumThread : public Threading::PersistentThread
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -400,15 +400,18 @@ namespace Panels
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
PluginSelectorPanel& m_master;
|
PluginSelectorPanel& m_master;
|
||||||
volatile bool m_cancel;
|
volatile bool m_cancel;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual ~EnumThread();
|
virtual ~EnumThread();
|
||||||
EnumThread( PluginSelectorPanel& master );
|
EnumThread( PluginSelectorPanel& master );
|
||||||
void Cancel();
|
void Cancel();
|
||||||
|
void DoNextPlugin( int evtidx );
|
||||||
|
|
||||||
|
protected:
|
||||||
sptr ExecuteTask();
|
sptr ExecuteTask();
|
||||||
};
|
};
|
||||||
|
|
||||||
// This panel contains all of the plugin combo boxes. We stick them
|
// This panel contains all of the plugin combo boxes. We stick them
|
||||||
// on a panel together so that we can hide/show the whole mess easily.
|
// on a panel together so that we can hide/show the whole mess easily.
|
||||||
class ComboBoxPanel : public wxPanelWithHelpers
|
class ComboBoxPanel : public wxPanelWithHelpers
|
||||||
|
@ -431,10 +434,10 @@ namespace Panels
|
||||||
wxGauge& m_gauge;
|
wxGauge& m_gauge;
|
||||||
wxStaticText& m_label;
|
wxStaticText& m_label;
|
||||||
int m_progress;
|
int m_progress;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
StatusPanel( wxWindow* parent );
|
StatusPanel( wxWindow* parent );
|
||||||
|
|
||||||
void SetGaugeLength( int len );
|
void SetGaugeLength( int len );
|
||||||
void AdvanceProgress( const wxString& msg );
|
void AdvanceProgress( const wxString& msg );
|
||||||
void Reset();
|
void Reset();
|
||||||
|
@ -465,7 +468,7 @@ namespace Panels
|
||||||
|
|
||||||
virtual void DoRefresh();
|
virtual void DoRefresh();
|
||||||
virtual bool ValidateEnumerationStatus();
|
virtual bool ValidateEnumerationStatus();
|
||||||
|
|
||||||
int FileCount() const { return m_FileList->Count(); }
|
int FileCount() const { return m_FileList->Count(); }
|
||||||
const wxString& GetFilename( int i ) const { return (*m_FileList)[i]; }
|
const wxString& GetFilename( int i ) const { return (*m_FileList)[i]; }
|
||||||
friend class EnumThread;
|
friend class EnumThread;
|
||||||
|
|
|
@ -26,7 +26,12 @@
|
||||||
#include <wx/dir.h>
|
#include <wx/dir.h>
|
||||||
|
|
||||||
// Allows us to force-disable threading for debugging/troubleshooting
|
// Allows us to force-disable threading for debugging/troubleshooting
|
||||||
static const bool DisableThreading = true;
|
static const bool DisableThreading =
|
||||||
|
#ifdef __LINUX__
|
||||||
|
true; // linux appears to have threading issues with loadlibrary.
|
||||||
|
#else
|
||||||
|
false;
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace wxHelpers;
|
using namespace wxHelpers;
|
||||||
using namespace Threading;
|
using namespace Threading;
|
||||||
|
@ -287,12 +292,20 @@ void Panels::PluginSelectorPanel::Apply( AppConfig& conf )
|
||||||
|
|
||||||
void Panels::PluginSelectorPanel::CancelRefresh()
|
void Panels::PluginSelectorPanel::CancelRefresh()
|
||||||
{
|
{
|
||||||
if (!DisableThreading) safe_delete( m_EnumeratorThread );
|
safe_delete( m_EnumeratorThread );
|
||||||
safe_delete( m_FileList );
|
safe_delete( m_FileList );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Panels::PluginSelectorPanel::DoRefresh()
|
void Panels::PluginSelectorPanel::DoRefresh()
|
||||||
{
|
{
|
||||||
|
m_ComponentBoxes.Reset();
|
||||||
|
if( m_FileList == NULL )
|
||||||
|
{
|
||||||
|
wxCommandEvent evt;
|
||||||
|
OnEnumComplete( evt );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Disable all controls until enumeration is complete.
|
// Disable all controls until enumeration is complete.
|
||||||
// Show status bar for plugin enumeration.
|
// Show status bar for plugin enumeration.
|
||||||
|
|
||||||
|
@ -307,19 +320,13 @@ void Panels::PluginSelectorPanel::DoRefresh()
|
||||||
m_StatusPanel.Show();
|
m_StatusPanel.Show();
|
||||||
|
|
||||||
// Use a thread to load plugins.
|
// Use a thread to load plugins.
|
||||||
if (!DisableThreading) safe_delete( m_EnumeratorThread );
|
safe_delete( m_EnumeratorThread );
|
||||||
m_EnumeratorThread = new EnumThread( *this );
|
m_EnumeratorThread = new EnumThread( *this );
|
||||||
|
|
||||||
if( DisableThreading )
|
if( DisableThreading )
|
||||||
{
|
m_EnumeratorThread->DoNextPlugin( 0 );
|
||||||
m_ComponentBoxes.Reset();
|
|
||||||
m_EnumeratorThread->ExecuteTask();
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
|
||||||
m_EnumeratorThread->Start();
|
m_EnumeratorThread->Start();
|
||||||
m_ComponentBoxes.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Panels::PluginSelectorPanel::ValidateEnumerationStatus()
|
bool Panels::PluginSelectorPanel::ValidateEnumerationStatus()
|
||||||
|
@ -338,6 +345,12 @@ bool Panels::PluginSelectorPanel::ValidateEnumerationStatus()
|
||||||
if( (m_FileList == NULL) || (*pluginlist != *m_FileList) )
|
if( (m_FileList == NULL) || (*pluginlist != *m_FileList) )
|
||||||
validated = false;
|
validated = false;
|
||||||
|
|
||||||
|
if( pluggers == 0 )
|
||||||
|
{
|
||||||
|
safe_delete( m_FileList );
|
||||||
|
return validated;
|
||||||
|
}
|
||||||
|
|
||||||
delete m_FileList;
|
delete m_FileList;
|
||||||
m_FileList = pluginlist.release();
|
m_FileList = pluginlist.release();
|
||||||
|
|
||||||
|
@ -363,7 +376,7 @@ void Panels::PluginSelectorPanel::OnConfigure_Clicked( wxCommandEvent& evt )
|
||||||
|
|
||||||
void Panels::PluginSelectorPanel::OnEnumComplete( wxCommandEvent& evt )
|
void Panels::PluginSelectorPanel::OnEnumComplete( wxCommandEvent& evt )
|
||||||
{
|
{
|
||||||
if (!DisableThreading) safe_delete( m_EnumeratorThread );
|
safe_delete( m_EnumeratorThread );
|
||||||
|
|
||||||
// fixme: Default plugins should be picked based on the timestamp of the DLL or something?
|
// fixme: Default plugins should be picked based on the timestamp of the DLL or something?
|
||||||
// (for now we just force it to selection zero if nothing's selected)
|
// (for now we just force it to selection zero if nothing's selected)
|
||||||
|
@ -388,7 +401,20 @@ void Panels::PluginSelectorPanel::OnProgress( wxCommandEvent& evt )
|
||||||
{
|
{
|
||||||
if( m_FileList == NULL ) return;
|
if( m_FileList == NULL ) return;
|
||||||
|
|
||||||
size_t evtidx = evt.GetExtraLong();
|
const size_t evtidx = evt.GetExtraLong();
|
||||||
|
|
||||||
|
if( DisableThreading )
|
||||||
|
{
|
||||||
|
const int nextidx = evtidx+1;
|
||||||
|
if( nextidx == m_FileList->Count() )
|
||||||
|
{
|
||||||
|
wxCommandEvent done( wxEVT_EnumerationFinished );
|
||||||
|
GetEventHandler()->AddPendingEvent( done );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_EnumeratorThread->DoNextPlugin( nextidx );
|
||||||
|
}
|
||||||
|
|
||||||
m_StatusPanel.AdvanceProgress( (evtidx < m_FileList->Count()-1) ?
|
m_StatusPanel.AdvanceProgress( (evtidx < m_FileList->Count()-1) ?
|
||||||
(*m_FileList)[evtidx + 1] : wxString(_("Completing tasks..."))
|
(*m_FileList)[evtidx + 1] : wxString(_("Completing tasks..."))
|
||||||
);
|
);
|
||||||
|
@ -449,6 +475,39 @@ void Panels::PluginSelectorPanel::EnumThread::Cancel()
|
||||||
PersistentThread::Cancel();
|
PersistentThread::Cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Panels::PluginSelectorPanel::EnumThread::DoNextPlugin( int curidx )
|
||||||
|
{
|
||||||
|
DbgCon::WriteLn( L"Enumerating Plugin: " + m_master.GetFilename( curidx ) );
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
EnumeratedPluginInfo& result( Results[curidx] );
|
||||||
|
result.TypeMask = 0;
|
||||||
|
|
||||||
|
PluginEnumerator penum( m_master.GetFilename( curidx ) );
|
||||||
|
|
||||||
|
result.Name = penum.GetName();
|
||||||
|
for( int pidx=0; pidx<PluginId_Count; ++pidx )
|
||||||
|
{
|
||||||
|
const PluginsEnum_t pid = (PluginsEnum_t)pidx;
|
||||||
|
result.TypeMask |= tbl_PluginInfo[pid].typemask;
|
||||||
|
if( penum.CheckVersion( pid ) )
|
||||||
|
{
|
||||||
|
result.PassedTest |= tbl_PluginInfo[pid].typemask;
|
||||||
|
penum.GetVersionString( result.Version[pid], pidx );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch( Exception::BadStream& ex )
|
||||||
|
{
|
||||||
|
Console::Status( ex.FormatDiagnosticMessage() );
|
||||||
|
}
|
||||||
|
|
||||||
|
wxCommandEvent yay( wxEVT_EnumeratedNext );
|
||||||
|
yay.SetExtraLong( curidx );
|
||||||
|
m_master.GetEventHandler()->AddPendingEvent( yay );
|
||||||
|
}
|
||||||
|
|
||||||
sptr Panels::PluginSelectorPanel::EnumThread::ExecuteTask()
|
sptr Panels::PluginSelectorPanel::EnumThread::ExecuteTask()
|
||||||
{
|
{
|
||||||
DevCon::Status( "Plugin Enumeration Thread started..." );
|
DevCon::Status( "Plugin Enumeration Thread started..." );
|
||||||
|
@ -458,37 +517,8 @@ sptr Panels::PluginSelectorPanel::EnumThread::ExecuteTask()
|
||||||
for( int curidx=0; curidx < m_master.FileCount(); ++curidx )
|
for( int curidx=0; curidx < m_master.FileCount(); ++curidx )
|
||||||
{
|
{
|
||||||
if( m_cancel ) return 0;
|
if( m_cancel ) return 0;
|
||||||
DbgCon::WriteLn( L"Enumerating Plugin: " + m_master.GetFilename( curidx ) );
|
DoNextPlugin( curidx );
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
EnumeratedPluginInfo& result( Results[curidx] );
|
|
||||||
result.TypeMask = 0;
|
|
||||||
|
|
||||||
PluginEnumerator penum( m_master.GetFilename( curidx ) );
|
|
||||||
|
|
||||||
result.Name = penum.GetName();
|
|
||||||
for( int pidx=0; pidx<PluginId_Count; ++pidx )
|
|
||||||
{
|
|
||||||
const PluginsEnum_t pid = (PluginsEnum_t)pidx;
|
|
||||||
result.TypeMask |= tbl_PluginInfo[pid].typemask;
|
|
||||||
if( penum.CheckVersion( pid ) )
|
|
||||||
{
|
|
||||||
result.PassedTest |= tbl_PluginInfo[pid].typemask;
|
|
||||||
penum.GetVersionString( result.Version[pid], pidx );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch( Exception::BadStream& ex )
|
|
||||||
{
|
|
||||||
Console::Status( ex.FormatDiagnosticMessage() );
|
|
||||||
}
|
|
||||||
|
|
||||||
pthread_testcancel();
|
pthread_testcancel();
|
||||||
|
|
||||||
wxCommandEvent yay( wxEVT_EnumeratedNext );
|
|
||||||
yay.SetExtraLong( curidx );
|
|
||||||
m_master.GetEventHandler()->AddPendingEvent( yay );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wxCommandEvent done( wxEVT_EnumerationFinished );
|
wxCommandEvent done( wxEVT_EnumerationFinished );
|
||||||
|
|
Loading…
Reference in New Issue