diff options
-rw-r--r-- | src/video_out/x11osd.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/video_out/x11osd.c b/src/video_out/x11osd.c index 8bfbb7f82..da88e1346 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.10 2004/05/09 21:05:35 miguelfreitas Exp $ + * $Id: x11osd.c,v 1.11 2004/05/09 21:52:10 miguelfreitas Exp $ * * x11osd.c, use X11 Nonrectangular Window Shape Extension to draw xine OSD * @@ -46,6 +46,12 @@ #include <X11/extensions/shape.h> #include <X11/Xatom.h> +#define LOG_MODULE "x11osd" +#define LOG_VERBOSE +/* +#define LOG +*/ + #include "xine_internal.h" #include "alphablend.h" #include "x11osd.h" @@ -91,6 +97,8 @@ x11osd_expose (x11osd * osd) { assert (osd); + lprintf("expose (state:%d)\n", osd->clean ); + switch (osd->mode) { case X11OSD_SHAPED: XShapeCombineMask (osd->display, osd->u.shaped.window, ShapeBounding, 0, 0, @@ -121,6 +129,9 @@ void x11osd_resize (x11osd * osd, int width, int height) { assert (osd); + + lprintf("resize old:%dx%d new:%dx%d\n", osd->width, osd->height, width, height ); + if(osd->width==width && osd->height==height) return; osd->width = width; @@ -156,6 +167,8 @@ x11osd_drawable_changed (x11osd * osd, Window window) XWindowAttributes getattr; assert (osd); + + lprintf("drawable changed\n"); /* Do I need to recreate the GC's?? @@ -209,10 +222,9 @@ x11osd_drawable_changed (x11osd * osd, Window window) break; } - + osd->clean = UNDEFINED; - x11osd_clear(osd); - x11osd_expose(osd); + /* do not x11osd_clear() here: osd->u.colorkey.sc has not being updated yet */ } static int x11_error = False ; @@ -387,6 +399,8 @@ void x11osd_clear(x11osd *osd) { int i; + lprintf("clear (state:%d)\n", osd->clean ); + if( osd->clean != WIPED ) switch (osd->mode) { case X11OSD_SHAPED: |