Commit 2ba20dd7 authored by Robert Reif's avatar Robert Reif Committed by Alexandre Julliard

winearts: Try to keep winecfg from crashing by recovering from an arts

library crash.
parent 53496f83
......@@ -3,7 +3,7 @@ TOPOBJDIR = ../../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = winearts.drv
IMPORTS = winmm user32 kernel32
IMPORTS = winmm user32 kernel32 ntdll
EXTRAINCL = @ARTSINCL@
EXTRALIBS = @ARTSLIBS@ -ldxguid -luuid
......
......@@ -57,6 +57,7 @@
#include "dsdriver.h"
#include "arts.h"
#include "wine/unicode.h"
#include "wine/exception.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(wave);
......@@ -392,14 +393,27 @@ LONG ARTS_WaveInit(void)
{
int i;
int errorcode;
LONG ret = 0;
TRACE("called\n");
if ((errorcode = ARTS_Init()) < 0)
__TRY
{
WARN("arts_init() failed (%d)\n", errorcode);
return -1;
if ((errorcode = ARTS_Init()) < 0)
{
WARN("arts_init() failed (%d)\n", errorcode);
ret = -1;
}
}
__EXCEPT_PAGE_FAULT
{
ERR("arts_init() crashed\n");
ret = -1;
}
__ENDTRY
if (ret)
return ret;
/* initialize all device handles to -1 */
for (i = 0; i < MAX_WAVEOUTDRV; ++i)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment