ports/147859: [patch] gimp-app: fix status bar with gtk-2.20.1_2

Warren Block wblock at wonkity.com
Tue Jun 15 03:20:02 UTC 2010


>Number:         147859
>Category:       ports
>Synopsis:       [patch] gimp-app: fix status bar with gtk-2.20.1_2
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jun 15 03:20:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Warren Block
>Release:        8-STABLE
>Organization:
>Environment:
FreeBSD lightning 8.1-PRERELEASE FreeBSD 8.1-PRERELEASE #0: Fri Jun 11 22:13:33 MDT 2010     root at lightning:/usr/obj/usr/src/sys/LIGHTNING  i386
>Description:
gimp-app-2.6.8_4,1 does not show a status bar with gtk-2.20.1_2.  Seems to be the bug described here: https://bugs.launchpad.net/ubuntu/+source/gimp/+bug/542916

Reworked patch is based on this: http://git.gnome.org/browse/gimp/commit/?id=a81dc5ead39ddc71de7a77ee5f6c01ac85022523

Seems to work, but needs more testing.  May not work with earlier gtk.
>How-To-Repeat:
Run gimp-app-2.6.8_4,1.  Look for status bar at bottom of screen with units and zoom percentage--it's missing.
>Fix:
Apply patch.

Patch attached with submission follows:

--- app/display/gimpstatusbar.c.orig	2010-06-14 20:33:45.000000000 -0600
+++ app/display/gimpstatusbar.c	2010-06-14 20:44:51.000000000 -0600
@@ -154,6 +154,8 @@
   GtkWidget     *hbox;
   GtkWidget     *image;
   GimpUnitStore *store;
+  GtkWidget	*message_area;
+  GtkWidget	*message_area_parent;
 
   statusbar->shell          = NULL;
   statusbar->messages       = NULL;
@@ -171,12 +173,13 @@
   statusbar->progress_active      = FALSE;
   statusbar->progress_shown       = FALSE;
 
-  /* remove the label and insert a hbox */
-  gtk_container_remove (GTK_CONTAINER (GTK_STATUSBAR (statusbar)->frame),
-                        g_object_ref (GTK_STATUSBAR (statusbar)->label));
+  /* remove the message area and insert a hbox */
+  message_area = gtk_statusbar_get_message_area (GTK_STATUSBAR (statusbar));
+  message_area_parent = gtk_widget_get_parent (message_area);
+  gtk_container_remove (GTK_CONTAINER (message_area_parent), g_object_ref (message_area));
 
   hbox = gtk_hbox_new (FALSE, 1);
-  gtk_container_add (GTK_CONTAINER (GTK_STATUSBAR (statusbar)->frame), hbox);
+  gtk_container_add (GTK_CONTAINER (message_area_parent), hbox);
   gtk_widget_show (hbox);
 
   statusbar->cursor_label = gtk_label_new ("8888, 8888");
@@ -207,10 +210,9 @@
                     G_CALLBACK (gimp_statusbar_scale_changed),
                     statusbar);
 
-  /*  put the label back into our hbox  */
-  gtk_box_pack_start (GTK_BOX (hbox),
-                      GTK_STATUSBAR (statusbar)->label, TRUE, TRUE, 1);
-  g_object_unref (GTK_STATUSBAR (statusbar)->label);
+  /* put the message area back into our hbox */
+  gtk_box_pack_start (GTK_BOX (hbox), message_area, TRUE, TRUE, 1);
+  g_object_unref (message_area);
 
   g_signal_connect_after (GTK_STATUSBAR (statusbar)->label, "expose-event",
                           G_CALLBACK (gimp_statusbar_label_expose),


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list