comparison mac/dw.m @ 2466:cfb14192753c

Mac: Fill in the row data in the second data pointer slot instead of leaving it NULL. Not sure why I didn't do this earlier.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 14 Apr 2021 22:38:41 +0000
parents 79732eb2deef
children fa976a5bc7bd
comparison
equal deleted inserted replaced
2465:79732eb2deef 2466:cfb14192753c
700 } 700 }
701 /* Container context menu event */ 701 /* Container context menu event */
702 case 10: 702 case 10:
703 { 703 {
704 int (* API containercontextfunc)(HWND, char *, int, int, void *, void *) = (int (* API)(HWND, char *, int, int, void *, void *))handler->signalfunction; 704 int (* API containercontextfunc)(HWND, char *, int, int, void *, void *) = (int (* API)(HWND, char *, int, int, void *, void *))handler->signalfunction;
705 char *text = (char *)event; 705 char *text = NULL;
706 void *user = NULL; 706 void *user = NULL;
707 LONG x,y; 707 LONG x,y;
708 708
709 /* Fill in both items for the tree */ 709 /* Fill in both items for the tree */
710 if([object isKindOfClass:[NSOutlineView class]]) 710 if([object isKindOfClass:[NSOutlineView class]])
715 NSValue *value = [item objectAtIndex:2]; 715 NSValue *value = [item objectAtIndex:2];
716 if(value && [value isKindOfClass:[NSValue class]]) 716 if(value && [value isKindOfClass:[NSValue class]])
717 { 717 {
718 user = [value pointerValue]; 718 user = [value pointerValue];
719 } 719 }
720 }
721 else
722 {
723 void **params = (void **)event;
724
725 text = params[0];
726 user = params[1];
720 } 727 }
721 728
722 dw_pointer_query_pos(&x, &y); 729 dw_pointer_query_pos(&x, &y);
723 730
724 return containercontextfunc(handler->window, text, (int)x, (int)y, handler->data, user); 731 return containercontextfunc(handler->window, text, (int)x, (int)y, handler->data, user);
3042 /* Handler for listbox class */ 3049 /* Handler for listbox class */
3043 _dw_event_handler(self, DW_INT_TO_POINTER((int)[self selectedRow]), 11); 3050 _dw_event_handler(self, DW_INT_TO_POINTER((int)[self selectedRow]), 11);
3044 } 3051 }
3045 -(NSMenu *)menuForEvent:(NSEvent *)event 3052 -(NSMenu *)menuForEvent:(NSEvent *)event
3046 { 3053 {
3047 int row;
3048 NSPoint where = [self convertPoint:[event locationInWindow] fromView:nil]; 3054 NSPoint where = [self convertPoint:[event locationInWindow] fromView:nil];
3049 row = (int)[self rowAtPoint:where]; 3055 int row = (int)[self rowAtPoint:where];
3050 _dw_event_handler(self, (NSEvent *)[self getRowTitle:row], 10); 3056 void *params[2];
3057
3058 params[0] = [self getRowTitle:row];
3059 params[1] = [self getRowData:row];
3060
3061 _dw_event_handler(self, (NSEvent *)params, 10);
3051 return nil; 3062 return nil;
3052 } 3063 }
3053 -(void)keyDown:(NSEvent *)theEvent 3064 -(void)keyDown:(NSEvent *)theEvent
3054 { 3065 {
3055 unichar vk = [[theEvent charactersIgnoringModifiers] characterAtIndex:0]; 3066 unichar vk = [[theEvent charactersIgnoringModifiers] characterAtIndex:0];