From: RĂ©mi Denis-Courmont Date: Mon, 19 Jul 2010 17:32:55 +0000 (+0300) Subject: MSW: fix assertion failure on Open() error paths (fix #3889) X-Git-Tag: 1.2.0-pre1~5755 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=1f253df8acc7f2c249c1aae2ba44cae2020a45f7;p=vlc MSW: fix assertion failure on Open() error paths (fix #3889) Do not try to delete a callback and/or a mutex that do not exist. The goto error paths still look a bit suspicious, someone should double check them. --- diff --git a/modules/video_output/msw/direct3d.c b/modules/video_output/msw/direct3d.c index c1c59568d3..14f2bc950c 100644 --- a/modules/video_output/msw/direct3d.c +++ b/modules/video_output/msw/direct3d.c @@ -184,7 +184,10 @@ static int Open(vlc_object_t *object) return VLC_SUCCESS; error: - Close(VLC_OBJECT(vd)); + Direct3DClose(vd); + CommonClean(vd); + Direct3DDestroy(vd); + free(vd->sys); return VLC_EGENERIC; } diff --git a/modules/video_output/msw/directx.c b/modules/video_output/msw/directx.c index 020725a452..014a0d0b08 100644 --- a/modules/video_output/msw/directx.c +++ b/modules/video_output/msw/directx.c @@ -236,7 +236,11 @@ static int Open(vlc_object_t *object) return VLC_SUCCESS; error: - Close(VLC_OBJECT(vd)); + DirectXClose(vd); + CommonClean(vd); + if (sys->hddraw_dll) + FreeLibrary(sys->hddraw_dll); + free(sys); return VLC_EGENERIC; }