diff options
-rw-r--r-- | src/video_out/video_out_vidix.c | 6 | ||||
-rw-r--r-- | src/video_out/video_out_xshm.c | 6 | ||||
-rw-r--r-- | src/video_out/video_out_xv.c | 6 | ||||
-rw-r--r-- | src/video_out/x11osd.c | 13 |
4 files changed, 19 insertions, 12 deletions
diff --git a/src/video_out/video_out_vidix.c b/src/video_out/video_out_vidix.c index 1f7fffae8..dbfa876fa 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.62 2004/05/06 03:09:32 miguelfreitas Exp $ + * $Id: video_out_vidix.c,v 1.63 2004/05/09 21:05:34 miguelfreitas Exp $ * * video_out_vidix.c * @@ -280,8 +280,10 @@ static void vidix_clean_output_area(vidix_driver_t *this) { XSetForeground(this->display, this->gc, this->colourkey); XFillRectangle(this->display, this->drawable, this->gc, this->sc.output_xoffset, this->sc.output_yoffset, this->sc.output_width, this->sc.output_height); - if (this->xoverlay) + if (this->xoverlay) { x11osd_resize (this->xoverlay, this->sc.gui_width, this->sc.gui_height); + this->ovl_changed = 1; + } XFlush(this->display); diff --git a/src/video_out/video_out_xshm.c b/src/video_out/video_out_xshm.c index 62dc26032..68629a183 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.131 2004/05/06 03:09:32 miguelfreitas Exp $ + * $Id: video_out_xshm.c,v 1.132 2004/05/09 21:05:34 miguelfreitas Exp $ * * video_out_xshm.c, X11 shared memory extension interface for xine * @@ -683,8 +683,10 @@ static void clean_output_area (xshm_driver_t *this, xshm_frame_t *frame) { this->sc.border[i].x, this->sc.border[i].y, this->sc.border[i].w, this->sc.border[i].h); } - if (this->xoverlay) + if (this->xoverlay) { x11osd_resize (this->xoverlay, this->sc.gui_width, this->sc.gui_height); + this->ovl_changed = 1; + } XUnlockDisplay (this->display); } diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c index c12c1e01e..21753bf87 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.198 2004/05/06 03:09:32 miguelfreitas Exp $ + * $Id: video_out_xv.c,v 1.199 2004/05/09 21:05:34 miguelfreitas Exp $ * * video_out_xv.c, X11 video extension interface for xine * @@ -587,8 +587,10 @@ static void xv_clean_output_area (xv_driver_t *this) { this->sc.output_width, this->sc.output_height); } - if (this->xoverlay) + if (this->xoverlay) { x11osd_resize (this->xoverlay, this->sc.gui_width, this->sc.gui_height); + this->ovl_changed = 1; + } XUnlockDisplay (this->display); } diff --git a/src/video_out/x11osd.c b/src/video_out/x11osd.c index 7524a4c1a..8bfbb7f82 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.9 2004/05/06 03:09:32 miguelfreitas Exp $ + * $Id: x11osd.c,v 1.10 2004/05/09 21:05:35 miguelfreitas Exp $ * * x11osd.c, use X11 Nonrectangular Window Shape Extension to draw xine OSD * @@ -121,7 +121,6 @@ void x11osd_resize (x11osd * osd, int width, int height) { assert (osd); - osd->clean=UNDEFINED; if(osd->width==width && osd->height==height) return; osd->width = width; @@ -145,6 +144,8 @@ x11osd_resize (x11osd * osd, int width, int height) osd->width, osd->height, osd->depth); break; } + + osd->clean = UNDEFINED; x11osd_clear(osd); } @@ -321,9 +322,7 @@ x11osd_create (xine_t *xine, Display *display, int screen, Window window, enum x } osd->clean = UNDEFINED; - if(mode==X11OSD_SHAPED) { - x11osd_expose(osd); - } + x11osd_expose(osd); XSetErrorHandler(old_handler); @@ -360,6 +359,7 @@ void x11osd_colorkey(x11osd * osd, uint32_t colorkey, vo_scale_t *sc) osd->u.colorkey.colorkey=colorkey; osd->u.colorkey.sc=sc; + osd->clean = UNDEFINED; x11osd_clear(osd); x11osd_expose(osd); } @@ -387,7 +387,7 @@ void x11osd_clear(x11osd *osd) { int i; - if( osd->clean!=WIPED ) + if( osd->clean != WIPED ) switch (osd->mode) { case X11OSD_SHAPED: XFillRectangle (osd->display, osd->u.shaped.mask_bitmap, osd->u.shaped.mask_gc_back, @@ -424,6 +424,7 @@ void x11osd_blend(x11osd *osd, vo_overlay_t *overlay) { if (osd->clean==UNDEFINED) x11osd_clear(osd); /* Workaround. Colorkey mode needs sc data before the clear. */ + if (overlay->rle) { int i, x, y, len, width; int use_clip_palette, max_palette_colour[2]; |