Make hack for button creation in wxOSX more robust.
Don't crash when creating a plain wxButton with wxBU_NOTEXT style. This happened because we skipped creating the peer (real implementation) in this case entirely on the assumption that we were creating a wxBitmapButton, but this is not necessarily the case. So now test that the creation of the peer is really disabled before skipping it (this required adding ShouldCreatePeer() accessor). Merging wxWidgetImpl::CreateButton() and CreateBitmapButton() (and the same thing for toggle buttons) would still be a better solution but while it's trivial to do for Cocoa, it isn't for Carbon. And we can't use a single function for Cocoa but different functions for Carbon, so for now just continue to use this hack. Closes #13622. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72896 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -301,6 +301,11 @@ wxOSXWidgetImpl* wxWindowMac::GetPeer() const
|
||||
return m_peer == kOSXNoWidgetImpl ? NULL : m_peer ;
|
||||
}
|
||||
|
||||
bool wxWindowMac::ShouldCreatePeer() const
|
||||
{
|
||||
return m_peer != kOSXNoWidgetImpl;
|
||||
}
|
||||
|
||||
void wxWindowMac::DontCreatePeer()
|
||||
{
|
||||
m_peer = kOSXNoWidgetImpl;
|
||||
|
Reference in New Issue
Block a user