summaryrefslogtreecommitdiff
path: root/src/video_out/video_out_xv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_out/video_out_xv.c')
-rw-r--r--src/video_out/video_out_xv.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c
index 5d9516297..20b300f6a 100644
--- a/src/video_out/video_out_xv.c
+++ b/src/video_out/video_out_xv.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_out_xv.c,v 1.186 2003/12/05 15:55:04 f1rmb Exp $
+ * $Id: video_out_xv.c,v 1.187 2003/12/13 00:55:11 f1rmb Exp $
*
* video_out_xv.c, X11 video extension interface for xine
*
@@ -1014,6 +1014,7 @@ static void xv_dispose (vo_driver_t *this_gen) {
if(XvUngrabPort (this->display, this->xv_port, CurrentTime) != Success) {
xprintf (this->xine, XINE_VERBOSITY_DEBUG, "video_out_xv: xv_exit: XvUngrabPort() failed.\n");
}
+ XFreeGC(this->display, this->gc);
XUnlockDisplay (this->display);
for( i=0; i < VO_NUM_RECENT_FRAMES; i++ ) {
@@ -1334,6 +1335,12 @@ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *vi
}
}
+ if(fo) {
+ XLockDisplay(this->display);
+ XFree(fo);
+ XUnlockDisplay(this->display);
+ }
+
/*
* try to create a shared image
* to find out if MIT shm really works, using supported format
@@ -1420,8 +1427,7 @@ static void *init_class (xine_t *xine, void *visual_gen) {
* check adaptors, search for one that supports (at least) yuv12
*/
- if (Success != XvQueryAdaptors(display,DefaultRootWindow(display),
- &adaptors,&adaptor_info)) {
+ if (Success != XvQueryAdaptors(display,DefaultRootWindow(display), &adaptors, &adaptor_info)) {
xprintf(xine, XINE_VERBOSITY_DEBUG, "video_out_xv: XvQueryAdaptors failed.\n");
XUnlockDisplay(display);
return NULL;