Mercurial > mplayer.hg
view loader/wineacm.h @ 35330:5fbd422b355e
Fix segmentation fault after end of file playback.
At this point (GUI_END_FILE), mpctx's sh_video has already been freed
and thus guiInfo.sh_video->codec->name mustn't be accessed which may
happen as a result of the following uiEventHandling() call.
Patch by Hans-Dieter Kosch, hdkosch kabelbw de.
(Although the Win32 GUI isn't affected, because there is no use of
guiInfo.sh_video->codec->name, it is patched accordingly for the sake of
consistency. At least, it won't be showing the old codec name then, when
there already is none.)
author | ib |
---|---|
date | Mon, 19 Nov 2012 15:27:36 +0000 |
parents | 4c2bbab833d1 |
children |
line wrap: on
line source
#ifndef MPLAYER_WINEACM_H #define MPLAYER_WINEACM_H /*********************************************************************** * Wine specific - Win32 */ #include "wine/msacmdrv.h" typedef struct WINE_ACMDRIVERID *PWINE_ACMDRIVERID; typedef struct WINE_ACMDRIVER *PWINE_ACMDRIVER; typedef struct WINE_ACMOBJ { PWINE_ACMDRIVERID pACMDriverID; } WINE_ACMOBJ, *PWINE_ACMOBJ; typedef struct WINE_ACMDRIVER { WINE_ACMOBJ obj; HDRVR hDrvr; DRIVERPROC pfnDriverProc; PWINE_ACMDRIVER pNextACMDriver; int iUsage; } WINE_ACMDRIVER; typedef struct WINE_ACMSTREAM { WINE_ACMOBJ obj; PWINE_ACMDRIVER pDrv; ACMDRVSTREAMINSTANCE drvInst; HACMDRIVER hAcmDriver; } WINE_ACMSTREAM, *PWINE_ACMSTREAM; typedef struct WINE_ACMDRIVERID { LPSTR pszFileName; WORD wFormatTag; HINSTANCE hInstModule; /* NULL if global */ DWORD dwProcessID; /* ID of process which installed a local driver */ WIN_BOOL bEnabled; PWINE_ACMDRIVER pACMDriverList; PWINE_ACMDRIVERID pNextACMDriverID; PWINE_ACMDRIVERID pPrevACMDriverID; } WINE_ACMDRIVERID; /* From internal.c */ extern HANDLE MSACM_hHeap; extern PWINE_ACMDRIVERID MSACM_pFirstACMDriverID; extern PWINE_ACMDRIVERID MSACM_pLastACMDriverID; PWINE_ACMDRIVERID MSACM_RegisterDriver(const char* pszFileName, WORD wFormatTag, HINSTANCE hinstModule); PWINE_ACMDRIVERID MSACM_UnregisterDriver(PWINE_ACMDRIVERID p); void MSACM_UnregisterAllDrivers(void); PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID); PWINE_ACMDRIVER MSACM_GetDriver(HACMDRIVER hDriver); PWINE_ACMOBJ MSACM_GetObj(HACMOBJ hObj); #endif /* MPLAYER_WINEACM_H */