[vlc-commits] commit: Fixed a segfault with opengl provider. (Laurent Aimar )

git at videolan.org git at videolan.org
Sun Jun 27 20:22:10 CEST 2010


vlc/vlc-1.1 | branch: master | Laurent Aimar <fenrir at videolan.org> | Sat Jun 26 23:07:09 2010 +0200| [311437a3779b5d6a520b92909d1ea3826e722df2] | committer: Jean-Baptiste Kempf 

Fixed a segfault with opengl provider.
(cherry picked from commit 7d5dbadace37c60324afb93d0c572776da0dc658)

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.1.git/?a=commit;h=311437a3779b5d6a520b92909d1ea3826e722df2
---

 src/video_output/display.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/src/video_output/display.c b/src/video_output/display.c
index 198cd8f..ada7a73 100644
--- a/src/video_output/display.c
+++ b/src/video_output/display.c
@@ -633,12 +633,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);
 }
 



More information about the vlc-commits mailing list