From 0ee86faa3c020df861dd4969fb587479d37aa7bd Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Thu, 2 Nov 2000 17:18:53 +0000 Subject: [PATCH] had a test backward 2000-11-02 Havoc Pennington * gtk/testgtk.c (create_labels): had a test backward * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC fields, so the dest GC ends up with the correct clip origin, etc. Fixes a bug where colored labels didn't redraw properly. --- ChangeLog | 9 +++++++++ ChangeLog.pre-2-0 | 9 +++++++++ ChangeLog.pre-2-10 | 9 +++++++++ ChangeLog.pre-2-2 | 9 +++++++++ ChangeLog.pre-2-4 | 9 +++++++++ ChangeLog.pre-2-6 | 9 +++++++++ ChangeLog.pre-2-8 | 9 +++++++++ gdk/x11/gdkgc-x11.c | 26 ++++++++++++++++++++++++++ gtk/testgtk.c | 2 +- tests/testgtk.c | 2 +- 10 files changed, 91 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f031d82e21..0554b29b63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2000-11-02 Havoc Pennington + + * gtk/testgtk.c (create_labels): had a test backward + + * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC + fields, so the dest GC ends up with the correct clip origin, + etc. Fixes a bug where colored labels didn't redraw + properly. + 2000-11-02 Alexander Larsson * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c, diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index f031d82e21..0554b29b63 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,12 @@ +2000-11-02 Havoc Pennington + + * gtk/testgtk.c (create_labels): had a test backward + + * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC + fields, so the dest GC ends up with the correct clip origin, + etc. Fixes a bug where colored labels didn't redraw + properly. + 2000-11-02 Alexander Larsson * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c, diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index f031d82e21..0554b29b63 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +2000-11-02 Havoc Pennington + + * gtk/testgtk.c (create_labels): had a test backward + + * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC + fields, so the dest GC ends up with the correct clip origin, + etc. Fixes a bug where colored labels didn't redraw + properly. + 2000-11-02 Alexander Larsson * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c, diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index f031d82e21..0554b29b63 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,12 @@ +2000-11-02 Havoc Pennington + + * gtk/testgtk.c (create_labels): had a test backward + + * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC + fields, so the dest GC ends up with the correct clip origin, + etc. Fixes a bug where colored labels didn't redraw + properly. + 2000-11-02 Alexander Larsson * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c, diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index f031d82e21..0554b29b63 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,12 @@ +2000-11-02 Havoc Pennington + + * gtk/testgtk.c (create_labels): had a test backward + + * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC + fields, so the dest GC ends up with the correct clip origin, + etc. Fixes a bug where colored labels didn't redraw + properly. + 2000-11-02 Alexander Larsson * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c, diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index f031d82e21..0554b29b63 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,12 @@ +2000-11-02 Havoc Pennington + + * gtk/testgtk.c (create_labels): had a test backward + + * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC + fields, so the dest GC ends up with the correct clip origin, + etc. Fixes a bug where colored labels didn't redraw + properly. + 2000-11-02 Alexander Larsson * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c, diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index f031d82e21..0554b29b63 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,12 @@ +2000-11-02 Havoc Pennington + + * gtk/testgtk.c (create_labels): had a test backward + + * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC + fields, so the dest GC ends up with the correct clip origin, + etc. Fixes a bug where colored labels didn't redraw + properly. + 2000-11-02 Alexander Larsson * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c, diff --git a/gdk/x11/gdkgc-x11.c b/gdk/x11/gdkgc-x11.c index a5b0088b00..0f78a853e3 100644 --- a/gdk/x11/gdkgc-x11.c +++ b/gdk/x11/gdkgc-x11.c @@ -683,9 +683,35 @@ gdk_gc_set_clip_region (GdkGC *gc, void gdk_gc_copy (GdkGC *dst_gc, GdkGC *src_gc) { + GdkGCX11 *x11_src_gc; + GdkGCX11 *x11_dst_gc; + g_return_if_fail (GDK_IS_GC_X11 (dst_gc)); g_return_if_fail (GDK_IS_GC_X11 (src_gc)); + + x11_dst_gc = GDK_GC_X11 (dst_gc); + x11_src_gc = GDK_GC_X11 (src_gc); XCopyGC (GDK_GC_XDISPLAY (src_gc), GDK_GC_XGC (src_gc), ~((~1) << GCLastBit), GDK_GC_XGC (dst_gc)); + + dst_gc->clip_x_origin = src_gc->clip_x_origin; + dst_gc->clip_y_origin = src_gc->clip_y_origin; + dst_gc->ts_x_origin = src_gc->ts_x_origin; + dst_gc->ts_y_origin = src_gc->ts_y_origin; + + if (src_gc->colormap) + g_object_ref (G_OBJECT (src_gc->colormap)); + + if (dst_gc->colormap) + g_object_unref (G_OBJECT (dst_gc->colormap)); + + dst_gc->colormap = src_gc->colormap; + + if (x11_dst_gc->clip_region) + gdk_region_destroy (x11_dst_gc->clip_region); + + x11_dst_gc->clip_region = gdk_region_copy (x11_src_gc->clip_region); + + x11_dst_gc->dirty_mask = x11_src_gc->dirty_mask; } diff --git a/gtk/testgtk.c b/gtk/testgtk.c index 2f71a75a13..b714be3690 100644 --- a/gtk/testgtk.c +++ b/gtk/testgtk.c @@ -2113,7 +2113,7 @@ void create_labels (void) "but this _word is purple\n" "We like superscript and subscript too"); - g_return_if_fail (keyval != GDK_s); + g_return_if_fail (keyval == GDK_s); gtk_container_add (GTK_CONTAINER (frame), label); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); diff --git a/tests/testgtk.c b/tests/testgtk.c index 2f71a75a13..b714be3690 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -2113,7 +2113,7 @@ void create_labels (void) "but this _word is purple\n" "We like superscript and subscript too"); - g_return_if_fail (keyval != GDK_s); + g_return_if_fail (keyval == GDK_s); gtk_container_add (GTK_CONTAINER (frame), label); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);