]> git.saurik.com Git - wxWidgets.git/commitdiff
Initialized the controls on the widgets spinbutton page
authorJulian Smart <julian@anthemion.co.uk>
Tue, 14 May 2002 11:28:13 +0000 (11:28 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Tue, 14 May 2002 11:28:13 +0000 (11:28 +0000)
and checked for NULL in one of the event handlers, since
on the Mac the event handler may be called before the
control is properly initialized
Tested for an empty string in Mac's textctrl.cpp
else we get a crash if there is nothing in the text control

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/widgets/spinbtn.cpp
src/mac/carbon/textctrl.cpp
src/mac/textctrl.cpp

index 62b68b09169d4df0235d4a22f8fadcba10e64ada..609870b89a3905b4ef8db2acadab6dadc10eafb9 100644 (file)
@@ -165,6 +165,13 @@ SpinBtnWidgetsPage::SpinBtnWidgetsPage(wxNotebook *notebook,
                                        wxImageList *imaglist)
                   : WidgetsPage(notebook)
 {
+    m_chkVert = NULL;
+    m_chkWrap = NULL;
+    m_spinbtn = NULL;
+    m_spinctrl = NULL;
+    m_textValue = NULL;
+    m_textMin = NULL;
+    m_textMax = NULL;
     imaglist->Add(wxBitmap(spinbtn_xpm));
 
     // init everything
@@ -410,6 +417,8 @@ void SpinBtnWidgetsPage::OnSpinBtnDown(wxCommandEvent& event)
 
 void SpinBtnWidgetsPage::OnSpinCtrl(wxCommandEvent& event)
 {
+    if (!m_spinctrl)
+        return;
     int value = event.GetInt();
 
     wxASSERT_MSG( value == m_spinctrl->GetValue(),
@@ -417,4 +426,4 @@ void SpinBtnWidgetsPage::OnSpinCtrl(wxCommandEvent& event)
 
     wxLogMessage(_T("Spin control value changed, now %d"), value);
 }
-#endif
\ No newline at end of file
+#endif
index f7b6eee18addd6e3747cdda697cadf559f728ef8..9f92ee77bdeb38cfac25353c6eea87598850d111 100644 (file)
@@ -816,7 +816,8 @@ wxString wxTextCtrl::GetValue() const
        else
        {
          actualsize = GetHandleSize( theText ) ;
-         strncpy( wxBuffer , *theText , actualsize ) ;
+          if (actualsize != 0)
+             strncpy( wxBuffer , *theText , actualsize ) ;
          DisposeHandle( theText ) ;
        }
      }
index f7b6eee18addd6e3747cdda697cadf559f728ef8..9f92ee77bdeb38cfac25353c6eea87598850d111 100644 (file)
@@ -816,7 +816,8 @@ wxString wxTextCtrl::GetValue() const
        else
        {
          actualsize = GetHandleSize( theText ) ;
-         strncpy( wxBuffer , *theText , actualsize ) ;
+          if (actualsize != 0)
+             strncpy( wxBuffer , *theText , actualsize ) ;
          DisposeHandle( theText ) ;
        }
      }