]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/gridctrl.cpp
better guarding when no printing architecture exists (patch from Joel Low)
[wxWidgets.git] / src / generic / gridctrl.cpp
index e8da62f5646114d32e8b766d8fcc3ba95155833d..e5ec58360f8a9c47c0015720c4da75fbd132cbb7 100644 (file)
@@ -65,7 +65,8 @@ wxString wxGridCellDateTimeRenderer::GetString(const wxGrid& grid, int row, int
     {
         void * tempval = table->GetValueAsCustom(row, col,wxGRID_VALUE_DATETIME);
 
-        if (tempval){
+        if (tempval)
+        {
             val = *((wxDateTime *)tempval);
             hasDatetime = true;
             delete (wxDateTime *)tempval;
@@ -76,13 +77,14 @@ wxString wxGridCellDateTimeRenderer::GetString(const wxGrid& grid, int row, int
     if (!hasDatetime )
     {
         text = table->GetValue(row, col);
-        hasDatetime = (val.ParseFormat(text.c_str(), m_iformat, m_dateDef) != (wxChar *)NULL) ;
+        const char * const end = val.ParseFormat(text, m_iformat, m_dateDef);
+        hasDatetime = end && !*end;
     }
 
     if ( hasDatetime )
         text = val.Format(m_oformat, m_tz );
 
-    //If we faild to parse string just show what we where given?
+    // If we failed to parse string just show what we where given?
     return text;
 }
 
@@ -376,7 +378,10 @@ wxGridCellAutoWrapStringRenderer::GetBestSize(wxGrid& grid,
                                               wxDC& dc,
                                               int row, int col)
 {
-    wxCoord x,y, height , width = grid.GetColSize(col) -10;
+    wxCoord x,y, height , width = grid.GetColSize(col) -20;
+    // for width, subtract 20 because ColSize includes a magin of 10 pixels
+    // that we do not want here and because we always start with an increment
+    // by 10 in the loop below.
     int count = 250; //Limit iterations..
 
     wxRect rect(0,0,width,10);