X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a2dc658bbaa0f323293eb78dc098e87fb52ebe9c..b53aea81d2e102224b452ef5bf7aee1132f37c6f:/src/common/pickerbase.cpp?ds=inline diff --git a/src/common/pickerbase.cpp b/src/common/pickerbase.cpp index 05ff622e36..cccaabc42e 100644 --- a/src/common/pickerbase.cpp +++ b/src/common/pickerbase.cpp @@ -96,14 +96,14 @@ bool wxPickerBase::CreateBase(wxWindow *parent, // 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); @@ -124,7 +124,9 @@ void wxPickerBase::PostCreation() SetMinSize( m_sizer->GetMinSize() ); } -void wxPickerBase::DoSetToolTip( wxToolTip *tip ) +#if wxUSE_TOOLTIPS + +void wxPickerBase::DoSetToolTip(wxToolTip *tip) { // don't set the tooltip on us but rather on our two child windows // as otherwise it would appear only when the cursor is placed on the @@ -132,21 +134,22 @@ void wxPickerBase::DoSetToolTip( wxToolTip *tip ) 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(); }