// set the initial contents of the textctrl
m_text->SetValue(text);
- m_text->Connect(wxEVT_COMMAND_TEXT_UPDATED,
+ m_text->Connect(m_text->GetId(), wxEVT_COMMAND_TEXT_UPDATED,
wxCommandEventHandler(wxPickerBase::OnTextCtrlUpdate),
NULL, this);
- m_text->Connect(wxEVT_KILL_FOCUS,
+ m_text->Connect(m_text->GetId(), wxEVT_KILL_FOCUS,
wxFocusEventHandler(wxPickerBase::OnTextCtrlKillFocus),
NULL, this);
- m_text->Connect(wxEVT_DESTROY,
+ m_text->Connect(m_text->GetId(), wxEVT_DESTROY,
wxWindowDestroyEventHandler(wxPickerBase::OnTextCtrlDelete),
NULL, this);
m_picker->SetToolTip(tip);
// do a copy as wxWindow will own the pointer we pass
- m_text->SetToolTip(tip ? new wxToolTip(tip->GetTip()) : NULL);
+ if ( m_text )
+ m_text->SetToolTip(tip ? new wxToolTip(tip->GetTip()) : NULL);
}
#endif // wxUSE_TOOLTIPS
// wxPickerBase - event handlers
// ----------------------------------------------------------------------------
-void wxPickerBase::OnTextCtrlKillFocus(wxFocusEvent &)
+void wxPickerBase::OnTextCtrlKillFocus(wxFocusEvent& event)
{
- wxASSERT(m_text);
+ event.Skip();
// don't leave the textctrl empty
- if (m_text->GetValue().empty())
+ if (m_text && m_text->GetValue().empty())
UpdateTextCtrlFromPicker();
}