[empathy] CallWindow: properly determine the sidebar width



commit 3535c55225076c649883aa4a497893b1f165a110
Author: Emilio Pozuelo Monfort <emilio pozuelo collabora co uk>
Date:   Mon Jul 11 16:04:47 2011 +0100

    CallWindow: properly determine the sidebar width
    
    The first time we show the sidebar, gtk_widget_get_allocation()
    doesn't return the correct width as the allocation hasn't been
    done yet. So use gtk_widget_get_preferred_width() as the minimum
    width is what is actually allocated.

 src/empathy-call-window.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 5103eb9..091a6e3 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -2859,8 +2859,8 @@ empathy_call_window_show_sidebar (EmpathyCallWindow *window,
     gboolean active)
 {
   EmpathyCallWindowPriv *priv = GET_PRIV (window);
-  int w, h, handle_size;
-  GtkAllocation allocation, sidebar_allocation;
+  int w, h, sidebar_width, handle_size;
+  GtkAllocation allocation;
   gchar *page;
   gboolean dialpad_shown;
 
@@ -2870,16 +2870,16 @@ empathy_call_window_show_sidebar (EmpathyCallWindow *window,
 
   gtk_widget_style_get (priv->pane, "handle_size", &handle_size, NULL);
 
-  gtk_widget_get_allocation (priv->sidebar, &sidebar_allocation);
+  gtk_widget_get_preferred_width (priv->sidebar, &sidebar_width, NULL);
 
   if (active)
     {
       gtk_widget_show (priv->sidebar);
-      w += sidebar_allocation.width + handle_size;
+      w += sidebar_width + handle_size;
     }
   else
     {
-      w -= sidebar_allocation.width + handle_size;
+      w -= sidebar_width + handle_size;
       gtk_widget_hide (priv->sidebar);
     }
 



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