From ad28ad5fe869fa4a16100b0dd06249d0fce34667 Mon Sep 17 00:00:00 2001 From: Alexander Schwinn Date: Sun, 15 Jul 2018 21:47:49 +0200 Subject: [PATCH 2/2] attempt to fix broken row height --- thunar/thunar-standard-view.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/thunar/thunar-standard-view.c b/thunar/thunar-standard-view.c index 786c8f9d..50d43ed6 100644 --- a/thunar/thunar-standard-view.c +++ b/thunar/thunar-standard-view.c @@ -1728,20 +1728,28 @@ thunar_standard_view_set_zoom_level (ThunarView *view, ThunarZoomLevel zoom_level) { ThunarStandardView *standard_view = THUNAR_STANDARD_VIEW (view); - gboolean newThumbnailSize = FALSE; + GValue g_value_zoom_level = G_VALUE_INIT; /* check if we have a new zoom-level here */ if (G_LIKELY (standard_view->priv->zoom_level != zoom_level)) { + /* new thumbnail size ? --> We need to reload */ if(thunar_zoom_level_to_thumbnail_size (zoom_level) != thunar_zoom_level_to_thumbnail_size (standard_view->priv->zoom_level)) - newThumbnailSize = TRUE; - - standard_view->priv->zoom_level = zoom_level; + { + /* Use set_propery instead to make sure that icon-factory did it's work before view_reload */ + standard_view->priv->zoom_level = zoom_level; - g_object_notify_by_pspec (G_OBJECT (standard_view), standard_view_props[PROP_ZOOM_LEVEL]); + g_value_init (&g_value_zoom_level, THUNAR_TYPE_ZOOM_LEVEL); + g_value_set_enum (&g_value_zoom_level, zoom_level); - if(newThumbnailSize) - thunar_standard_view_reload (view, TRUE); + g_object_set_property (G_OBJECT (standard_view), "zoom-level", &g_value_zoom_level); + thunar_standard_view_reload (view, TRUE); + } + else + { + standard_view->priv->zoom_level = zoom_level; + g_object_notify_by_pspec (G_OBJECT (standard_view), standard_view_props[PROP_ZOOM_LEVEL]); + } } } -- 2.11.0