changeset 2429:89f4aba2e387

iOS: Put back missing tree selection code, since it is apparently also used for containers. I had removed it thinkit it was just for the missing trees.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 05 Apr 2021 14:36:23 +0000
parents 9c5b95d66fc8
children e08968d21d45
files ios/dw.m
diffstat 1 files changed, 19 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ios/dw.m	Mon Apr 05 00:12:20 2021 +0000
+++ b/ios/dw.m	Mon Apr 05 14:36:23 2021 +0000
@@ -487,6 +487,24 @@
 
                 return valuechangedfunc(handler->window, selected, handler->data);;
             }
+            /* Tree class selection event */
+            case 12:
+            {
+                int (* API treeselectfunc)(HWND, HTREEITEM, char *, void *, void *) = (int (* API)(HWND, HTREEITEM, char *, void *, void *))handler->signalfunction;
+                char *text = NULL;
+                void *user = NULL;
+                id item = nil;
+
+                if([object isKindOfClass:[UITableView class]] && event)
+                {
+                    void **params = (void **)event;
+
+                    text = params[0];
+                    user = params[1];
+                }
+
+                return treeselectfunc(handler->window, item, text, handler->data, user);
+            }
             /* Set Focus event */
             case 13:
             {
@@ -6122,7 +6140,7 @@
     DWContainer *cont = handle;
     int lastQueryPoint = [cont lastQueryPoint];
     NSArray *selected = [cont indexPathsForSelectedRows];
-    NSIndexPath *result = [selected objectAtIndex:lastQueryPoint];
+    NSIndexPath *result = lastQueryPoint < [selected count] ?  [selected objectAtIndex:lastQueryPoint] : nil;
     void *retval = NULL;
 
     if(result)