Fix initial position of controls with layout insets in wxOSX.
For such controls (e.g. wxButton, wxChoice, wxGauge), their initial position
was different from the one specified when creating them, even though calling
SetPosition() later did position them at exactly the position passed as
argument.
Closes #16780.
(this is a backport of a4681572cc
from master)
This commit is contained in:
@@ -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.
|
||||
|
@@ -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") ) ;
|
||||
|
Reference in New Issue
Block a user