mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Add API function to unload breakpad crash handler
This commit is contained in:
@@ -271,3 +271,6 @@ typedef void (RENDERDOC_CC *pRENDERDOC_SetCaptureKeys)(KeyButton *keys, int num)
|
||||
|
||||
extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_InitRemoteAccess(uint32_t *ident);
|
||||
typedef void (RENDERDOC_CC *pRENDERDOC_InitRemoteAccess)(uint32_t *ident);
|
||||
|
||||
extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_UnloadCrashHandler();
|
||||
typedef void (RENDERDOC_CC *pRENDERDOC_UnloadCrashHandler)();
|
||||
|
||||
+10
-5
@@ -119,8 +119,7 @@ RenderDoc &RenderDoc::Inst()
|
||||
|
||||
void RenderDoc::RecreateCrashHandler()
|
||||
{
|
||||
if(m_ExHandler)
|
||||
m_ExHandler->UnregisterMemoryRegion(this);
|
||||
UnloadCrashHandler();
|
||||
|
||||
#ifdef CRASH_HANDLER_ENABLED
|
||||
m_ExHandler = new CrashHandler(m_ExHandler);
|
||||
@@ -130,6 +129,14 @@ void RenderDoc::RecreateCrashHandler()
|
||||
m_ExHandler->RegisterMemoryRegion(this, sizeof(RenderDoc));
|
||||
}
|
||||
|
||||
void RenderDoc::UnloadCrashHandler()
|
||||
{
|
||||
if(m_ExHandler)
|
||||
m_ExHandler->UnregisterMemoryRegion(this);
|
||||
|
||||
SAFE_DELETE(m_ExHandler);
|
||||
}
|
||||
|
||||
RenderDoc::RenderDoc()
|
||||
{
|
||||
m_LogFile = L"";
|
||||
@@ -240,9 +247,7 @@ RenderDoc::~RenderDoc()
|
||||
{
|
||||
if(m_ExHandler)
|
||||
{
|
||||
m_ExHandler->UnregisterMemoryRegion(this);
|
||||
|
||||
SAFE_DELETE(m_ExHandler);
|
||||
UnloadCrashHandler();
|
||||
}
|
||||
|
||||
for(size_t i=0; i < m_Captures.size(); i++)
|
||||
|
||||
@@ -179,6 +179,7 @@ class RenderDoc
|
||||
const CaptureOptions &GetCaptureOptions() const { return m_Options; }
|
||||
|
||||
void RecreateCrashHandler();
|
||||
void UnloadCrashHandler();
|
||||
ICrashHandler *GetCrashHandler() const { return m_ExHandler; }
|
||||
|
||||
Serialiser *OpenWriteSerialiser(uint32_t frameNum, RDCInitParams *params, void *thpixels, size_t thlen, uint32_t thwidth, uint32_t thheight);
|
||||
|
||||
@@ -153,6 +153,12 @@ void RENDERDOC_CC RENDERDOC_TriggerExceptionHandler(void *exceptionPtrs, bool32
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" RENDERDOC_API
|
||||
void RENDERDOC_CC RENDERDOC_UnloadCrashHandler()
|
||||
{
|
||||
RenderDoc::Inst().UnloadCrashHandler();
|
||||
}
|
||||
|
||||
extern "C" RENDERDOC_API
|
||||
bool32 RENDERDOC_CC RENDERDOC_SupportLocalReplay(const wchar_t *logfile, rdctype::wstr *driver)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user