Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-sidebar.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/ev-sidebar.c')
-rw-r--r--shell/ev-sidebar.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/shell/ev-sidebar.c b/shell/ev-sidebar.c
index 23d51f9..fd977e0 100644
--- a/shell/ev-sidebar.c
+++ b/shell/ev-sidebar.c
@@ -205,17 +205,19 @@ ev_sidebar_menu_position_under (GtkMenu *menu,
gboolean *push_in,
gpointer user_data)
{
- GtkWidget *widget;
+ GtkWidget *widget;
+ GtkAllocation allocation;
g_return_if_fail (GTK_IS_BUTTON (user_data));
g_return_if_fail (!gtk_widget_get_has_window (GTK_WIDGET (user_data)));
widget = GTK_WIDGET (user_data);
- gdk_window_get_origin (widget->window, x, y);
+ gdk_window_get_origin (gtk_widget_get_window (widget), x, y);
+ gtk_widget_get_allocation (widget, &allocation);
- *x += widget->allocation.x;
- *y += widget->allocation.y + widget->allocation.height;
+ *x += allocation.x;
+ *y += allocation.y + allocation.height;
*push_in = FALSE;
}
@@ -229,9 +231,11 @@ ev_sidebar_select_button_press_cb (GtkWidget *widget,
if (event->button == 1) {
GtkRequisition requisition;
+ GtkAllocation allocation;
gint width;
-
- width = widget->allocation.width;
+
+ gtk_widget_get_allocation (widget, &allocation);
+ width = allocation.width;
gtk_widget_set_size_request (ev_sidebar->priv->menu, -1, -1);
gtk_widget_size_request (ev_sidebar->priv->menu, &requisition);
gtk_widget_set_size_request (ev_sidebar->priv->menu,