summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx28
1 files changed, 20 insertions, 8 deletions
diff --git a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx
index c1117fef3ad5..14aba8abe050 100644
--- a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx
@@ -2116,14 +2116,26 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings )
gint min_slider_length = 21;
// Grab some button style attributes
- gtk_style_context_get_style( mpVScrollbarStyle,
- "slider-width", &slider_width,
- "trough-border", &trough_border,
- "min-slider-length", &min_slider_length,
- nullptr );
- gint magic = trough_border ? 1 : 0;
- aStyleSet.SetScrollBarSize( slider_width + 2*trough_border );
- aStyleSet.SetMinThumbSize( min_slider_length - magic );
+ gtk_style_context_get_style(mpVScrollbarStyle,
+ "slider-width", &slider_width,
+ "trough-border", &trough_border,
+ nullptr);
+ aStyleSet.SetScrollBarSize(slider_width + 2*trough_border);
+ if (gtk_check_version(3, 20, 0) == nullptr)
+ {
+ gtk_style_context_get(mpVScrollbarSliderStyle, gtk_style_context_get_state(mpVScrollbarSliderStyle),
+ "min-height", &min_slider_length,
+ nullptr);
+ aStyleSet.SetMinThumbSize(min_slider_length);
+ }
+ else
+ {
+ gtk_style_context_get_style(mpVScrollbarStyle,
+ "min-slider-length", &min_slider_length,
+ nullptr);
+ gint magic = trough_border ? 1 : 0;
+ aStyleSet.SetMinThumbSize(min_slider_length - magic);
+ }
// preferred icon style
gchar* pIconThemeName = nullptr;