X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/844adaa47ae9928450affcaaee0209cb36b9c30a..abcb9fcff0a31a62bc06b1090bc2b4bcb10ee3c0:/src/generic/scrlwing.cpp diff --git a/src/generic/scrlwing.cpp b/src/generic/scrlwing.cpp index 4578f66193..94a3d59f5f 100644 --- a/src/generic/scrlwing.cpp +++ b/src/generic/scrlwing.cpp @@ -365,7 +365,11 @@ void wxScrollHelper::SetScrollbars(int pixelsPerUnitX, // The above should arguably be deprecated, this however we still need. - m_targetWindow->SetVirtualSize( w, h ); + // take care not to set 0 virtual size, 0 means that we don't have any + // scrollbars and hence we should use the real size instead of the virtual + // one which is indicated by using wxDefaultCoord + m_targetWindow->SetVirtualSize( w ? w : wxDefaultCoord, + h ? h : wxDefaultCoord); if (do_refresh && !noRefresh) m_targetWindow->Refresh(true, GetScrollRect()); @@ -420,6 +424,9 @@ void wxScrollHelper::SetWindow(wxWindow *win) void wxScrollHelper::DoSetTargetWindow(wxWindow *target) { m_targetWindow = target; +#ifdef __WXMAC__ + target->MacSetClipChildren( true ) ; +#endif // install the event handler which will intercept the events we're // interested in (but only do it for our real window, not the target window @@ -1246,6 +1253,9 @@ bool wxGenericScrolledWindow::Create(wxWindow *parent, const wxString& name) { m_targetWindow = this; +#ifdef __WXMAC__ + MacSetClipChildren( true ) ; +#endif bool ok = wxPanel::Create(parent, id, pos, size, style|wxHSCROLL|wxVSCROLL, name);