From 99d9a497fdce00a6ff4023fd0f92850feaa293cb Mon Sep 17 00:00:00 2001 From: James Courtier-Dutton Date: Fri, 30 Nov 2001 16:19:58 +0000 Subject: Fix a seg fault in hide_menu event. CVS patchset: 1143 CVS date: 2001/11/30 16:19:58 --- src/xine-engine/video_overlay.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/xine-engine/video_overlay.c') diff --git a/src/xine-engine/video_overlay.c b/src/xine-engine/video_overlay.c index a095b8e4b..3e497aced 100644 --- a/src/xine-engine/video_overlay.c +++ b/src/xine-engine/video_overlay.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_overlay.c,v 1.2 2001/11/29 16:31:47 miguelfreitas Exp $ + * $Id: video_overlay.c,v 1.3 2001/11/30 16:19:58 jcdutton Exp $ * */ @@ -281,13 +281,17 @@ static int32_t video_overlay_add_event(video_overlay_instance_t *this_gen, void fprintf(stderr,"video_overlay: error: event->object.overlay was not freed!\n"); } - this->video_overlay_events[new_event].event->object.overlay = xine_xmalloc (sizeof(vo_overlay_t)); - memcpy(this->video_overlay_events[new_event].event->object.overlay, + if( event->object.overlay ) { + this->video_overlay_events[new_event].event->object.overlay = xine_xmalloc (sizeof(vo_overlay_t)); + xine_fast_memcpy(this->video_overlay_events[new_event].event->object.overlay, event->object.overlay, sizeof(vo_overlay_t)); - /* We took the callers rle and data, therefore it will be our job to free it */ - /* clear callers overlay so it will not be freed twice */ - memset(event->object.overlay,0,sizeof(vo_overlay_t)); + /* We took the callers rle and data, therefore it will be our job to free it */ + /* clear callers overlay so it will not be freed twice */ + memset(event->object.overlay,0,sizeof(vo_overlay_t)); + } else { + this->video_overlay_events[new_event].event->object.overlay = NULL; + } } else { fprintf(stderr, "No spare subtitle event slots\n"); new_event = -1; -- cgit v1.2.3