diff --git a/uppsrc/CtrlCore/Ctrl.cpp b/uppsrc/CtrlCore/Ctrl.cpp index 3c73cf680..c6b4e95c7 100644 --- a/uppsrc/CtrlCore/Ctrl.cpp +++ b/uppsrc/CtrlCore/Ctrl.cpp @@ -975,6 +975,7 @@ void Ctrl::ReSkin() if(lock) return; lock++; + ChReset(); if(s_chdefault) (*s_chdefault)(); if(skin) diff --git a/uppsrc/CtrlLib/ChGtk.cpp b/uppsrc/CtrlLib/ChGtk.cpp index ddd78cb55..7273ed4b8 100644 --- a/uppsrc/CtrlLib/ChGtk.cpp +++ b/uppsrc/CtrlLib/ChGtk.cpp @@ -270,6 +270,11 @@ void ChHostSkin() s.thumbmin = GTK_RANGE(vscrollbar)->min_slider_size; s.barsize = max(14, GtkInt("slider_width")); // 'max' - ugly fix for ThinIce theme s.arrowsize = max(s.barsize, GtkInt("stepper_size")); // 'max' - ugly fix for ThinIce theme + + if(1.6 * s.barsize < GetStdFontCy()) { // GTK2 handles UHD not well, fix the biggest problem + s.barsize += s.barsize; + s.arrowsize += s.arrowsize; + } /* The only theme with 3 buttons is Amaranth and it does not look good... s.isright2 = s.isdown2 = GtkInt("has-secondary-forward-stepper"); diff --git a/uppsrc/CtrlLib/ScrollBar.cpp b/uppsrc/CtrlLib/ScrollBar.cpp index 12460830d..44687e7a8 100644 --- a/uppsrc/CtrlLib/ScrollBar.cpp +++ b/uppsrc/CtrlLib/ScrollBar.cpp @@ -37,7 +37,7 @@ CH_STYLE(ScrollBar, Style, StyleDefault) } ScrollBar::ScrollBar() { - minthumb = 16; + minthumb = DPI(16); pagepos = pagesize = totalsize = 0; linesize = 1; autohide = false; diff --git a/uppsrc/CtrlLib/ScrollBar.h b/uppsrc/CtrlLib/ScrollBar.h index 4b707b792..54cd0fd03 100644 --- a/uppsrc/CtrlLib/ScrollBar.h +++ b/uppsrc/CtrlLib/ScrollBar.h @@ -63,7 +63,7 @@ private: void Position(); void Uset(int a); - int ScrollBarSize() const { return style->barsize; } + int ScrollBarSize() const { return style->barsize; } public: Event<> WhenScroll;