Mercurial > dwindows
comparison mac/dw.m @ 713:2c8fc0fd8c11
Don't send tree events with no selected item. Also don't strdup a NULL string.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sat, 12 Mar 2011 14:56:44 +0000 |
parents | 01107d8e033e |
children | cf6246f86c04 |
comparison
equal
deleted
inserted
replaced
712:01107d8e033e | 713:2c8fc0fd8c11 |
---|---|
256 user = [item pointerAtIndex:3]; | 256 user = [item pointerAtIndex:3]; |
257 if(user) | 257 if(user) |
258 { | 258 { |
259 text = strdup([nstr UTF8String]); | 259 text = strdup([nstr UTF8String]); |
260 } | 260 } |
261 else | |
262 { | |
263 text = NULL; | |
264 } | |
261 int result = treeselectfunc(handler->window, item, text, handler->data, user); | 265 int result = treeselectfunc(handler->window, item, text, handler->data, user); |
262 free(text); | 266 free(text); |
263 return result; | 267 return result; |
264 } | 268 } |
265 | 269 |
1175 -(void)treeSelectionChanged:(id)sender | 1179 -(void)treeSelectionChanged:(id)sender |
1176 { | 1180 { |
1177 /* Handler for tree class */ | 1181 /* Handler for tree class */ |
1178 id item = [self itemAtRow:[self selectedRow]]; | 1182 id item = [self itemAtRow:[self selectedRow]]; |
1179 | 1183 |
1180 _event_handler(self, (void *)item, 12); | 1184 if(item) |
1185 { | |
1186 _event_handler(self, (void *)item, 12); | |
1187 } | |
1181 } | 1188 } |
1182 -(NSMenu *)menuForEvent:(NSEvent *)event | 1189 -(NSMenu *)menuForEvent:(NSEvent *)event |
1183 { | 1190 { |
1184 int row; | 1191 int row; |
1185 NSPoint where = [self convertPoint:[event locationInWindow] fromView:nil]; | 1192 NSPoint where = [self convertPoint:[event locationInWindow] fromView:nil]; |