Blob Blame History Raw
From 8d7e0d045250fa78a7e7d5a25cecee43bb75db3a Mon Sep 17 00:00:00 2001
From: Paul Cornett <paulcor@bullseye.com>
Date: Mon, 10 Nov 2014 04:13:18 +0000
Subject: [PATCH] fix infinite sizing loop with GTK3 when using a non-default
 target window, closes #16668

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@78106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/changes.txt     | 5 +++++
 src/gtk/scrolwin.cpp | 8 ++++++++
 2 files changed, 13 insertions(+)

diff --git a/src/gtk/scrolwin.cpp b/src/gtk/scrolwin.cpp
index 9b39077..c500288 100644
--- a/src/gtk/scrolwin.cpp
+++ b/src/gtk/scrolwin.cpp
@@ -81,6 +81,14 @@ void wxScrollHelper::AdjustScrollbars()
 {
     int vw, vh;
     m_targetWindow->GetVirtualSize(&vw, &vh);
+#ifdef __WXGTK3__
+    if (m_targetWindow != m_win)
+    {
+        // setting wxPizza preferred size keeps GtkScrolledWindow from causing
+        // an infinite sizing loop
+        gtk_widget_set_size_request(m_win->m_wxwindow, vw, vh);
+    }
+#endif
 
     int w, h;
     const wxSize availSize = GetSizeAvailableForScrollTarget(