summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_out/video_out_pgx64.c6
-rw-r--r--src/video_out/video_out_syncfb.c6
-rw-r--r--src/video_out/video_out_vidix.c15
-rw-r--r--src/video_out/video_out_xshm.c8
-rw-r--r--src/video_out/video_out_xv.c12
-rw-r--r--src/video_out/video_out_xvmc.c9
6 files changed, 42 insertions, 14 deletions
diff --git a/src/video_out/video_out_pgx64.c b/src/video_out/video_out_pgx64.c
index 94be4fdc9..d152193ee 100644
--- a/src/video_out/video_out_pgx64.c
+++ b/src/video_out/video_out_pgx64.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_pgx64.c,v 1.46 2003/12/05 15:55:03 f1rmb Exp $
+ * $Id: video_out_pgx64.c,v 1.47 2003/12/13 00:55:11 f1rmb Exp $
*
* video_out_pgx64.c, Sun PGX64/PGX24 output plugin for xine
*
@@ -924,6 +924,10 @@ static void pgx64_dispose(vo_driver_t *this_gen)
this->class->instance_count--;
pthread_mutex_unlock(&this->class->mutex);
+ XLockDisplay (this->display);
+ XFreeGC(this->display, this->gc);
+ XUnlockDisplay (this->display);
+
free(this);
}
diff --git a/src/video_out/video_out_syncfb.c b/src/video_out/video_out_syncfb.c
index 9e2c1bee6..144c97018 100644
--- a/src/video_out/video_out_syncfb.c
+++ b/src/video_out/video_out_syncfb.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_syncfb.c,v 1.94 2003/12/05 15:55:03 f1rmb Exp $
+ * $Id: video_out_syncfb.c,v 1.95 2003/12/13 00:55:11 f1rmb Exp $
*
* video_out_syncfb.c, SyncFB (for Matrox G200/G400 cards) interface for xine
*
@@ -839,6 +839,10 @@ static void syncfb_dispose(vo_driver_t *this_gen)
munmap(0, this->capabilities.memory_size);
close(this->fd);
+
+ XLockDisplay (this->display);
+ XFreeGC(this->display, this->gc);
+ XUnlockDisplay (this->display);
free(this);
}
diff --git a/src/video_out/video_out_vidix.c b/src/video_out/video_out_vidix.c
index daa51fdd7..95214ce7d 100644
--- a/src/video_out/video_out_vidix.c
+++ b/src/video_out/video_out_vidix.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_vidix.c,v 1.56 2003/12/05 15:55:03 f1rmb Exp $
+ * $Id: video_out_vidix.c,v 1.57 2003/12/13 00:55:11 f1rmb Exp $
*
* video_out_vidix.c
*
@@ -919,11 +919,13 @@ static void vidix_exit (vo_driver_t *this_gen) {
vdlClose(this->vidix_handler);
#ifdef HAVE_X11
- if( this->xoverlay ) {
- XLockDisplay (this->display);
+ XLockDisplay (this->display);
+ XFreeGC(this->display, this->gc);
+
+ if( this->xoverlay )
x11osd_destroy (this->xoverlay);
- XUnlockDisplay (this->display);
- }
+
+ XUnlockDisplay (this->display);
#endif
free (this);
@@ -1111,6 +1113,8 @@ static void *init_class (xine_t *xine, void *visual_gen) {
static void dispose_class (video_driver_class_t *this_gen) {
vidix_class_t *this = (vidix_class_t *) this_gen;
+
+
free (this);
}
@@ -1118,7 +1122,6 @@ static void dispose_class (video_driver_class_t *this_gen) {
static vo_driver_t *vidix_open_plugin (video_driver_class_t *class_gen, const void *visual_gen) {
vidix_driver_t *this = open_plugin(class_gen);
config_values_t *config = this->config;
-
x11_visual_t *visual = (x11_visual_t *) visual_gen;
XWindowAttributes window_attributes;
diff --git a/src/video_out/video_out_xshm.c b/src/video_out/video_out_xshm.c
index 02b793d69..c3481a9cb 100644
--- a/src/video_out/video_out_xshm.c
+++ b/src/video_out/video_out_xshm.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_xshm.c,v 1.124 2003/12/05 15:55:04 f1rmb Exp $
+ * $Id: video_out_xshm.c,v 1.125 2003/12/13 00:55:11 f1rmb Exp $
*
* video_out_xshm.c, X11 shared memory extension interface for xine
*
@@ -954,7 +954,11 @@ static void xshm_dispose (vo_driver_t *this_gen) {
this->cur_frame->vo_frame.dispose (&this->cur_frame->vo_frame);
this->yuv2rgb_factory->dispose (this->yuv2rgb_factory);
-
+
+ XLockDisplay (this->display);
+ XFreeGC(this->display, this->gc);
+ XUnlockDisplay (this->display);
+
if( this->xoverlay ) {
XLockDisplay (this->display);
x11osd_destroy (this->xoverlay);
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;
diff --git a/src/video_out/video_out_xvmc.c b/src/video_out/video_out_xvmc.c
index 7b1ec62f9..12a372134 100644
--- a/src/video_out/video_out_xvmc.c
+++ b/src/video_out/video_out_xvmc.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_xvmc.c,v 1.11 2003/12/06 18:11:56 mroi Exp $
+ * $Id: video_out_xvmc.c,v 1.12 2003/12/13 00:55:11 f1rmb Exp $
*
* video_out_xvmc.c, X11 video motion compensation extension interface for xine
*
@@ -1258,6 +1258,7 @@ static void xvmc_dispose (vo_driver_t *this_gen) {
}
XLockDisplay (this->display);
+ XFreeGC(this->display, this->gc);
if(XvUngrabPort (this->display, this->xv_port, CurrentTime) != Success) {
lprintf ("xvmc_dispose: XvUngrabPort() failed.\n");
}
@@ -1530,6 +1531,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