X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d63312a977127f6b3a3f61db2ed933f50c308aa1..0d045709bcd64c28a155a2a9fb29d95f56a0ff7b:/src/common/wincmn.cpp diff --git a/src/common/wincmn.cpp b/src/common/wincmn.cpp index 8c393888f3..41c8a455bd 100644 --- a/src/common/wincmn.cpp +++ b/src/common/wincmn.cpp @@ -497,7 +497,18 @@ wxSize wxWindowBase::DoGetBestSize() const if ( m_windowSizer ) { - best = GetWindowSizeForVirtualSize(m_windowSizer->GetMinSize()); + // Adjust to window size, since the return value of GetWindowSizeForVirtualSize is + // expressed in window and not client size + wxSize minSize = m_windowSizer->GetMinSize(); + wxSize size(GetSize()); + wxSize clientSize(GetClientSize()); + + wxSize minWindowSize(minSize.x + size.x - clientSize.x, + minSize.y + size.y - clientSize.y); + + best = GetWindowSizeForVirtualSize(minWindowSize); + + return best; } #if wxUSE_CONSTRAINTS else if ( m_constraints ) @@ -2286,7 +2297,7 @@ void wxWindowBase::OnMiddleClick( wxMouseEvent& event ) msg.Printf(_T("wxWidgets Library (%s port)\n") _T("Version %d.%d.%d%s%s, compiled at %s %s\n") _T("Runtime version of toolkit used is %d.%d.%s\n") - _T("Copyright (c) 1995-2006 wxWidgets team"), + _T("Copyright (c) 1995-2007 wxWidgets team"), wxPlatformInfo::Get().GetPortIdName().c_str(), wxMAJOR_VERSION, wxMINOR_VERSION, @@ -2487,6 +2498,10 @@ static void DoNotifyWindowAboutCaptureLost(wxWindow *win) event.SetEventObject(win); if ( !win->GetEventHandler()->ProcessEvent(event) ) { + // windows must handle this event, otherwise the app wouldn't behave + // correctly if it loses capture unexpectedly; see the discussion here: + // http://sourceforge.net/tracker/index.php?func=detail&aid=1153662&group_id=9863&atid=109863 + // http://article.gmane.org/gmane.comp.lib.wxwidgets.devel/82376 wxFAIL_MSG( _T("window that captured the mouse didn't process wxEVT_MOUSE_CAPTURE_LOST") ); } }