[gtk] filechooserwidget: Stop using gtk_widget_get_allocat*
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk] filechooserwidget: Stop using gtk_widget_get_allocat*
- Date: Tue, 30 Apr 2019 04:03:03 +0000 (UTC)
commit 83e9361005958f2b7822e1a7fa53745ba13af9f7
Author: Timm Bäder <tbaeder redhat com>
Date: Mon Apr 29 11:46:54 2019 +0200
filechooserwidget: Stop using gtk_widget_get_allocat*
gtk/gtkfilechooserwidget.c | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
index aa9c3156bc..41d0d5eaa8 100644
--- a/gtk/gtkfilechooserwidget.c
+++ b/gtk/gtkfilechooserwidget.c
@@ -2221,7 +2221,12 @@ file_list_show_popover (GtkFileChooserWidget *impl,
GtkTreeModel *model;
GList *list;
GtkTreePath *path;
+ graphene_rect_t bounds;
+ if (!gtk_widget_compute_bounds (priv->browse_files_tree_view,
+ priv->browse_files_tree_view,
+ &bounds))
+ return;
file_list_update_popover (impl);
@@ -2234,7 +2239,7 @@ file_list_show_popover (GtkFileChooserWidget *impl,
gtk_tree_view_convert_bin_window_to_widget_coords (GTK_TREE_VIEW (priv->browse_files_tree_view),
rect.x, rect.y, &rect.x, &rect.y);
- rect.x = CLAMP (x - 20, 0, gtk_widget_get_allocated_width (priv->browse_files_tree_view) - 40);
+ rect.x = CLAMP (x - 20, 0, bounds.size.width - 40);
rect.width = 40;
g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
@@ -2257,11 +2262,17 @@ list_popup_menu_cb (GtkWidget *widget,
GtkFileChooserWidget *impl)
{
GtkFileChooserWidgetPrivate *priv = impl->priv;
+ graphene_rect_t bounds;
- file_list_show_popover (impl,
- 0.5 * gtk_widget_get_allocated_width (GTK_WIDGET (priv->browse_files_tree_view)),
- 0.5 * gtk_widget_get_allocated_height (GTK_WIDGET (priv->browse_files_tree_view)));
- return TRUE;
+ if (gtk_widget_compute_bounds (priv->browse_files_tree_view,
+ priv->browse_files_tree_view,
+ &bounds))
+ {
+ file_list_show_popover (impl, 0.5 * bounds.size.width, 0.5 * bounds.size.height);
+ return TRUE;
+ }
+
+ return FALSE;
}
/* Callback used when a button is pressed on the file list. We trap button 3 to
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]