mirror of https://github.com/PCSX2/pcsx2.git
Use unique_ptr instead of ScopedPtr for exceptions
This commit is contained in:
parent
115b14bc94
commit
92bb849e7c
|
@ -16,7 +16,7 @@
|
|||
#pragma once
|
||||
|
||||
#include "Assertions.h"
|
||||
#include "ScopedPtr.h"
|
||||
#include <memory>
|
||||
|
||||
// Because wxTrap isn't available on Linux builds of wxWidgets (non-Debug, typically)
|
||||
void pxTrap();
|
||||
|
@ -108,7 +108,7 @@ namespace Exception
|
|||
virtual BaseException* Clone() const=0;
|
||||
};
|
||||
|
||||
typedef ScopedPtr<BaseException> ScopedExcept;
|
||||
typedef std::unique_ptr<BaseException> ScopedExcept;
|
||||
|
||||
// --------------------------------------------------------------------------------------
|
||||
// Ps2Generic Exception
|
||||
|
|
|
@ -55,14 +55,14 @@ void BaseDeletableObject::DoDeletion()
|
|||
|
||||
void SynchronousActionState::SetException( const BaseException& ex )
|
||||
{
|
||||
m_exception = ex.Clone();
|
||||
m_exception = ScopedExcept(ex.Clone());
|
||||
}
|
||||
|
||||
void SynchronousActionState::SetException( BaseException* ex )
|
||||
{
|
||||
if( !m_posted )
|
||||
{
|
||||
m_exception = ex;
|
||||
m_exception = ScopedExcept(ex);
|
||||
}
|
||||
else if( wxTheApp )
|
||||
{
|
||||
|
|
|
@ -325,13 +325,13 @@ CpuInitializer< CpuType >::CpuInitializer()
|
|||
{
|
||||
Console.Error( L"CPU provider error:\n\t" + ex.FormatDiagnosticMessage() );
|
||||
MyCpu = NULL;
|
||||
ExThrown = ex.Clone();
|
||||
ExThrown = ScopedExcept(ex.Clone());
|
||||
}
|
||||
catch( std::runtime_error& ex )
|
||||
{
|
||||
Console.Error( L"CPU provider error (STL Exception)\n\tDetails:" + fromUTF8( ex.what() ) );
|
||||
MyCpu = NULL;
|
||||
ExThrown = new Exception::RuntimeError(ex);
|
||||
ExThrown = ScopedExcept(new Exception::RuntimeError(ex));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -492,7 +492,7 @@ SysCpuProviderPack::SysCpuProviderPack()
|
|||
}
|
||||
catch( Exception::RuntimeError& ex )
|
||||
{
|
||||
m_RecExceptionEE = ex.Clone();
|
||||
m_RecExceptionEE = ScopedExcept(ex.Clone());
|
||||
Console.Error( L"EE Recompiler Reservation Failed:\n" + ex.FormatDiagnosticMessage() );
|
||||
recCpu.Shutdown();
|
||||
}
|
||||
|
@ -502,7 +502,7 @@ SysCpuProviderPack::SysCpuProviderPack()
|
|||
}
|
||||
catch( Exception::RuntimeError& ex )
|
||||
{
|
||||
m_RecExceptionIOP = ex.Clone();
|
||||
m_RecExceptionIOP = ScopedExcept(ex.Clone());
|
||||
Console.Error( L"IOP Recompiler Reservation Failed:\n" + ex.FormatDiagnosticMessage() );
|
||||
psxRec.Shutdown();
|
||||
}
|
||||
|
@ -518,14 +518,14 @@ SysCpuProviderPack::SysCpuProviderPack()
|
|||
|
||||
bool SysCpuProviderPack::IsRecAvailable_MicroVU0() const { return CpuProviders->microVU0.IsAvailable(); }
|
||||
bool SysCpuProviderPack::IsRecAvailable_MicroVU1() const { return CpuProviders->microVU1.IsAvailable(); }
|
||||
BaseException* SysCpuProviderPack::GetException_MicroVU0() const { return CpuProviders->microVU0.ExThrown; }
|
||||
BaseException* SysCpuProviderPack::GetException_MicroVU1() const { return CpuProviders->microVU1.ExThrown; }
|
||||
BaseException* SysCpuProviderPack::GetException_MicroVU0() const { return CpuProviders->microVU0.ExThrown.get(); }
|
||||
BaseException* SysCpuProviderPack::GetException_MicroVU1() const { return CpuProviders->microVU1.ExThrown.get(); }
|
||||
|
||||
#ifndef DISABLE_SVU
|
||||
bool SysCpuProviderPack::IsRecAvailable_SuperVU0() const { return CpuProviders->superVU0.IsAvailable(); }
|
||||
bool SysCpuProviderPack::IsRecAvailable_SuperVU1() const { return CpuProviders->superVU1.IsAvailable(); }
|
||||
BaseException* SysCpuProviderPack::GetException_SuperVU0() const { return CpuProviders->superVU0.ExThrown; }
|
||||
BaseException* SysCpuProviderPack::GetException_SuperVU1() const { return CpuProviders->superVU1.ExThrown; }
|
||||
BaseException* SysCpuProviderPack::GetException_SuperVU0() const { return CpuProviders->superVU0.ExThrown.get(); }
|
||||
BaseException* SysCpuProviderPack::GetException_SuperVU1() const { return CpuProviders->superVU1.ExThrown.get(); }
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -150,8 +150,8 @@ public:
|
|||
bool IsRecAvailable_EE() const { return !m_RecExceptionEE; }
|
||||
bool IsRecAvailable_IOP() const { return !m_RecExceptionIOP; }
|
||||
|
||||
BaseException* GetException_EE() const { return m_RecExceptionEE; }
|
||||
BaseException* GetException_IOP() const { return m_RecExceptionIOP; }
|
||||
BaseException* GetException_EE() const { return m_RecExceptionEE.get(); }
|
||||
BaseException* GetException_IOP() const { return m_RecExceptionIOP.get(); }
|
||||
|
||||
bool IsRecAvailable_MicroVU0() const;
|
||||
bool IsRecAvailable_MicroVU1() const;
|
||||
|
|
|
@ -641,9 +641,9 @@ void recStep()
|
|||
|
||||
#if !PCSX2_SEH
|
||||
# define SETJMP_CODE(x) x
|
||||
static jmp_buf m_SetJmp_StateCheck;
|
||||
static ScopedPtr<BaseR5900Exception> m_cpuException;
|
||||
static ScopedExcept m_Exception;
|
||||
static jmp_buf m_SetJmp_StateCheck;
|
||||
static std::unique_ptr<BaseR5900Exception> m_cpuException;
|
||||
static ScopedExcept m_Exception;
|
||||
#else
|
||||
# define SETJMP_CODE(x)
|
||||
#endif
|
||||
|
@ -2045,7 +2045,7 @@ static void recThrowException( const BaseR5900Exception& ex )
|
|||
ex.Rethrow();
|
||||
#else
|
||||
if (!eeCpuExecuting) ex.Rethrow();
|
||||
m_cpuException = ex.Clone();
|
||||
m_cpuException = std::unique_ptr<BaseR5900Exception>(ex.Clone());
|
||||
recExitExecution();
|
||||
#endif
|
||||
}
|
||||
|
@ -2056,7 +2056,7 @@ static void recThrowException( const BaseException& ex )
|
|||
ex.Rethrow();
|
||||
#else
|
||||
if (!eeCpuExecuting) ex.Rethrow();
|
||||
m_Exception = ex.Clone();
|
||||
m_Exception = ScopedExcept(ex.Clone());
|
||||
recExitExecution();
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue