Better handling of exceptions in Avisynth code.
This commit is contained in:
parent
7effdd62d8
commit
38a6def683
@ -22,7 +22,7 @@
|
|||||||
#define VER_X264_MAJOR 2
|
#define VER_X264_MAJOR 2
|
||||||
#define VER_X264_MINOR 0
|
#define VER_X264_MINOR 0
|
||||||
#define VER_X264_PATCH 4
|
#define VER_X264_PATCH 4
|
||||||
#define VER_X264_BUILD 325
|
#define VER_X264_BUILD 328
|
||||||
|
|
||||||
#define VER_X264_MINIMUM_REV 2189
|
#define VER_X264_MINIMUM_REV 2189
|
||||||
#define VER_X264_CURRENT_API 124
|
#define VER_X264_CURRENT_API 124
|
||||||
|
@ -51,6 +51,8 @@ const char *tpl_last = "<LAST_USED>";
|
|||||||
#define SET_FONT_BOLD(WIDGET,BOLD) { QFont _font = WIDGET->font(); _font.setBold(BOLD); WIDGET->setFont(_font); }
|
#define SET_FONT_BOLD(WIDGET,BOLD) { QFont _font = WIDGET->font(); _font.setBold(BOLD); WIDGET->setFont(_font); }
|
||||||
#define SET_TEXT_COLOR(WIDGET,COLOR) { QPalette _palette = WIDGET->palette(); _palette.setColor(QPalette::WindowText, (COLOR)); _palette.setColor(QPalette::Text, (COLOR)); WIDGET->setPalette(_palette); }
|
#define SET_TEXT_COLOR(WIDGET,COLOR) { QPalette _palette = WIDGET->palette(); _palette.setColor(QPalette::WindowText, (COLOR)); _palette.setColor(QPalette::Text, (COLOR)); WIDGET->setPalette(_palette); }
|
||||||
|
|
||||||
|
static int exceptionFilter(_EXCEPTION_RECORD *dst, _EXCEPTION_POINTERS *src) { memcpy(dst, src->ExceptionRecord, sizeof(_EXCEPTION_RECORD)); return EXCEPTION_EXECUTE_HANDLER; }
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Constructor & Destructor
|
// Constructor & Destructor
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
@ -1152,6 +1154,7 @@ double MainWindow::detectAvisynthVersion(QLibrary *avsLib)
|
|||||||
{
|
{
|
||||||
qDebug("detectAvisynthVersion(QLibrary *avsLib)");
|
qDebug("detectAvisynthVersion(QLibrary *avsLib)");
|
||||||
double version_number = 0.0;
|
double version_number = 0.0;
|
||||||
|
EXCEPTION_RECORD exceptionRecord;
|
||||||
|
|
||||||
__try
|
__try
|
||||||
{
|
{
|
||||||
@ -1210,9 +1213,9 @@ double MainWindow::detectAvisynthVersion(QLibrary *avsLib)
|
|||||||
qWarning("It seems the Avisynth DLL is missing required API functions!");
|
qWarning("It seems the Avisynth DLL is missing required API functions!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
__except(1)
|
__except(exceptionFilter(&exceptionRecord, GetExceptionInformation()))
|
||||||
{
|
{
|
||||||
qWarning("Exception in Avisynth initialization code!");
|
qWarning("Exception in Avisynth initialization code! (Address: %p, Code: 0x%08x)", exceptionRecord.ExceptionAddress, exceptionRecord.ExceptionCode);
|
||||||
version_number = -1.0;
|
version_number = -1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user