summaryrefslogtreecommitdiffstats
path: root/main/gimp/gtk-2.19-statusbar.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/gimp/gtk-2.19-statusbar.patch')
-rw-r--r--main/gimp/gtk-2.19-statusbar.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/main/gimp/gtk-2.19-statusbar.patch b/main/gimp/gtk-2.19-statusbar.patch
new file mode 100644
index 00000000..8bc278b4
--- /dev/null
+++ b/main/gimp/gtk-2.19-statusbar.patch
@@ -0,0 +1,67 @@
+From 501c4f65f08c111df0654cb887d95c2c06e82710 Mon Sep 17 00:00:00 2001
+From: Nils Philippsen <nils@redhat.com>
+Date: Wed, 24 Mar 2010 17:08:01 +0000
+Subject: backport statusbar code needed for GTK+ >= 2.19.1
+
+Use the hbox that is provided via gtk_statusbar_get_message_area()
+since GTK+ 2.19.1.
+---
+diff --git a/app/display/gimpstatusbar.c b/app/display/gimpstatusbar.c
+index 5e89427..36651cd 100644
+--- a/app/display/gimpstatusbar.c
++++ b/app/display/gimpstatusbar.c
+@@ -49,6 +49,9 @@
+ /* maximal width of the string holding the cursor-coordinates */
+ #define CURSOR_LEN 256
+
++/* the spacing of the hbox */
++#define HBOX_SPACING 1
++
+ /* spacing between the icon and the statusbar label */
+ #define ICON_SPACING 2
+
+@@ -152,6 +155,7 @@ static void
+ gimp_statusbar_init (GimpStatusbar *statusbar)
+ {
+ GtkWidget *hbox;
++ GtkWidget *label;
+ GtkWidget *image;
+ GimpUnitStore *store;
+
+@@ -171,13 +175,27 @@ gimp_statusbar_init (GimpStatusbar *statusbar)
+ 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));
+-
+- hbox = gtk_hbox_new (FALSE, 1);
+- gtk_container_add (GTK_CONTAINER (GTK_STATUSBAR (statusbar)->frame), hbox);
+- gtk_widget_show (hbox);
++ label = g_object_ref (GTK_STATUSBAR (statusbar)->label);
++
++ /* remove the message area or label and insert a hbox */
++#if GTK_CHECK_VERSION (2, 19, 1)
++ {
++ hbox = gtk_statusbar_get_message_area (GTK_STATUSBAR (statusbar));
++ gtk_box_set_spacing (GTK_BOX (hbox), HBOX_SPACING);
++ gtk_container_remove (GTK_CONTAINER (hbox), label);
++ }
++#else
++ {
++ GtkWidget *label_parent;
++
++ label_parent = gtk_widget_get_parent (label);
++ gtk_container_remove (GTK_CONTAINER (label_parent), label);
++
++ hbox = gtk_hbox_new (FALSE, HBOX_SPACING);
++ gtk_container_add (GTK_CONTAINER (label_parent), hbox);
++ gtk_widget_show (hbox);
++ }
++#endif
+
+ statusbar->cursor_label = gtk_label_new ("8888, 8888");
+ gtk_misc_set_alignment (GTK_MISC (statusbar->cursor_label), 0.5, 0.5);
+--
+cgit v0.8.3.1