6ddfa9d
From 8d7e0d045250fa78a7e7d5a25cecee43bb75db3a Mon Sep 17 00:00:00 2001
6ddfa9d
From: Paul Cornett <paulcor@bullseye.com>
6ddfa9d
Date: Mon, 10 Nov 2014 04:13:18 +0000
6ddfa9d
Subject: [PATCH] fix infinite sizing loop with GTK3 when using a non-default
6ddfa9d
 target window, closes #16668
6ddfa9d
6ddfa9d
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@78106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
6ddfa9d
---
6ddfa9d
 docs/changes.txt     | 5 +++++
6ddfa9d
 src/gtk/scrolwin.cpp | 8 ++++++++
6ddfa9d
 2 files changed, 13 insertions(+)
6ddfa9d
6ddfa9d
diff --git a/src/gtk/scrolwin.cpp b/src/gtk/scrolwin.cpp
6ddfa9d
index 9b39077..c500288 100644
6ddfa9d
--- a/src/gtk/scrolwin.cpp
6ddfa9d
+++ b/src/gtk/scrolwin.cpp
6ddfa9d
@@ -81,6 +81,14 @@ void wxScrollHelper::AdjustScrollbars()
6ddfa9d
 {
6ddfa9d
     int vw, vh;
6ddfa9d
     m_targetWindow->GetVirtualSize(&vw, &vh;;
6ddfa9d
+#ifdef __WXGTK3__
6ddfa9d
+    if (m_targetWindow != m_win)
6ddfa9d
+    {
6ddfa9d
+        // setting wxPizza preferred size keeps GtkScrolledWindow from causing
6ddfa9d
+        // an infinite sizing loop
6ddfa9d
+        gtk_widget_set_size_request(m_win->m_wxwindow, vw, vh);
6ddfa9d
+    }
6ddfa9d
+#endif
6ddfa9d
 
6ddfa9d
     int w, h;
6ddfa9d
     const wxSize availSize = GetSizeAvailableForScrollTarget(