]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkspinbutton.c
Use IPC_RMID _after_ doing XShmAttach. This should work everywhere, and
[~andy/gtk] / gtk / gtkspinbutton.c
index 3cb6889f313b6adb808049706f46174dd0a78c99..1307119235b330d0ed5bd0d8045ccace1532daee 100644 (file)
@@ -119,7 +119,7 @@ gtk_spin_button_get_type (void)
 
   if (!spin_button_type)
     {
-      GtkTypeInfo spin_button_info =
+      static const GtkTypeInfo spin_button_info =
       {
        "GtkSpinButton",
        sizeof (GtkSpinButton),
@@ -560,21 +560,34 @@ gtk_spin_button_draw_arrow (GtkSpinButton *spin_button,
 
   if (GTK_WIDGET_DRAWABLE (spin_button))
     {
-      if (spin_button->in_child == arrow)
-        {
-          if (spin_button->click_child == arrow)
-            state_type = GTK_STATE_ACTIVE;
-          else
-            state_type = GTK_STATE_PRELIGHT;
-        }
-      else
-        state_type = GTK_STATE_NORMAL;
-
-      if (spin_button->click_child == arrow)
-        shadow_type = GTK_SHADOW_IN;
+      if (!spin_button->wrap &&
+         (((arrow == GTK_ARROW_UP &&
+         (spin_button->adjustment->upper - spin_button->adjustment->value
+          <= EPSILON))) ||
+         ((arrow == GTK_ARROW_DOWN &&
+         (spin_button->adjustment->value - spin_button->adjustment->lower
+          <= EPSILON)))))
+       {
+         shadow_type = GTK_SHADOW_ETCHED_IN;
+         state_type = GTK_STATE_NORMAL;
+       }
       else
-        shadow_type = GTK_SHADOW_OUT;
-
+       {
+         if (spin_button->in_child == arrow)
+           {
+             if (spin_button->click_child == arrow)
+               state_type = GTK_STATE_ACTIVE;
+             else
+               state_type = GTK_STATE_PRELIGHT;
+           }
+         else
+           state_type = GTK_STATE_NORMAL;
+         
+         if (spin_button->click_child == arrow)
+           shadow_type = GTK_SHADOW_IN;
+         else
+           shadow_type = GTK_SHADOW_OUT;
+       }
       if (arrow == GTK_ARROW_UP)
        {
          if (spin_button->shadow_type != GTK_SHADOW_NONE)
@@ -1272,6 +1285,17 @@ gtk_spin_button_real_spin (GtkSpinButton *spin_button,
  ***********************************************************/
 
 
+void
+gtk_spin_button_construct (GtkSpinButton  *spin_button,
+                          GtkAdjustment  *adjustment,
+                          gfloat           climb_rate,
+                          guint            digits)
+{
+  g_message ("gtk_spin_button_construct() is deprecated");
+
+  gtk_spin_button_configure (spin_button, adjustment, climb_rate, digits);
+}
+
 void
 gtk_spin_button_configure (GtkSpinButton  *spin_button,
                           GtkAdjustment  *adjustment,