# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1324934879 0 # Node ID dc41efe8a53feb051680f4a7024c020299f83532 # Parent 7060e258e3831ff3fa7bebf73401ca9254402773 Allow passing NULL to dw_container_change/set_item() APIs on Mac. diff -r 7060e258e383 -r dc41efe8a53f mac/dw.m --- 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];