]> git.saurik.com Git - wxWidgets.git/commitdiff
Check for NULL pointer
authorMattia Barbon <mbarbon@cpan.org>
Sun, 28 Jul 2002 20:51:02 +0000 (20:51 +0000)
committerMattia Barbon <mbarbon@cpan.org>
Sun, 28 Jul 2002 20:51:02 +0000 (20:51 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/motif/textctrl.cpp

index fe72b88437e85d413dfc78b1c84ada12432144cd..5e602b8a44e68127f3f20f64cc11c188264df4f2 100644 (file)
@@ -393,6 +393,9 @@ void wxTextCtrl::Remove(long from, long to)
 
 void wxTextCtrl::SetSelection(long from, long to)
 {
+    if( to == -1 )
+        to = GetLastPosition();
+
     XmTextSetSelection ((Widget) m_mainWidget, (XmTextPosition) from, (XmTextPosition) to,
                       (Time) 0);
 }
@@ -760,7 +763,9 @@ static void MergeChangesIntoString(wxString& value,
         const char * const passwd = value;
         int len = value.length();
 
-        len += strlen(cbs->text->ptr) + 1;     // + new text (if any) + NUL
+        len += ( cbs->text->ptr ?
+                 strlen(cbs->text->ptr) :
+                 0 ) + 1;                      // + new text (if any) + NUL
         len -= cbs->endPos - cbs->startPos;    // - text from affected region.
 
         char * newS = new char [len];
@@ -774,8 +779,9 @@ static void MergeChangesIntoString(wxString& value,
             *dest++ = *p++;
 
         // Copy the text to be inserted).
-        while (*insert)
-            *dest++ = *insert++;
+        if (insert)
+            while (*insert)
+                *dest++ = *insert++;
 
         // Finally, copy into newS any remaining text from passwd[endPos] on.
         for (p = passwd + cbs->endPos; *p; )