[gbdfed] had to sacrifice a goat to get this building

Tom Callaway spot at fedoraproject.org
Thu Aug 19 19:52:59 UTC 2010


commit ab3c694b1f482768a4c1a7fa3338416f095b0c45
Author: Tom "spot" Callaway <tcallawa at redhat.com>
Date:   Thu Aug 19 15:53:02 2010 -0400

    had to sacrifice a goat to get this building

 gbdfed-1.5-gtkfix.patch |  586 +++++++++++++++++++++++++++++++++++++++++++++++
 gbdfed.spec             |   11 +-
 2 files changed, 596 insertions(+), 1 deletions(-)
---
diff --git a/gbdfed-1.5-gtkfix.patch b/gbdfed-1.5-gtkfix.patch
new file mode 100644
index 0000000..7ff8870
--- /dev/null
+++ b/gbdfed-1.5-gtkfix.patch
@@ -0,0 +1,586 @@
+diff -up gbdfed-1.5/fontgrid.c.gtkfix gbdfed-1.5/fontgrid.c
+--- gbdfed-1.5/fontgrid.c.gtkfix	2010-08-19 13:55:19.395351001 -0400
++++ gbdfed-1.5/fontgrid.c	2010-08-19 15:35:13.828351001 -0400
+@@ -219,7 +219,7 @@ static GdkPoint encoding_digits[19*6];
+ /*
+  * A macro for getting the current foreground GC.
+  */
+-#define WIDGET_FG_GC(w) ((w)->style->fg_gc[GTK_WIDGET_STATE(w)])
++#define WIDGET_FG_GC(w) ((w)->style->fg_gc[gtk_widget_get_state(w)])
+ 
+ #define HMARGINS(fw) ((fw)->hmargin << 1)
+ #define VMARGINS(fw) ((fw)->vmargin << 1)
+@@ -581,7 +581,7 @@ fontgrid_actual_size(GtkWidget *widget, 
+      */
+     fontgrid_set_rows_cols(fw, actual);
+ 
+-    if (GTK_WIDGET_REALIZED(widget))
++    if (gtk_widget_get_realized(widget))
+       gdk_window_move_resize(widget->window, actual->x, actual->y,
+                              actual->width, actual->height);
+ }
+@@ -598,7 +598,7 @@ fontgrid_realize(GtkWidget *widget)
+     g_return_if_fail(IS_FONTGRID(widget));
+ 
+     fw = FONTGRID(widget);
+-    GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED);
++    gtk_widget_set_realized(widget, TRUE);
+ 
+     attributes.window_type = GDK_WINDOW_CHILD;
+     attributes.x = widget->allocation.x;
+@@ -632,8 +632,8 @@ fontgrid_realize(GtkWidget *widget)
+      * Create the GC used to display selected cells.
+      */
+     values.foreground.pixel =
+-        widget->style->fg[GTK_WIDGET_STATE(widget)].pixel ^
+-        widget->style->bg[GTK_WIDGET_STATE(widget)].pixel;
++        widget->style->fg[gtk_widget_get_state(widget)].pixel ^
++        widget->style->bg[gtk_widget_get_state(widget)].pixel;
+     (void) memset((char *) &values.background, 0, sizeof(GdkColor));
+     values.function = GDK_XOR;
+     fw->xor_gc = gdk_gc_new_with_values(widget->window, &values,
+@@ -788,9 +788,9 @@ fontgrid_make_rgb_image(Fontgrid *fw, bd
+     /*
+      * Figure out the background color.
+      */
+-    bg[0] = (guchar) GTK_WIDGET(fw)->style->bg[GTK_WIDGET_STATE(fw)].red;
+-    bg[1] = (guchar) GTK_WIDGET(fw)->style->bg[GTK_WIDGET_STATE(fw)].green;
+-    bg[2] = (guchar) GTK_WIDGET(fw)->style->bg[GTK_WIDGET_STATE(fw)].blue;
++    bg[0] = (guchar) GTK_WIDGET(fw)->style->bg[gtk_widget_get_state(GTK_WIDGET(fw))].red;
++    bg[1] = (guchar) GTK_WIDGET(fw)->style->bg[gtk_widget_get_state(GTK_WIDGET(fw))].green;
++    bg[2] = (guchar) GTK_WIDGET(fw)->style->bg[gtk_widget_get_state(GTK_WIDGET(fw))].blue;
+ 
+     switch (fw->bpp) {
+       case 1: masks = bdf_onebpp; di = 7; break;
+@@ -848,7 +848,7 @@ fontgrid_draw_encoding(GtkWidget *w, Gdk
+     gint i, j, d;
+     GdkPoint *dp;
+ 
+-    if (!GTK_WIDGET_REALIZED(w))
++    if (!gtk_widget_get_realized(w))
+       return;
+ 
+     dp = encoding_digits;
+@@ -898,7 +898,7 @@ fontgrid_draw_cells(GtkWidget *widget, g
+     GdkRectangle rect;
+     gchar nbuf[16];
+ 
+-    if (!GTK_WIDGET_REALIZED(widget) || (labels == FALSE && glyphs == FALSE))
++    if (!gtk_widget_get_realized(widget) || (labels == FALSE && glyphs == FALSE))
+       return;
+ 
+     fw = FONTGRID(widget);
+@@ -941,7 +941,7 @@ fontgrid_draw_cells(GtkWidget *widget, g
+ 
+     gp = glyph;
+ 
+-    gc = widget->style->fg_gc[GTK_WIDGET_STATE(widget)];
++    gc = widget->style->fg_gc[gtk_widget_get_state(widget)];
+ 
+     for (ng = 0, i = start; i <= end; i++) {
+         /*
+@@ -1118,7 +1118,7 @@ fontgrid_draw(GtkWidget *widget, GdkRegi
+ 
+     fw = FONTGRID(widget);
+ 
+-    gc = widget->style->fg_gc[GTK_WIDGET_STATE(widget)];
++    gc = widget->style->fg_gc[gtk_widget_get_state(widget)];
+ 
+     gw = fw->cell_width * fw->cell_cols;
+     gh = fw->cell_height * fw->cell_rows;
+@@ -1258,15 +1258,15 @@ fontgrid_draw_focus(GtkWidget *widget, G
+                          "focus-line-width", &fwidth,
+                          "focus-padding", &fpad, NULL);
+ 
+-    gc = widget->style->bg_gc[GTK_WIDGET_STATE(widget)];
++    gc = widget->style->bg_gc[gtk_widget_get_state(widget)];
+ 
+     x = (widget->style->xthickness + fwidth + fpad) - 1;
+     y = (widget->style->ythickness + fwidth + fpad) - 1;
+     wd = (widget->allocation.width - (x * 2));
+     ht = (widget->allocation.height - (y * 2));
+ 
+-    if (GTK_WIDGET_HAS_FOCUS(widget))
+-      gtk_paint_focus(widget->style, widget->window, GTK_WIDGET_STATE(widget),
++    if (gtk_widget_has_focus(widget))
++      gtk_paint_focus(widget->style, widget->window, gtk_widget_get_state(widget),
+                       area, widget, "fontgrid", x, y, wd, ht);
+     else {
+         gdk_gc_set_clip_rectangle(gc, area);
+@@ -1281,9 +1281,9 @@ fontgrid_expose(GtkWidget *widget, GdkEv
+     /*
+      * Paint the shadow first.
+      */
+-    if (GTK_WIDGET_DRAWABLE(widget))
++    if (gtk_widget_is_drawable(widget))
+       gtk_paint_shadow(widget->style, widget->window,
+-                       GTK_WIDGET_STATE(widget), GTK_SHADOW_OUT,
++                       gtk_widget_get_state(widget), GTK_SHADOW_OUT,
+                        &event->area, widget, "fontgrid",
+                        0, 0,
+                        widget->allocation.width,
+@@ -1303,7 +1303,8 @@ fontgrid_focus_in(GtkWidget *widget, Gdk
+     g_return_val_if_fail(IS_FONTGRID(widget), FALSE);
+     g_return_val_if_fail(event != NULL, FALSE);
+ 
+-    GTK_WIDGET_SET_FLAGS(widget, GTK_HAS_FOCUS);
++    gtk_widget_set_can_focus(widget, TRUE);
++    gtk_widget_grab_focus(widget);
+     fontgrid_draw_focus(widget, 0);
+ 
+     return FALSE;
+@@ -1316,7 +1317,7 @@ fontgrid_focus_out(GtkWidget *widget, Gd
+     g_return_val_if_fail(IS_FONTGRID(widget), FALSE);
+     g_return_val_if_fail(event != NULL, FALSE);
+ 
+-    GTK_WIDGET_UNSET_FLAGS(widget, GTK_HAS_FOCUS);
++    gtk_widget_set_can_focus(widget, FALSE);
+     fontgrid_draw_focus(widget, 0);
+ 
+     return FALSE;
+@@ -1439,8 +1440,9 @@ start_selection(GtkWidget *widget, GdkEv
+     /*
+      * Deal with the focus issue first.
+      */
+-    if (!GTK_WIDGET_HAS_FOCUS(widget)) {
+-        GTK_WIDGET_SET_FLAGS(widget, GTK_HAS_FOCUS);
++    if (!gtk_widget_has_focus(widget)) {
++        gtk_widget_set_can_focus(widget, TRUE);
++        gtk_widget_grab_focus(widget);
+         (void) fontgrid_draw_focus(widget, NULL);
+     }
+ 
+@@ -1554,8 +1556,9 @@ extend_selection(GtkWidget *widget, gint
+     /*
+      * Deal with the focus issue first.
+      */
+-    if (!GTK_WIDGET_HAS_FOCUS(widget)) {
+-        GTK_WIDGET_SET_FLAGS(widget, GTK_HAS_FOCUS);
++    if (!gtk_widget_has_focus(widget)) {
++        gtk_widget_set_can_focus(widget, TRUE);
++        gtk_widget_grab_focus(widget);
+         (void) fontgrid_draw_focus(widget, NULL);
+     }
+ 
+@@ -2455,7 +2458,7 @@ fontgrid_init(GTypeInstance *obj, gpoint
+     GdkScreen *screen;
+     gint fwidth, fpad;
+ 
+-    GTK_WIDGET_SET_FLAGS(fw, GTK_CAN_FOCUS);
++    gtk_widget_set_can_focus(GTK_WIDGET(fw), TRUE);
+ 
+     gtk_widget_style_get(GTK_WIDGET(fw),
+                          "focus-line-width", &fwidth,
+@@ -3751,11 +3754,11 @@ fontgrid_translate_glyphs(Fontgrid *fw, 
+     if (bdf_translate_glyphs(fw->font, dx, dy, start, end, 0, 0,
+                              fw->unencoded)) {
+         gtk_widget_queue_resize(w);
+-        if (GTK_WIDGET_REALIZED(w))
++        if (gtk_widget_get_realized(w))
+           gdk_window_clear(w->window);
+ 
+         gtk_widget_queue_resize(w);
+-        if (GTK_WIDGET_REALIZED(w))
++        if (gtk_widget_get_realized(w))
+           gdk_window_clear(w->window);
+ 
+         minfo.reason = FONTGRID_GLYPHS_MODIFIED;
+@@ -3786,7 +3789,7 @@ fontgrid_rotate_glyphs(Fontgrid *fw, gin
+     if (bdf_rotate_glyphs(fw->font, degrees, start, end, 0, 0,
+                           fw->unencoded)) {
+         gtk_widget_queue_resize(w);
+-        if (GTK_WIDGET_REALIZED(w))
++        if (gtk_widget_get_realized(w))
+           gdk_window_clear(w->window);
+ 
+         minfo.reason = FONTGRID_GLYPHS_MODIFIED;
+@@ -3817,7 +3820,7 @@ fontgrid_shear_glyphs(Fontgrid *fw, gint
+     if (bdf_shear_glyphs(fw->font, degrees, start, end, 0, 0,
+                           fw->unencoded)) {
+         gtk_widget_queue_resize(w);
+-        if (GTK_WIDGET_REALIZED(w))
++        if (gtk_widget_get_realized(w))
+           gdk_window_clear(w->window);
+ 
+         minfo.reason = FONTGRID_GLYPHS_MODIFIED;
+@@ -3851,7 +3854,7 @@ fontgrid_embolden_glyphs(Fontgrid *fw, g
+                             fw->unencoded, &resize)) {
+         if (resize) {
+             gtk_widget_queue_resize(w);
+-            if (GTK_WIDGET_REALIZED(w))
++            if (gtk_widget_get_realized(w))
+               gdk_window_clear(w->window);
+         } else
+           /*
+@@ -4345,7 +4348,7 @@ fontgrid_paste_selection(Fontgrid *fw, F
+     FontgridSelectionInfo sinfo;
+ 
+     g_return_if_fail(fw != 0);
+-    g_return_if_fail(GTK_WIDGET_REALIZED(w));
++    g_return_if_fail(gtk_widget_get_realized(w));
+ 
+     if ((win = gdk_selection_owner_get(FONTGRID_CLIPBOARD)) == 0) {
+         gdk_selection_owner_set(w->window, FONTGRID_CLIPBOARD,
+diff -up gbdfed-1.5/gectrl.c.gtkfix gbdfed-1.5/gectrl.c
+--- gbdfed-1.5/gectrl.c.gtkfix	2010-08-19 13:56:20.355351081 -0400
++++ gbdfed-1.5/gectrl.c	2010-08-19 14:02:48.878351001 -0400
+@@ -556,7 +556,7 @@ gecontrol_actual_size(GtkWidget *widget,
+ 
+     gecontrol_position_buttons(widget);
+ 
+-    if (GTK_WIDGET_REALIZED(widget))
++    if (gtk_widget_get_realized(widget))
+       gdk_window_move_resize(widget->window, actual->x, actual->y,
+                              actual->width, actual->height);
+ }
+@@ -700,7 +700,7 @@ gecontrol_button_normal(GEControl *ge, g
+         v = (GEC_BUTTON_SIZE >> 1) - (BMAP_DIM >> 1);
+     }
+ 
+-    gdk_draw_pixbuf(w->window, w->style->fg_gc[GTK_WIDGET_STATE(w)],
++    gdk_draw_pixbuf(w->window, w->style->fg_gc[gtk_widget_get_state(w)],
+                     ge->buttons[button].image, 0, 0,
+                     ge->buttons[button].x + v, ge->buttons[button].y + v,
+                     BMAP_DIM, BMAP_DIM, GDK_RGB_DITHER_NONE, 0, 0);
+@@ -741,7 +741,7 @@ gecontrol_button_prelight(GEControl *ge,
+         v = (GEC_BUTTON_SIZE >> 1) - (BMAP_DIM >> 1);
+     }
+ 
+-    gdk_draw_pixbuf(w->window, w->style->fg_gc[GTK_WIDGET_STATE(w)],
++    gdk_draw_pixbuf(w->window, w->style->fg_gc[gtk_widget_get_state(w)],
+                     ge->buttons[button].image, 0, 0,
+                     ge->buttons[button].x + v, ge->buttons[button].y + v,
+                     BMAP_DIM, BMAP_DIM, GDK_RGB_DITHER_NONE, 0, 0);
+@@ -782,7 +782,7 @@ gecontrol_button_active(GEControl *ge, g
+         v = (GEC_BUTTON_SIZE >> 1) - (BMAP_DIM >> 1);
+     }
+ 
+-    gdk_draw_pixbuf(w->window, w->style->fg_gc[GTK_WIDGET_STATE(w)],
++    gdk_draw_pixbuf(w->window, w->style->fg_gc[gtk_widget_get_state(w)],
+                     ge->buttons[button].image, 0, 0,
+                     ge->buttons[button].x + v, ge->buttons[button].y + v,
+                     BMAP_DIM, BMAP_DIM, GDK_RGB_DITHER_NONE, 0, 0);
+@@ -850,9 +850,9 @@ gecontrol_make_rgb_glyph(GEControl *ge)
+      * First, get the background color of the widget for the empty
+      * pixels.
+      */
+-    bg[0] = (guchar) GTK_WIDGET(ge)->style->bg[GTK_WIDGET_STATE(ge)].red;
+-    bg[1] = (guchar) GTK_WIDGET(ge)->style->bg[GTK_WIDGET_STATE(ge)].green;
+-    bg[2] = (guchar) GTK_WIDGET(ge)->style->bg[GTK_WIDGET_STATE(ge)].blue;
++    bg[0] = (guchar) GTK_WIDGET(ge)->style->bg[gtk_widget_get_state(ge)].red;
++    bg[1] = (guchar) GTK_WIDGET(ge)->style->bg[gtk_widget_get_state(ge)].green;
++    bg[2] = (guchar) GTK_WIDGET(ge)->style->bg[gtk_widget_get_state(ge)].blue;
+ 
+     im = ge->gimage;
+ 
+@@ -911,7 +911,7 @@ gecontrol_highlight_selected_spot(GECont
+     gint x, y;
+     GEControlClass *gec = GECONTROL_GET_CLASS(ge);
+ 
+-    if (!GTK_WIDGET_REALIZED(ge) || ge->gimage == 0 || ge->gimage->bpp == 1)
++    if (!gtk_widget_get_realized(ge) || ge->gimage == 0 || ge->gimage->bpp == 1)
+       return;
+ 
+     if (ge->gimage->bpp != 8) {
+@@ -981,13 +981,13 @@ gecontrol_draw_glyph_image(GEControl *ge
+ {
+     GtkWidget *w = GTK_WIDGET(ge);
+ 
+-    if (ge->gimage == 0 || !GTK_WIDGET_REALIZED(ge))
++    if (ge->gimage == 0 || !gtk_widget_get_realized(ge))
+       return;
+ 
+     /*
+      * 1. Draw the box around the image.
+      */
+-    gdk_draw_rectangle(w->window, w->style->fg_gc[GTK_WIDGET_STATE(w)],
++    gdk_draw_rectangle(w->window, w->style->fg_gc[gtk_widget_get_state(w)],
+                        FALSE, ge->gimage->x, ge->gimage->y,
+                        ge->gimage->width + 4, ge->gimage->height + 4);
+ 
+@@ -1002,7 +1002,7 @@ gecontrol_draw_glyph_image(GEControl *ge
+      */
+     gecontrol_make_rgb_glyph(ge);
+     gdk_draw_rgb_image(w->window,
+-                       w->style->bg_gc[GTK_WIDGET_STATE(w)],
++                       w->style->bg_gc[gtk_widget_get_state(w)],
+                        ge->gimage->x + 2, ge->gimage->y + 2,
+                        ge->gimage->width, ge->gimage->height,
+                        GDK_RGB_DITHER_NONE, ge->rgb,
+@@ -1037,8 +1037,8 @@ gecontrol_expose(GtkWidget *w, GdkEventE
+          * Make sure the selection GC has been created.
+          */
+         if (gec->selgc == 0) {
+-            gcv.foreground.pixel = w->style->fg[GTK_WIDGET_STATE(w)].pixel;
+-            gcv.background.pixel = w->style->bg[GTK_WIDGET_STATE(w)].pixel;
++            gcv.foreground.pixel = w->style->fg[gtk_widget_get_state(w)].pixel;
++            gcv.background.pixel = w->style->bg[gtk_widget_get_state(w)].pixel;
+             gcv.foreground.pixel ^= gcv.background.pixel;
+             gcv.function = GDK_XOR;
+             gec->selgc = gdk_gc_new_with_values(w->window, &gcv,
+@@ -1048,7 +1048,7 @@ gecontrol_expose(GtkWidget *w, GdkEventE
+         gecontrol_make_color_spots(ge, ge->gimage->bpp);
+ 
+         gdk_draw_gray_image(w->window,
+-                            w->style->fg_gc[GTK_WIDGET_STATE(w)],
++                            w->style->fg_gc[gtk_widget_get_state(w)],
+                             ge->spot.x, ge->spot.y,
+                             ge->spot.width, ge->spot.height,
+                             GDK_RGB_DITHER_NONE, ge->rgb, ge->spot.width);
+diff -up gbdfed-1.5/glyphedit.c.gtkfix gbdfed-1.5/glyphedit.c
+--- gbdfed-1.5/glyphedit.c.gtkfix	2010-08-19 13:57:25.336351001 -0400
++++ gbdfed-1.5/glyphedit.c	2010-08-19 14:07:15.051351000 -0400
+@@ -316,7 +316,7 @@ glyphedit_actual_size(GtkWidget *widget,
+ {
+     widget->allocation = *actual;
+ 
+-    if (GTK_WIDGET_REALIZED(widget))
++    if (gtk_widget_get_realized(widget))
+       gdk_window_move_resize(widget->window, actual->x, actual->y,
+                              actual->width, actual->height);
+ }
+@@ -335,15 +335,15 @@ glyphedit_draw_focus(GtkWidget *widget, 
+                          "focus-line-width", &fwidth,
+                          "focus-padding", &fpad, NULL);
+ 
+-    gc = widget->style->bg_gc[GTK_WIDGET_STATE(widget)];
++    gc = widget->style->bg_gc[gtk_widget_get_state(widget)];
+ 
+     x = (widget->style->xthickness + fwidth + fpad) - 1;
+     y = (widget->style->ythickness + fwidth + fpad) - 1;
+     wd = (widget->allocation.width - (x * 2));
+     ht = (widget->allocation.height - (y * 2));
+ 
+-    if (GTK_WIDGET_HAS_FOCUS(widget))
+-      gtk_paint_focus(widget->style, widget->window, GTK_WIDGET_STATE(widget),
++    if (gtk_widget_has_focus(widget))
++      gtk_paint_focus(widget->style, widget->window, gtk_widget_get_state(widget),
+                       area, widget, "glyphedit", x, y, wd, ht);
+     else {
+         gdk_gc_set_clip_rectangle(gc, area);
+@@ -360,7 +360,7 @@ glyphedit_draw_pixel(Glyphedit *gw, gint
+     guchar *masks, *bmap;
+     GdkRectangle pix;
+ 
+-    if (!GTK_WIDGET_REALIZED(gw) || gw->grid == 0)
++    if (!gtk_widget_get_realized(gw) || gw->grid == 0)
+       return;
+ 
+     gwc = GLYPHEDIT_GET_CLASS(gw);
+@@ -433,7 +433,7 @@ glyphedit_draw_glyph(Glyphedit *gw)
+     gint16 x, y;
+     gboolean sel;
+ 
+-    if (!GTK_WIDGET_REALIZED(gw) || gw->grid == 0)
++    if (!gtk_widget_get_realized(gw) || gw->grid == 0)
+       return;
+ 
+     for (y = 0; y < gw->grid->grid_height; y++) {
+@@ -451,7 +451,7 @@ glyphedit_draw_font_bbx(Glyphedit *gw)
+     gint16 xoff, yoff, fxoff, fyoff, psize;
+     GdkRectangle frame;
+ 
+-    if (!GTK_WIDGET_REALIZED(gw))
++    if (!gtk_widget_get_realized(gw))
+       return;
+ 
+     gwc = GLYPHEDIT_GET_CLASS(gw);
+@@ -618,9 +618,9 @@ glyphedit_create_gcs(GtkWidget *widget, 
+         if (gwc->gridgc != 0)
+           g_object_unref(G_OBJECT(gwc->gridgc));
+         gcv.foreground.pixel =
+-            widget->style->fg[GTK_WIDGET_STATE(widget)].pixel;
++            widget->style->fg[gtk_widget_get_state(widget)].pixel;
+         gcv.background.pixel =
+-            widget->style->bg[GTK_WIDGET_STATE(widget)].pixel;
++            widget->style->bg[gtk_widget_get_state(widget)].pixel;
+         gcv.function = GDK_COPY;
+         gcv.line_style = GDK_LINE_ON_OFF_DASH;
+         gwc->gridgc = gdk_gc_new_with_values(widget->window, &gcv,
+@@ -654,9 +654,9 @@ glyphedit_create_gcs(GtkWidget *widget, 
+           g_object_unref(G_OBJECT(gwc->selgc));
+ 
+         gcv.foreground.pixel =
+-            widget->style->fg[GTK_WIDGET_STATE(widget)].pixel;
++            widget->style->fg[gtk_widget_get_state(widget)].pixel;
+         gcv.background.pixel =
+-            widget->style->bg[GTK_WIDGET_STATE(widget)].pixel;
++            widget->style->bg[gtk_widget_get_state(widget)].pixel;
+         gcv.foreground.pixel ^= gcv.background.pixel;
+         gcv.function = GDK_XOR;
+         gwc->selgc = gdk_gc_new_with_values(widget->window, &gcv, gcm);
+@@ -667,9 +667,9 @@ glyphedit_create_gcs(GtkWidget *widget, 
+           g_object_unref(G_OBJECT(gwc->pixgc));
+ 
+         gcv.foreground.pixel =
+-            widget->style->fg[GTK_WIDGET_STATE(widget)].pixel;
++            widget->style->fg[gtk_widget_get_state(widget)].pixel;
+         gcv.background.pixel =
+-            widget->style->bg[GTK_WIDGET_STATE(widget)].pixel;
++            widget->style->bg[gtk_widget_get_state(widget)].pixel;
+         gcv.function = GDK_COPY;
+         gwc->pixgc = gdk_gc_new_with_values(widget->window, &gcv, gcm);
+     }
+@@ -738,9 +738,9 @@ glyphedit_expose(GtkWidget *widget, GdkE
+     /*
+      * Paint the shadow first.
+      */
+-    if (GTK_WIDGET_DRAWABLE(widget))
++    if (gtk_widget_is_drawable(widget))
+       gtk_paint_shadow(widget->style, widget->window,
+-                       GTK_WIDGET_STATE(widget), GTK_SHADOW_OUT,
++                       gtk_widget_get_state(widget), GTK_SHADOW_OUT,
+                        &event->area, widget, "glyphedit",
+                        0, 0,
+                        widget->allocation.width,
+@@ -1050,7 +1050,7 @@ glyphedit_set_metrics(Glyphedit *gw, bdf
+     if (bdf_grid_resize(gw->grid, metrics)) {
+         glyphedit_signal_glyph_change(gw);
+         gtk_widget_queue_resize(GTK_WIDGET(gw));
+-    } else if (GTK_WIDGET_REALIZED(gw))
++    } else if (gtk_widget_get_realized(gw))
+       /*
+        * The size didn't change, but we need to redraw if the widget
+        * has been realized.
+@@ -1553,7 +1553,7 @@ glyphedit_own_clipboard(Glyphedit *gw)
+     GdkWindow *win;
+ 
+     w = GTK_WIDGET(gw);
+-    if (!GTK_WIDGET_REALIZED(w) || gw->owns_clipboard == TRUE)
++    if (!gtk_widget_get_realized(w) || gw->owns_clipboard == TRUE)
+       return;
+ 
+     win = gdk_selection_owner_get(GLYPHEDIT_CLIPBOARD);
+@@ -2177,7 +2177,7 @@ glyphedit_button_release(GtkWidget *w, G
+     /*
+      * Button releases on a widget without the focus is ignored.
+      */
+-    if (!GTK_WIDGET_HAS_FOCUS(w))
++    if (!gtk_widget_has_focus(w))
+       return FALSE;
+ 
+     gw = GLYPHEDIT(w);
+@@ -2253,7 +2253,7 @@ glyphedit_motion_notify(GtkWidget *w, Gd
+      * If the event is a simple motion event with no button being pressed,
+      * then simply return at this point.
+      */
+-    if (!GTK_WIDGET_HAS_FOCUS(w) ||
++    if (!gtk_widget_has_focus(w) ||
+         !(event->state & (GDK_BUTTON1_MASK|GDK_BUTTON2_MASK|GDK_BUTTON3_MASK)))
+       return FALSE;
+ 
+diff -up gbdfed-1.5/glyphtest.c.gtkfix gbdfed-1.5/glyphtest.c
+--- gbdfed-1.5/glyphtest.c.gtkfix	2010-08-19 13:58:05.797351002 -0400
++++ gbdfed-1.5/glyphtest.c	2010-08-19 14:07:28.722350971 -0400
+@@ -229,7 +229,7 @@ glyphtest_actual_size(GtkWidget *widget,
+ {
+     widget->allocation = *actual;
+ 
+-    if (GTK_WIDGET_REALIZED(widget))
++    if (gtk_widget_get_realized(widget))
+       gdk_window_move_resize(widget->window, actual->x, actual->y,
+                              actual->width, actual->height);
+ }
+@@ -248,15 +248,15 @@ glyphtest_draw_focus(GtkWidget *widget, 
+                          "focus-line-width", &fwidth,
+                          "focus-padding", &fpad, NULL);
+ 
+-    gc = widget->style->bg_gc[GTK_WIDGET_STATE(widget)];
++    gc = widget->style->bg_gc[gtk_widget_get_state(widget)];
+ 
+     x = (widget->style->xthickness + fwidth + fpad) - 1;
+     y = (widget->style->ythickness + fwidth + fpad) - 1;
+     wd = (widget->allocation.width - (x * 2));
+     ht = (widget->allocation.height - (y * 2));
+ 
+-    if (GTK_WIDGET_HAS_FOCUS(widget))
+-      gtk_paint_focus(widget->style, widget->window, GTK_WIDGET_STATE(widget),
++    if (gtk_widget_has_focus(widget))
++      gtk_paint_focus(widget->style, widget->window, gtk_widget_get_state(widget),
+                       area, widget, "glyphtest", x, y, wd, ht);
+     else {
+         gdk_gc_set_clip_rectangle(gc, area);
+@@ -323,7 +323,7 @@ _glyphtest_draw_glyph(Glyphtest *gw, bdf
+ 
+     w = GTK_WIDGET(gw);
+ 
+-    if (!GTK_WIDGET_REALIZED(w))
++    if (!gtk_widget_get_realized(w))
+       return;
+ 
+     ry = gw->line.cpoint.y;
+@@ -348,7 +348,7 @@ _glyphtest_redraw_glyphs(Glyphtest *gw)
+ 
+     w = GTK_WIDGET(gw);
+ 
+-    if (!GTK_WIDGET_REALIZED(w))
++    if (!gtk_widget_get_realized(w))
+       return;
+ 
+     lp = &gw->line;
+@@ -393,7 +393,7 @@ glyphtest_draw(GtkWidget *widget, GdkRec
+     GdkPoint s, e;
+     GdkRectangle clear;
+ 
+-    if (!GTK_WIDGET_REALIZED(widget))
++    if (!gtk_widget_get_realized(widget))
+       return;
+ 
+     gw = GLYPHTEST(widget);
+@@ -421,7 +421,7 @@ glyphtest_draw(GtkWidget *widget, GdkRec
+         s.y = e.y = gw->line.cpoint.y;
+ 
+         gdk_draw_line(widget->window,
+-                      widget->style->fg_gc[GTK_WIDGET_STATE(widget)],
++                      widget->style->fg_gc[gtk_widget_get_state(widget)],
+                       s.x, s.y, e.x, e.y);
+     }
+ }
+@@ -432,9 +432,9 @@ glyphtest_expose(GtkWidget *widget, GdkE
+     /*
+      * Paint the shadow first.
+      */
+-    if (GTK_WIDGET_DRAWABLE(widget))
++    if (gtk_widget_is_drawable(widget))
+       gtk_paint_shadow(widget->style, widget->window,
+-                       GTK_WIDGET_STATE(widget), GTK_SHADOW_OUT,
++                       gtk_widget_get_state(widget), GTK_SHADOW_OUT,
+                        &event->area,
+                        widget, "glyphtest",
+                        0, 0,
+diff -up gbdfed-1.5/grayswatch.c.gtkfix gbdfed-1.5/grayswatch.c
+--- gbdfed-1.5/grayswatch.c.gtkfix	2010-08-19 14:03:07.490351020 -0400
++++ gbdfed-1.5/grayswatch.c	2010-08-19 14:07:48.277350978 -0400
+@@ -74,9 +74,9 @@ value_changed(GtkSpinButton *b, gpointer
+ 
+     memset(gs->image, v, gs->image_size);
+ 
+-    if (GTK_WIDGET_DRAWABLE(sw))
++    if (gtk_widget_is_drawable(sw))
+       gdk_draw_gray_image(sw->window,
+-                          sw->style->fg_gc[GTK_WIDGET_STATE(sw)],
++                          sw->style->fg_gc[gtk_widget_get_state(sw)],
+                           GTK_CONTAINER(gs)->border_width,
+                           GTK_CONTAINER(gs)->border_width,
+                           sw->allocation.width, sw->allocation.height,
+@@ -124,7 +124,7 @@ grayswatch_expose(GtkWidget *widget, Gdk
+ 
+     if (gs->image_size > 0)
+       gdk_draw_gray_image(widget->window,
+-                          widget->style->fg_gc[GTK_WIDGET_STATE(widget)],
++                          widget->style->fg_gc[gtk_widget_get_state(widget)],
+                           GTK_CONTAINER(gs)->border_width,
+                           GTK_CONTAINER(gs)->border_width,
+                           widget->allocation.width,
+diff -up gbdfed-1.5/labcon.c.gtkfix gbdfed-1.5/labcon.c
+--- gbdfed-1.5/labcon.c.gtkfix	2010-08-19 14:03:16.643351008 -0400
++++ gbdfed-1.5/labcon.c	2010-08-19 14:03:21.099351002 -0400
+@@ -240,7 +240,7 @@ draw_pixbuf(GtkWidget *w, GdkEventExpose
+ 
+     x = (w->allocation.width >> 1) - (wd >> 1);
+     y = (w->allocation.height >> 1) - (ht >> 1);
+-    gdk_draw_pixbuf(w->window, w->style->fg_gc[GTK_WIDGET_STATE(w)],
++    gdk_draw_pixbuf(w->window, w->style->fg_gc[gtk_widget_get_state(w)],
+                     p, 0, 0, x, y, wd, ht, GDK_RGB_DITHER_NONE, 0, 0);
+ 
+     return FALSE;
diff --git a/gbdfed.spec b/gbdfed.spec
index c3b66eb..2027fed 100644
--- a/gbdfed.spec
+++ b/gbdfed.spec
@@ -1,7 +1,7 @@
 Name:		gbdfed
 Summary: 	Bitmap Font Editor
 Version:	1.5
-Release:	2%{?dist}
+Release:	3%{?dist}
 License:	MIT
 Group:		Applications/System
 Source0:	http://www.math.nmsu.edu/~mleisher/Software/gbdfed/%{name}-%{version}.tbz2
@@ -11,6 +11,8 @@ Source2:	gbdfed.desktop
 Patch0:		gbdfed-1.5-getline.patch
 # Fix implicit DSO issue with libX11
 Patch1:		gbdfed-1.5-implicit-DSO-libX11.patch
+# Fix some of the gtk issues
+Patch2:		gbdfed-1.5-gtkfix.patch
 URL:		http://www.math.nmsu.edu/~mleisher/Software/gbdfed/
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:	freetype-devel, pango-devel, libX11-devel, libICE-devel, gtk2-devel
@@ -26,6 +28,10 @@ editing font properties. The editor works natively with BDF fonts.
 %setup -q 
 %patch0 -p1 -b .getline
 %patch1 -p1 -b .DSO
+%patch2 -p1 -b .gtkfix
+
+# This is incredibly hackish, and will likely not work when these deprecated bits are removed outright.
+sed "s:-D.*_DISABLE_DEPRECATED::" -i Makefile.in
 
 %build
 autoconf
@@ -54,6 +60,9 @@ rm -rf %{buildroot}
 %{_mandir}/man1/gbdfed*
 
 %changelog
+* Thu Aug 19 2010 Tom "spot" Callaway <tcallawa at redhat.com> - 1.5-3
+- coax this beast to life for one last build
+
 * Wed Feb 10 2010 Tom "spot" Callaway <tcallawa at redhat.com> - 1.5-2
 - Fix implicit DSO issue with libX11
 


More information about the scm-commits mailing list