diff --git a/docs/changes.txt b/docs/changes.txt index 6a89aa0139..0f856e8653 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -643,6 +643,7 @@ wxOSX: - Generate wxEVT_TEXT_ENTER for wxTE_PASSWORD controls too (mj_smoker). - Send wxIconizeEvent when a window is iconized/restore (Rob Krakora). - Use correct colour for disabled wxStaticText (sbrowne). +- Fix initial position of controls with layout insets (Tim Kosse). - Fix printing all pages non-interactively (John Roberts). - Fix custom paper support (tijsv). - Return false from wxSound::Create()/IsOk() if the file doesn't exist. diff --git a/src/osx/window_osx.cpp b/src/osx/window_osx.cpp index 6bfe8e2a17..5148658209 100644 --- a/src/osx/window_osx.cpp +++ b/src/osx/window_osx.cpp @@ -457,9 +457,16 @@ void wxWindowMac::MacChildAdded() #endif } -void wxWindowMac::MacPostControlCreate(const wxPoint& WXUNUSED(pos), +void wxWindowMac::MacPostControlCreate(const wxPoint& pos, const wxSize& WXUNUSED(size)) { + // Some controls may have a nonzero layout inset, + // so we may need to adjust control position. + if ( pos.IsFullySpecified() && GetPosition() != pos ) + { + SetPosition(pos); + } + // todo remove if refactoring works correctly #if 0 wxASSERT_MSG( GetPeer() != NULL && GetPeer()->IsOk() , wxT("No valid mac control") ) ;