changeset 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 e625619bb20a
children 2bc3693278cb
files gui/interface.c gui/win32/interface.c
diffstat 2 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/gui/interface.c	Mon Nov 19 09:56:50 2012 +0000
+++ b/gui/interface.c	Mon Nov 19 15:27:36 2012 +0000
@@ -761,9 +761,9 @@
 
     case GUI_END_FILE:
 
-        uiEventHandling(ivRedraw, 1);
+        guiInfo.sh_video = NULL;
 
-        guiInfo.sh_video = NULL;
+        uiEventHandling(ivRedraw, 1);
 
         if (!uiGotoTheNext && guiInfo.Playing) {
             uiGotoTheNext = 1;
--- a/gui/win32/interface.c	Mon Nov 19 09:56:50 2012 +0000
+++ b/gui/win32/interface.c	Mon Nov 19 15:27:36 2012 +0000
@@ -764,6 +764,8 @@
         }
         case GUI_END_FILE:
         {
+          guiInfo.sh_video = NULL;
+
           if(!uiGotoTheNext && guiInfo.Playing)
           {
               uiGotoTheNext = 1;