X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c4d9fc3947e52bc49d360ee5b970d9e2622c2c7c..689f42f4b47a2c0b1ce6ee31f474498fa291366c:/src/mac/carbon/textctrl.cpp diff --git a/src/mac/carbon/textctrl.cpp b/src/mac/carbon/textctrl.cpp index 8657a5c792..687f527adb 100644 --- a/src/mac/carbon/textctrl.cpp +++ b/src/mac/carbon/textctrl.cpp @@ -13,12 +13,21 @@ #if wxUSE_TEXTCTRL +#include "wx/textctrl.h" + +#ifndef WX_PRECOMP + #include "wx/intl.h" + #include "wx/app.h" + #include "wx/utils.h" + #include "wx/dc.h" + #include "wx/button.h" +#endif #ifdef __DARWIN__ - #include - #include + #include + #include #else - #include + #include #endif #include "wx/msgdlg.h" @@ -31,22 +40,16 @@ #endif #endif -#include "wx/app.h" -#include "wx/dc.h" -#include "wx/button.h" #include "wx/toplevel.h" -#include "wx/textctrl.h" #include "wx/settings.h" #include "wx/filefn.h" -#include "wx/utils.h" #include "wx/sysopt.h" #include "wx/menu.h" -#include "wx/intl.h" #if defined(__BORLANDC__) && !defined(__WIN32__) - #include + #include #elif !defined(__MWERKS__) && !defined(__GNUWIN32) && !defined(__DARWIN__) - #include + #include #endif #ifndef __DARWIN__ @@ -435,6 +438,7 @@ void wxTextCtrl::Init() m_maxLength = 0; m_privateContextMenu = NULL; + m_triggerOnSetValue = true ; } wxTextCtrl::~wxTextCtrl() @@ -545,10 +549,13 @@ void wxTextCtrl::SetValue(const wxString& str) GetPeer()->SetStringValue( str ) ; - wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, m_windowId ); - event.SetString( GetValue() ); - event.SetEventObject( this ); - GetEventHandler()->ProcessEvent( event ); + if ( m_triggerOnSetValue ) + { + wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, m_windowId ); + event.SetString( GetValue() ); + event.SetEventObject( this ); + GetEventHandler()->ProcessEvent( event ); + } } void wxTextCtrl::SetMaxLength(unsigned long len) @@ -878,8 +885,8 @@ void wxTextCtrl::OnChar(wxKeyEvent& event) if ( key == 'a' && event.MetaDown() ) { - SelectAll() ; - + SelectAll() ; + return ; } @@ -1570,9 +1577,11 @@ wxString wxMacMLTEControl::GetStringValue() const (((UniChar*)*theText)[actualSize]) = 0 ; wxMBConvUTF16 converter ; size_t noChars = converter.MB2WC( NULL , (const char*)*theText , 0 ) ; + wxASSERT_MSG( noChars != wxCONV_FAILED, _T("Unable to count the number of characters in this string!") ); ptr = new wxChar[noChars + 1] ; - noChars = converter.MB2WC( ptr , (const char*)*theText , noChars ) ; + noChars = converter.MB2WC( ptr , (const char*)*theText , noChars + 1 ) ; + wxASSERT_MSG( noChars != wxCONV_FAILED, _T("Conversion of string failed!") ); ptr[noChars] = 0 ; HUnlock( theText ) ; #endif