From fc799681084ecdb731570169cbe0e97d8a9b3047 Mon Sep 17 00:00:00 2001 From: Thanatomanic Date: Sun, 1 Jul 2018 15:52:21 +0200 Subject: [PATCH] Sanity checks for height, horizontal thumb browser automatically scales. --- rtgui/filecatalog.cc | 1 + rtgui/thumbbrowserbase.cc | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/rtgui/filecatalog.cc b/rtgui/filecatalog.cc index 19830951b..0118a3c5c 100644 --- a/rtgui/filecatalog.cc +++ b/rtgui/filecatalog.cc @@ -490,6 +490,7 @@ void FileCatalog::exifInfoButtonToggled() } fileBrowser->refreshThumbImages (); + refreshHeight(); } void FileCatalog::on_realize() diff --git a/rtgui/thumbbrowserbase.cc b/rtgui/thumbbrowserbase.cc index e9a88cb2a..829aec9f7 100644 --- a/rtgui/thumbbrowserbase.cc +++ b/rtgui/thumbbrowserbase.cc @@ -501,8 +501,8 @@ void ThumbBrowserBase::configScrollBars () vscroll.get_adjustment()->set_upper (inH); hscroll.get_adjustment()->set_lower (0); vscroll.get_adjustment()->set_lower (0); - hscroll.get_adjustment()->set_step_increment (fd[0]->getEffectiveHeight()); // Is it safe enough to assume fd[0] is accessible? There seems to be no other way to get the _actual_ height of the thumbnail. - vscroll.get_adjustment()->set_step_increment (fd[0]->getEffectiveHeight()); + hscroll.get_adjustment()->set_step_increment (!fd.empty() ? fd[0]->getEffectiveHeight() : 0); + vscroll.get_adjustment()->set_step_increment (!fd.empty() ? fd[0]->getEffectiveHeight() : 0); hscroll.get_adjustment()->set_page_increment (iw); vscroll.get_adjustment()->set_page_increment (ih); hscroll.get_adjustment()->set_page_size (iw); @@ -567,7 +567,7 @@ void ThumbBrowserBase::arrangeFiles() MYREADERLOCK_RELEASE(l); // This will require a Writer access - resizeThumbnailArea(currx, rowHeight); + resizeThumbnailArea(currx, !fd.empty() ? fd[0]->getEffectiveHeight() : rowHeight); } else { const int availWidth = internal.get_width();