diff --git a/common/dialog_shim.cpp b/common/dialog_shim.cpp index 2980c6c3df..45d149250d 100644 --- a/common/dialog_shim.cpp +++ b/common/dialog_shim.cpp @@ -288,6 +288,14 @@ bool DIALOG_SHIM::Show( bool show ) std::max( wxDialog::GetSize().y, savedDialogRect.GetSize().y ), 0 ); } +#ifdef __WXMAC__ + if( m_parent != nullptr ) + { + if( wxDisplay::GetFromPoint( m_parent->GetPosition() ) + != wxDisplay::GetFromPoint( savedDialogRect.GetPosition() ) ) + Centre(); + } +#endif } else if( m_initialSize != wxDefaultSize ) SetSize( m_initialSize );