When actually returning expose events, make sure to set the count field

Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): When
	actually returning expose events, make sure to set
	the count field properly.

	* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
	accidentally reintroced bug which always cleared
	the graphics_exposures value.
This commit is contained in:
Owen Taylor
2000-07-01 21:15:05 +00:00
committed by Owen Taylor
parent a893dba084
commit 7164c0acb1
9 changed files with 78 additions and 20 deletions

View File

@ -1,3 +1,13 @@
Sat Jul 1 16:28:32 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): When
actually returning expose events, make sure to set
the count field properly.
* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
accidentally reintroced bug which always cleared
the graphics_exposures value.
Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org> Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org>
* docs/faq/gtk-faq.sgml: Change DocBook layout slightly * docs/faq/gtk-faq.sgml: Change DocBook layout slightly

View File

@ -1,3 +1,13 @@
Sat Jul 1 16:28:32 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): When
actually returning expose events, make sure to set
the count field properly.
* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
accidentally reintroced bug which always cleared
the graphics_exposures value.
Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org> Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org>
* docs/faq/gtk-faq.sgml: Change DocBook layout slightly * docs/faq/gtk-faq.sgml: Change DocBook layout slightly

View File

@ -1,3 +1,13 @@
Sat Jul 1 16:28:32 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): When
actually returning expose events, make sure to set
the count field properly.
* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
accidentally reintroced bug which always cleared
the graphics_exposures value.
Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org> Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org>
* docs/faq/gtk-faq.sgml: Change DocBook layout slightly * docs/faq/gtk-faq.sgml: Change DocBook layout slightly

View File

@ -1,3 +1,13 @@
Sat Jul 1 16:28:32 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): When
actually returning expose events, make sure to set
the count field properly.
* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
accidentally reintroced bug which always cleared
the graphics_exposures value.
Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org> Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org>
* docs/faq/gtk-faq.sgml: Change DocBook layout slightly * docs/faq/gtk-faq.sgml: Change DocBook layout slightly

View File

@ -1,3 +1,13 @@
Sat Jul 1 16:28:32 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): When
actually returning expose events, make sure to set
the count field properly.
* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
accidentally reintroced bug which always cleared
the graphics_exposures value.
Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org> Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org>
* docs/faq/gtk-faq.sgml: Change DocBook layout slightly * docs/faq/gtk-faq.sgml: Change DocBook layout slightly

View File

@ -1,3 +1,13 @@
Sat Jul 1 16:28:32 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): When
actually returning expose events, make sure to set
the count field properly.
* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
accidentally reintroced bug which always cleared
the graphics_exposures value.
Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org> Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org>
* docs/faq/gtk-faq.sgml: Change DocBook layout slightly * docs/faq/gtk-faq.sgml: Change DocBook layout slightly

View File

@ -1,3 +1,13 @@
Sat Jul 1 16:28:32 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): When
actually returning expose events, make sure to set
the count field properly.
* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
accidentally reintroced bug which always cleared
the graphics_exposures value.
Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org> Wed Jun 28 18:03:09 BST 2000 Tony Gale <gale@gtk.org>
* docs/faq/gtk-faq.sgml: Change DocBook layout slightly * docs/faq/gtk-faq.sgml: Change DocBook layout slightly

View File

@ -819,6 +819,7 @@ gdk_event_translate (GdkEvent *event,
event->expose.type = GDK_EXPOSE; event->expose.type = GDK_EXPOSE;
event->expose.area = expose_rect; event->expose.area = expose_rect;
event->expose.window = window; event->expose.window = window;
event->expose.count = xevent->xexpose.count;
return_val = TRUE; return_val = TRUE;
} }
@ -852,6 +853,7 @@ gdk_event_translate (GdkEvent *event,
event->expose.type = GDK_EXPOSE; event->expose.type = GDK_EXPOSE;
event->expose.area = expose_rect; event->expose.area = expose_rect;
event->expose.window = window; event->expose.window = window;
event->expose.count = xevent->xgraphicsexpose.count;
return_val = TRUE; return_val = TRUE;
} }

View File

@ -10,8 +10,7 @@ typedef enum {
static void gdk_x11_gc_values_to_xvalues (GdkGCValues *values, static void gdk_x11_gc_values_to_xvalues (GdkGCValues *values,
GdkGCValuesMask mask, GdkGCValuesMask mask,
XGCValues *xvalues, XGCValues *xvalues,
unsigned long *xvalues_mask, unsigned long *xvalues_mask);
gboolean initial);
static void gdk_x11_gc_get_values (GdkGC *gc, static void gdk_x11_gc_get_values (GdkGC *gc,
GdkGCValues *values); GdkGCValues *values);
@ -125,10 +124,10 @@ _gdk_x11_gc_new (GdkDrawable *drawable,
xvalues.fill_style = FillSolid; xvalues.fill_style = FillSolid;
xvalues.arc_mode = ArcPieSlice; xvalues.arc_mode = ArcPieSlice;
xvalues.subwindow_mode = ClipByChildren; xvalues.subwindow_mode = ClipByChildren;
xvalues.graphics_exposures = True; xvalues.graphics_exposures = False;
xvalues_mask = GCFunction | GCFillStyle | GCArcMode | GCSubwindowMode | GCGraphicsExposures; xvalues_mask = GCFunction | GCFillStyle | GCArcMode | GCSubwindowMode | GCGraphicsExposures;
gdk_x11_gc_values_to_xvalues (values, values_mask, &xvalues, &xvalues_mask, TRUE); gdk_x11_gc_values_to_xvalues (values, values_mask, &xvalues, &xvalues_mask);
private->xgc = XCreateGC (GDK_GC_XDISPLAY (gc), private->xgc = XCreateGC (GDK_GC_XDISPLAY (gc),
GDK_DRAWABLE_IMPL_X11 (drawable)->xid, GDK_DRAWABLE_IMPL_X11 (drawable)->xid,
@ -359,7 +358,7 @@ gdk_x11_gc_set_values (GdkGC *gc,
} }
} }
gdk_x11_gc_values_to_xvalues (values, values_mask, &xvalues, &xvalues_mask, FALSE); gdk_x11_gc_values_to_xvalues (values, values_mask, &xvalues, &xvalues_mask);
XChangeGC (GDK_GC_XDISPLAY (gc), XChangeGC (GDK_GC_XDISPLAY (gc),
GDK_GC_XGC (gc), GDK_GC_XGC (gc),
@ -384,18 +383,10 @@ static void
gdk_x11_gc_values_to_xvalues (GdkGCValues *values, gdk_x11_gc_values_to_xvalues (GdkGCValues *values,
GdkGCValuesMask mask, GdkGCValuesMask mask,
XGCValues *xvalues, XGCValues *xvalues,
unsigned long *xvalues_mask, unsigned long *xvalues_mask)
gboolean initial)
{ {
if (mask & GDK_GC_EXPOSURES)
xvalues->graphics_exposures = values->graphics_exposures;
else
xvalues->graphics_exposures = False;
*xvalues_mask |= GCGraphicsExposures;
/* Optimization for the common case (gdk_gc_new()) */ /* Optimization for the common case (gdk_gc_new()) */
if (values == NULL || if (values == NULL || mask == 0)
mask == 0)
return; return;
if (mask & GDK_GC_FOREGROUND) if (mask & GDK_GC_FOREGROUND)
@ -546,11 +537,6 @@ gdk_x11_gc_values_to_xvalues (GdkGCValues *values,
xvalues->graphics_exposures = values->graphics_exposures; xvalues->graphics_exposures = values->graphics_exposures;
*xvalues_mask |= GCGraphicsExposures; *xvalues_mask |= GCGraphicsExposures;
} }
else if (initial)
{
xvalues->graphics_exposures = False;
*xvalues_mask |= GCGraphicsExposures;
}
if (mask & GDK_GC_LINE_WIDTH) if (mask & GDK_GC_LINE_WIDTH)
{ {