summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-05-16 11:53:12 +0100
committerDavid Tardon <dtardon@redhat.com>2016-05-17 05:43:30 +0000
commit9536bef4baeb476a54ce7cd382ded1f594efa69f (patch)
tree4c49d83148c51839bf13bbc641ee4d5e47c3eaea /vcl
parentcdb0d792d15da3f090b8d1db15bac1cec1a84bec (diff)
gtk3: min slider size too small since 3.20.0
"GtkScrollbar:min-slider-length has been deprecated since version 3.20 and should not be used in newly-written code. Use min-height/min-width CSS properties on the slider element instead. The value of this style property is ignored." sigh.... Change-Id: I0fe44b0a3dd31bd60c07f58ae5245496a7463fe2 (cherry picked from commit 2f5bba2511ef5ef3ad92f8f9547e25128570c324) Reviewed-on: https://gerrit.libreoffice.org/25031 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'vcl')
-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;