summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-08-11 15:03:10 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-08-11 15:03:10 +0000
commit72f1cc9dd01d201d10a46f31d59d1ac910256664 (patch)
tree99134d1844b29dbc46442ad6200373fc9f6d88d1 /src
parent61b70c8e40f1d4c1b028a58413899edeeed6acd9 (diff)
downloadxine-lib-72f1cc9dd01d201d10a46f31d59d1ac910256664.tar.gz
xine-lib-72f1cc9dd01d201d10a46f31d59d1ac910256664.tar.bz2
fix long standing bug of segfaults on exit. stupid me: i had overlooked
this CodecAlloc/CodecRelease stuff... CVS patchset: 2430 CVS date: 2002/08/11 15:03:10
Diffstat (limited to 'src')
-rw-r--r--src/libw32dll/wine/afl.c2
-rw-r--r--src/libw32dll/wine/driver.c6
2 files changed, 6 insertions, 2 deletions
diff --git a/src/libw32dll/wine/afl.c b/src/libw32dll/wine/afl.c
index 693d152e3..a887ead80 100644
--- a/src/libw32dll/wine/afl.c
+++ b/src/libw32dll/wine/afl.c
@@ -512,6 +512,7 @@ MMRESULT WINAPI acmStreamOpen(PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pw
if (phas)
*phas = (HACMSTREAM)was;
TRACE("=> (%d)\n", ret);
+ CodecAlloc();
return ret;
}
errCleanUp:
@@ -538,6 +539,7 @@ MMRESULT WINAPI acmStreamClose(HACMSTREAM has, DWORD fdwClose)
if (was->hAcmDriver)
acmDriverClose(was->hAcmDriver, 0L);
HeapFree(MSACM_hHeap, 0, was);
+ CodecRelease();
}
TRACE("=> (%d)\n", ret);
return ret;
diff --git a/src/libw32dll/wine/driver.c b/src/libw32dll/wine/driver.c
index 59ffdd768..822d0167f 100644
--- a/src/libw32dll/wine/driver.c
+++ b/src/libw32dll/wine/driver.c
@@ -96,7 +96,7 @@ static NPDRVR DrvAlloc(HDRVR*lpDriver, LPUINT lpDrvResult)
static void DrvFree(HDRVR hDriver)
{
- int i;
+ /* int i; -- unused */
Setup_FS_Segment();
if(hDriver)
if(((DRVR*)hDriver)->hDriverModule)
@@ -115,6 +115,7 @@ static void DrvFree(HDRVR hDriver)
void DrvClose(HDRVR hdrvr)
{
DrvFree(hdrvr);
+ CodecRelease();
}
@@ -123,7 +124,7 @@ char* win32_codec_name=NULL; // must be set before calling DrvOpen() !!!
HDRVR VFWAPI
DrvOpen(LPARAM lParam2)
{
- ICOPEN *icopen=(ICOPEN *) lParam2;
+ /* ICOPEN *icopen=(ICOPEN *) lParam2; -- unused */
UINT uDrvResult;
HDRVR hDriver;
NPDRVR npDriver;
@@ -221,6 +222,7 @@ DrvOpen(LPARAM lParam2)
// printf("Successfully loaded codec %s\n",win32_codec_name);
+ CodecAlloc();
return (hDriver);
}