Don't crash in wxOSX wxTextEntry if the window wasn't created yet.

Assert instead of crashing in wxTextEntry method if the associated window
hadn't been fully created yet.

Closes #13218.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2011-06-15 21:56:18 +00:00
parent 42440b08ea
commit da8eb5f5bb

View File

@ -63,11 +63,15 @@ wxTextEntry::~wxTextEntry()
wxString wxTextEntry::DoGetValue() const
{
wxCHECK_MSG( GetTextPeer(), wxString(), "Must create the control first" );
return GetTextPeer()->GetStringValue() ;
}
void wxTextEntry::GetSelection(long* from, long* to) const
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
GetTextPeer()->GetSelection( from , to ) ;
}
@ -80,18 +84,24 @@ void wxTextEntry::SetMaxLength(unsigned long len)
void wxTextEntry::Copy()
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
if (CanCopy())
GetTextPeer()->Copy() ;
}
void wxTextEntry::Cut()
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
if (CanCut())
GetTextPeer()->Cut() ;
}
void wxTextEntry::Paste()
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
if (CanPaste())
GetTextPeer()->Paste() ;
}
@ -122,16 +132,20 @@ bool wxTextEntry::CanPaste() const
if (!IsEditable())
return false;
wxCHECK_MSG( GetTextPeer(), false, "Must create the control first" );
return GetTextPeer()->CanPaste() ;
}
void wxTextEntry::SetEditable(bool editable)
{
if ( editable != m_editable )
{
m_editable = editable ;
GetTextPeer()->SetEditable( editable ) ;
}
if ( editable == m_editable )
return;
m_editable = editable ;
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
GetTextPeer()->SetEditable( editable ) ;
}
void wxTextEntry::SetInsertionPoint(long pos)
@ -155,11 +169,15 @@ long wxTextEntry::GetInsertionPoint() const
wxTextPos wxTextEntry::GetLastPosition() const
{
wxCHECK_MSG( GetTextPeer(), -1, "Must create the control first" );
return GetTextPeer()->GetLastPosition() ;
}
void wxTextEntry::Remove(long from, long to)
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
{
EventsSuppressor noevents(this);
GetTextPeer()->Remove( from , to );
@ -170,11 +188,15 @@ void wxTextEntry::Remove(long from, long to)
void wxTextEntry::SetSelection(long from, long to)
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
GetTextPeer()->SetSelection( from , to ) ;
}
void wxTextEntry::WriteText(const wxString& str)
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
{
EventsSuppressor noevents(this);
GetTextPeer()->WriteText( str );
@ -185,6 +207,8 @@ void wxTextEntry::WriteText(const wxString& str)
void wxTextEntry::Clear()
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
{
EventsSuppressor noevents(this);
GetTextPeer()->Clear();
@ -204,12 +228,16 @@ bool wxTextEntry::IsEditable() const
void wxTextEntry::Undo()
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
if (CanUndo())
GetTextPeer()->Undo() ;
}
void wxTextEntry::Redo()
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
if (CanRedo())
GetTextPeer()->Redo() ;
}
@ -219,6 +247,8 @@ bool wxTextEntry::CanUndo() const
if ( !IsEditable() )
return false ;
wxCHECK_MSG( GetTextPeer(), false, "Must create the control first" );
return GetTextPeer()->CanUndo() ;
}
@ -227,6 +257,8 @@ bool wxTextEntry::CanRedo() const
if ( !IsEditable() )
return false ;
wxCHECK_MSG( GetTextPeer(), false, "Must create the control first" );
return GetTextPeer()->CanRedo() ;
}