From 4fdcdc07d2f5ab643e2959a0b4d059cf5a0a986b Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Sun, 24 Jan 2021 09:09:49 -0800 Subject: [PATCH] Set horizontal scrollbar layout direction from SetLayoutDirection() Rather than when it is created, which is too early --- src/gtk/window.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 3d503ba0cb..83bc345e2c 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -2627,8 +2627,6 @@ void wxWindowGTK::GTKCreateScrolledWindowWith(GtkWidget* view) m_scrollBar[ScrollDir_Horz] = GTK_RANGE(gtk_scrolled_window_get_hscrollbar(scrolledWindow)); m_scrollBar[ScrollDir_Vert] = GTK_RANGE(gtk_scrolled_window_get_vscrollbar(scrolledWindow)); - if (GetLayoutDirection() == wxLayout_RightToLeft) - gtk_range_set_inverted( m_scrollBar[ScrollDir_Horz], TRUE ); gtk_container_add( GTK_CONTAINER(m_widget), view ); @@ -4720,6 +4718,9 @@ void wxWindowGTK::SetLayoutDirection(wxLayoutDirection dir) GTKSetLayout(m_widget, dir); + if (GtkRange* range = m_scrollBar[ScrollDir_Horz]) + gtk_range_set_inverted(range, dir == wxLayout_RightToLeft); + if (m_wxwindow && (m_wxwindow != m_widget)) GTKSetLayout(m_wxwindow, dir); }