summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-11-26 18:36:34 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-11-26 18:36:34 +0000
commitfe1481d199f8f35734cff5eac8d8edf6a50aff52 (patch)
treef5ccca72ca320a755cd2b329ca78ae9c1af118df /src
parentc69ab1501cefec445ba2ea4fad42b398fdc43072 (diff)
downloadxine-lib-fe1481d199f8f35734cff5eac8d8edf6a50aff52.tar.gz
xine-lib-fe1481d199f8f35734cff5eac8d8edf6a50aff52.tar.bz2
fix x11osd bugs with fullscreen changing
CVS patchset: 5789 CVS date: 2003/11/26 18:36:34
Diffstat (limited to 'src')
-rw-r--r--src/video_out/video_out_vidix.c5
-rw-r--r--src/video_out/video_out_xshm.c5
-rw-r--r--src/video_out/video_out_xv.c5
-rw-r--r--src/video_out/x11osd.c7
4 files changed, 15 insertions, 7 deletions
diff --git a/src/video_out/video_out_vidix.c b/src/video_out/video_out_vidix.c
index 66bd8cf6d..8e06be682 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.52 2003/11/26 01:03:32 miguelfreitas Exp $
+ * $Id: video_out_vidix.c,v 1.53 2003/11/26 18:36:34 miguelfreitas Exp $
*
* video_out_vidix.c
*
@@ -585,7 +585,7 @@ static void vidix_overlay_begin (vo_driver_t *this_gen,
#ifdef HAVE_X11
vidix_driver_t *this = (vidix_driver_t *) this_gen;
- this->ovl_changed = changed;
+ this->ovl_changed += changed;
if( this->ovl_changed && this->xoverlay ) {
XLockDisplay (this->display);
@@ -883,6 +883,7 @@ static int vidix_gui_data_exchange (vo_driver_t *this_gen,
this->gc = XCreateGC(this->display, this->drawable, 0, NULL);
if(this->xoverlay)
x11osd_drawable_changed(this->xoverlay, this->drawable);
+ this->ovl_changed = 1;
XUnlockDisplay(this->display);
#endif
}
diff --git a/src/video_out/video_out_xshm.c b/src/video_out/video_out_xshm.c
index 5ec9b31aa..26e9bd4c1 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.120 2003/11/26 01:03:32 miguelfreitas Exp $
+ * $Id: video_out_xshm.c,v 1.121 2003/11/26 18:36:34 miguelfreitas Exp $
*
* video_out_xshm.c, X11 shared memory extension interface for xine
*
@@ -609,7 +609,7 @@ static void xshm_overlay_begin (vo_driver_t *this_gen,
vo_frame_t *frame_gen, int changed) {
xshm_driver_t *this = (xshm_driver_t *) this_gen;
- this->ovl_changed = changed;
+ this->ovl_changed += changed;
if( this->ovl_changed && this->xoverlay ) {
XLockDisplay (this->display);
@@ -928,6 +928,7 @@ static int xshm_gui_data_exchange (vo_driver_t *this_gen,
this->gc = XCreateGC (this->display, this->drawable, 0, NULL);
if(this->xoverlay)
x11osd_drawable_changed(this->xoverlay, this->drawable);
+ this->ovl_changed = 1;
XUnlockDisplay (this->display);
break;
diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c
index cdb102b26..ae9b76579 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.182 2003/11/26 01:03:32 miguelfreitas Exp $
+ * $Id: video_out_xv.c,v 1.183 2003/11/26 18:36:34 miguelfreitas Exp $
*
* video_out_xv.c, X11 video extension interface for xine
*
@@ -614,7 +614,7 @@ static void xv_overlay_begin (vo_driver_t *this_gen,
vo_frame_t *frame_gen, int changed) {
xv_driver_t *this = (xv_driver_t *) this_gen;
- this->ovl_changed = changed;
+ this->ovl_changed += changed;
if( this->ovl_changed && this->xoverlay ) {
XLockDisplay (this->display);
@@ -974,6 +974,7 @@ static int xv_gui_data_exchange (vo_driver_t *this_gen,
this->gc = XCreateGC (this->display, this->drawable, 0, NULL);
if(this->xoverlay)
x11osd_drawable_changed(this->xoverlay, this->drawable);
+ this->ovl_changed = 1;
XUnlockDisplay (this->display);
this->sc.force_redraw = 1;
break;
diff --git a/src/video_out/x11osd.c b/src/video_out/x11osd.c
index 9caa08ff9..b268024b2 100644
--- a/src/video_out/x11osd.c
+++ b/src/video_out/x11osd.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: x11osd.c,v 1.2 2003/11/26 10:02:52 miguelfreitas Exp $
+ * $Id: x11osd.c,v 1.3 2003/11/26 18:36:34 miguelfreitas Exp $
*
* x11osd.c, use X11 Nonrectangular Window Shape Extension to draw xine OSD
*
@@ -158,6 +158,11 @@ x11osd_drawable_changed (x11osd * osd, Window window)
osd->visual, AllocNone);
XSelectInput (osd->display, osd->window, ExposureMask);
+
+ osd->clean = 0;
+ x11osd_clear(osd);
+ osd->mapped = 0;
+ x11osd_expose(osd);
}
static int x11_error = False ;