summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-10-16 22:44:09 +0000
committerpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-10-16 22:44:09 +0000
commit0020017268528f62835064895284c9ed21167f4f (patch)
treeac74d665116e10ffd5d5c9b364eae0165503469b /libvo
parent898e7af0fb2b382157a55bfd40619e87fa103548 (diff)
downloadmpv-0020017268528f62835064895284c9ed21167f4f.tar.bz2
mpv-0020017268528f62835064895284c9ed21167f4f.tar.xz
fix memleak
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7766 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/vo_x11.c7
-rw-r--r--libvo/vo_xv.c3
2 files changed, 7 insertions, 3 deletions
diff --git a/libvo/vo_x11.c b/libvo/vo_x11.c
index b1d01f491a..c164c3067b 100644
--- a/libvo/vo_x11.c
+++ b/libvo/vo_x11.c
@@ -362,9 +362,14 @@ static uint32_t config( uint32_t width,uint32_t height,uint32_t d_width,uint32_t
#endif
}
+ if ( vo_gc != None ) XFreeGC( mDisplay,vo_gc );
vo_gc=XCreateGC( mDisplay,vo_window,0L,&xgcv );
- if ( myximage ) freeMyXImage();
+ if ( myximage )
+ {
+ freeMyXImage();
+ freeSwsContext(swsContext);
+ }
getMyXImage();
if ( !WinID )
diff --git a/libvo/vo_xv.c b/libvo/vo_xv.c
index aa0296e2dc..5b31e53d06 100644
--- a/libvo/vo_xv.c
+++ b/libvo/vo_xv.c
@@ -290,7 +290,6 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32
num_buffers=vo_doublebuffering?(vo_directrendering?NUM_BUFFERS:2):1;
/* check image formats */
- fo = XvListImageFormats(mDisplay, xv_port, (int*)&formats);
xv_format=0;
if(format==IMGFMT_BGR24) format=IMGFMT_YV12;
for(i = 0; i < formats; i++){
@@ -387,7 +386,7 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32
} else
if ( !(flags&1) ) XMoveResizeWindow( mDisplay,vo_window,hint.x,hint.y,hint.width,hint.height );
-
+ if ( vo_gc != None ) XFreeGC( mDisplay,vo_gc );
vo_gc = XCreateGC(mDisplay, vo_window, 0L, &xgcv);
XFlush(mDisplay);
XSync(mDisplay, False);