summaryrefslogtreecommitdiffstats
path: root/x11-toolkits/gtk20
diff options
context:
space:
mode:
authormarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2009-03-24 08:54:04 +0800
committermarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2009-03-24 08:54:04 +0800
commit7e8caad64d235828f49fe84e104d03091ffeba1c (patch)
treeaefb325cc55d1c83b6a714ae570bb5ef511163a8 /x11-toolkits/gtk20
parenta4f5bcd3a7a2ae809e5b16f8773313fe5c27aa62 (diff)
downloadmarcuscom-ports-7e8caad64d235828f49fe84e104d03091ffeba1c.tar
marcuscom-ports-7e8caad64d235828f49fe84e104d03091ffeba1c.tar.gz
marcuscom-ports-7e8caad64d235828f49fe84e104d03091ffeba1c.tar.bz2
marcuscom-ports-7e8caad64d235828f49fe84e104d03091ffeba1c.tar.lz
marcuscom-ports-7e8caad64d235828f49fe84e104d03091ffeba1c.tar.xz
marcuscom-ports-7e8caad64d235828f49fe84e104d03091ffeba1c.tar.zst
marcuscom-ports-7e8caad64d235828f49fe84e104d03091ffeba1c.zip
Merge a patch from GNOME SVN to fix the build with GCC 3.x.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@12180 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'x11-toolkits/gtk20')
-rw-r--r--x11-toolkits/gtk20/files/patch-gtk_gtkscalebutton.c133
1 files changed, 133 insertions, 0 deletions
diff --git a/x11-toolkits/gtk20/files/patch-gtk_gtkscalebutton.c b/x11-toolkits/gtk20/files/patch-gtk_gtkscalebutton.c
new file mode 100644
index 000000000..eb85ae278
--- /dev/null
+++ b/x11-toolkits/gtk20/files/patch-gtk_gtkscalebutton.c
@@ -0,0 +1,133 @@
+--- gtk/gtkscalebutton.c 2009/03/06 14:06:46 22478
++++ gtk/gtkscalebutton.c 2009/03/18 21:19:07 22574
+@@ -119,6 +119,8 @@
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec);
++static void gtk_scale_button_set_orientation_private (GtkScaleButton *button,
++ GtkOrientation orientation);
+ static gboolean gtk_scale_button_scroll (GtkWidget *widget,
+ GdkEventScroll *event);
+ static void gtk_scale_button_screen_changed (GtkWidget *widget,
+@@ -434,7 +436,7 @@
+ switch (prop_id)
+ {
+ case PROP_ORIENTATION:
+- gtk_scale_button_set_orientation (button, g_value_get_enum (value));
++ gtk_scale_button_set_orientation_private (button, g_value_get_enum (value));
+ break;
+ case PROP_VALUE:
+ gtk_scale_button_set_value (button, g_value_get_double (value));
+@@ -739,54 +741,9 @@
+ gtk_scale_button_set_orientation (GtkScaleButton *button,
+ GtkOrientation orientation)
+ {
+- GtkScaleButtonPrivate *priv;
+-
+ g_return_if_fail (GTK_IS_SCALE_BUTTON (button));
+
+- priv = button->priv;
+-
+- if (orientation != priv->orientation)
+- {
+- priv->orientation = orientation;
+-
+- gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->box),
+- orientation);
+- gtk_container_child_set (GTK_CONTAINER (priv->box),
+- button->plus_button,
+- "pack-type",
+- orientation == GTK_ORIENTATION_VERTICAL ?
+- GTK_PACK_START : GTK_PACK_END,
+- NULL);
+- gtk_container_child_set (GTK_CONTAINER (priv->box),
+- button->minus_button,
+- "pack-type",
+- orientation == GTK_ORIENTATION_VERTICAL ?
+- GTK_PACK_END : GTK_PACK_START,
+- NULL);
+-
+- gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->scale),
+- orientation);
+-
+- if (orientation == GTK_ORIENTATION_VERTICAL)
+- {
+- gtk_widget_set_size_request (GTK_WIDGET (priv->scale),
+- -1, SCALE_SIZE);
+- gtk_range_set_inverted (GTK_RANGE (priv->scale), TRUE);
+- }
+- else
+- {
+- gtk_widget_set_size_request (GTK_WIDGET (priv->scale),
+- SCALE_SIZE, -1);
+- gtk_range_set_inverted (GTK_RANGE (priv->scale), FALSE);
+- }
+-
+- /* FIXME: without this, the popup window appears as a square
+- * after changing the orientation
+- */
+- gtk_window_resize (GTK_WINDOW (priv->dock), 1, 1);
+-
+- g_object_notify (G_OBJECT (button), "orientation");
+- }
++ gtk_scale_button_set_orientation_private (button, orientation);
+ }
+
+ /**
+@@ -843,6 +800,56 @@
+ return button->priv->dock;
+ }
+
++static void
++gtk_scale_button_set_orientation_private (GtkScaleButton *button,
++ GtkOrientation orientation)
++{
++ GtkScaleButtonPrivate *priv = button->priv;
++
++ if (orientation != priv->orientation)
++ {
++ priv->orientation = orientation;
++
++ gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->box),
++ orientation);
++ gtk_container_child_set (GTK_CONTAINER (priv->box),
++ button->plus_button,
++ "pack-type",
++ orientation == GTK_ORIENTATION_VERTICAL ?
++ GTK_PACK_START : GTK_PACK_END,
++ NULL);
++ gtk_container_child_set (GTK_CONTAINER (priv->box),
++ button->minus_button,
++ "pack-type",
++ orientation == GTK_ORIENTATION_VERTICAL ?
++ GTK_PACK_END : GTK_PACK_START,
++ NULL);
++
++ gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->scale),
++ orientation);
++
++ if (orientation == GTK_ORIENTATION_VERTICAL)
++ {
++ gtk_widget_set_size_request (GTK_WIDGET (priv->scale),
++ -1, SCALE_SIZE);
++ gtk_range_set_inverted (GTK_RANGE (priv->scale), TRUE);
++ }
++ else
++ {
++ gtk_widget_set_size_request (GTK_WIDGET (priv->scale),
++ SCALE_SIZE, -1);
++ gtk_range_set_inverted (GTK_RANGE (priv->scale), FALSE);
++ }
++
++ /* FIXME: without this, the popup window appears as a square
++ * after changing the orientation
++ */
++ gtk_window_resize (GTK_WINDOW (priv->dock), 1, 1);
++
++ g_object_notify (G_OBJECT (button), "orientation");
++ }
++}
++
+ /*
+ * button callbacks.
+ */