From: Laurent Aimar Date: Sat, 26 Jun 2010 21:07:09 +0000 (+0200) Subject: Fixed a segfault with opengl provider. X-Git-Tag: 1.2.0-pre1~6037 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=7d5dbadace37c60324afb93d0c572776da0dc658;p=vlc Fixed a segfault with opengl provider. --- diff --git a/src/video_output/display.c b/src/video_output/display.c index af80213e15..af73be8698 100644 --- a/src/video_output/display.c +++ b/src/video_output/display.c @@ -681,12 +681,29 @@ static vout_window_t *VoutDisplayNewWindow(vout_display_t *vd, const vout_window { vout_display_owner_sys_t *osys = vd->owner.sys; +#ifdef ALLOW_DUMMY_VOUT + if (!osys->vout->p) { + vout_window_cfg_t cfg_override = *cfg; + + if (!var_InheritBool(osys->vout, "embedded-video")) + cfg_override.is_standalone = true; + + return vout_window_New(VLC_OBJECT(osys->vout), NULL, &cfg_override); + } +#endif return vout_NewDisplayWindow(osys->vout, vd, cfg); } static void VoutDisplayDelWindow(vout_display_t *vd, vout_window_t *window) { vout_display_owner_sys_t *osys = vd->owner.sys; +#ifdef ALLOW_DUMMY_VOUT + if (!osys->vout->p) { + if( window) + vout_window_Delete(window); + return; + } +#endif vout_DeleteDisplayWindow(osys->vout, vd, window); }