[gtk+] GtkSwitch: Update handle_x in size-allocate



commit 1569952d0e97448edffdf60266272ff4a4a08bd8
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon Aug 4 14:32:40 2014 +0200

    GtkSwitch: Update handle_x in size-allocate
    
    Since we are storing positions here that depend on the allocation,
    we need to update them in size-allocate. This fixes incorrect
    positioning of the handle if the switch is active initially.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=734213

 gtk/gtkswitch.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c
index b175806..28962d2 100644
--- a/gtk/gtkswitch.c
+++ b/gtk/gtkswitch.c
@@ -474,6 +474,11 @@ gtk_switch_size_allocate (GtkWidget     *widget,
                             allocation->width,
                             allocation->height);
 
+  if (priv->is_active)
+    priv->handle_x = gtk_widget_get_allocated_width (widget) / 2;
+  else
+    priv->handle_x = 0;
+
   _gtk_widget_set_simple_clip (widget);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]