changeset 1502:dc41efe8a53f

Allow passing NULL to dw_container_change/set_item() APIs on Mac.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 26 Dec 2011 21:27:59 +0000
parents 7060e258e383
children 79c99c612725
files mac/dw.m
diffstat 1 files changed, 45 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- a/mac/dw.m	Mon Dec 26 21:20:54 2011 +0000
+++ b/mac/dw.m	Mon Dec 26 21:27:59 2011 +0000
@@ -5839,60 +5839,54 @@
         lastadd = [cont lastAddPoint];
     }
 
-    if(!data)
-    {
-        DW_MUTEX_UNLOCK;
-        return;
-    }
-    if(type & DW_CFA_BITMAPORICON)
-    {
-        object = *((NSImage **)data);
-    }
-    else if(type & DW_CFA_STRING)
-    {
-        char *str = *((char **)data);
-        object = [ NSString stringWithUTF8String:str ];
-    }
-    else
-    {
-        char textbuffer[101] = {0};
-
-        if(type & DW_CFA_ULONG)
-        {
-            ULONG tmp = *((ULONG *)data);
-
-            snprintf(textbuffer, 100, "%lu", tmp);
-        }
-        else if(type & DW_CFA_DATE)
-        {
-            struct tm curtm;
-            CDATE cdate = *((CDATE *)data);
-
-            memset( &curtm, 0, sizeof(curtm) );
-            curtm.tm_mday = cdate.day;
-            curtm.tm_mon = cdate.month - 1;
-            curtm.tm_year = cdate.year - 1900;
-
-            strftime(textbuffer, 100, "%x", &curtm);
-        }
-        else if(type & DW_CFA_TIME)
-        {
-            struct tm curtm;
-            CTIME ctime = *((CTIME *)data);
-
-            memset( &curtm, 0, sizeof(curtm) );
-            curtm.tm_hour = ctime.hours;
-            curtm.tm_min = ctime.minutes;
-            curtm.tm_sec = ctime.seconds;
-
-            strftime(textbuffer, 100, "%X", &curtm);
+    if(data)
+    {
+        if(type & DW_CFA_BITMAPORICON)
+        {
+            object = *((NSImage **)data);
+        }
+        else if(type & DW_CFA_STRING)
+        {
+            char *str = *((char **)data);
+            object = [ NSString stringWithUTF8String:str ];
         }
         else
         {
-            DW_MUTEX_UNLOCK;
-            return;
-        }
-        object = [ NSString stringWithUTF8String:textbuffer ];
+            char textbuffer[101] = {0};
+            
+            if(type & DW_CFA_ULONG)
+            {
+                ULONG tmp = *((ULONG *)data);
+                
+                snprintf(textbuffer, 100, "%lu", tmp);
+            }
+            else if(type & DW_CFA_DATE)
+            {
+                struct tm curtm;
+                CDATE cdate = *((CDATE *)data);
+                
+                memset( &curtm, 0, sizeof(curtm) );
+                curtm.tm_mday = cdate.day;
+                curtm.tm_mon = cdate.month - 1;
+                curtm.tm_year = cdate.year - 1900;
+                
+                strftime(textbuffer, 100, "%x", &curtm);
+            }
+            else if(type & DW_CFA_TIME)
+            {
+                struct tm curtm;
+                CTIME ctime = *((CTIME *)data);
+                
+                memset( &curtm, 0, sizeof(curtm) );
+                curtm.tm_hour = ctime.hours;
+                curtm.tm_min = ctime.minutes;
+                curtm.tm_sec = ctime.seconds;
+                
+                strftime(textbuffer, 100, "%X", &curtm);
+            }
+            if(textbuffer[0])
+                object = [ NSString stringWithUTF8String:textbuffer ];
+        }
     }
 
     [cont editCell:object at:(row+lastadd) and:column];