changeset 2589:e879afecf3ab

iOS: Fix dw_window_g/set_text() on buttons, can't use the label directly.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 24 May 2021 23:53:04 +0000
parents 8253e17b20ad
children 8352c38bc20b
files ios/dw.m
diffstat 1 files changed, 15 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ios/dw.m	Mon May 24 23:29:15 2021 +0000
+++ b/ios/dw.m	Mon May 24 23:53:04 2021 +0000
@@ -8511,9 +8511,16 @@
 {
     DW_FUNCTION_INIT;
     id object = _dw_text_handle(handle);
+    id control = handle;
     char *retval = NULL;
 
-    if([object isKindOfClass:[UILabel class]] || [object isKindOfClass:[UITextField class]])
+    if([control isKindOfClass:[UIButton class]])
+    {
+        NSString *nsstr = [control titleForState:UIControlStateNormal];
+
+        retval = strdup([nsstr UTF8String]);
+    }
+    else if([object isKindOfClass:[UILabel class]] || [object isKindOfClass:[UITextField class]])
     {
         NSString *nsstr = [object text];
 
@@ -8545,9 +8552,15 @@
 {
     DW_FUNCTION_INIT;
     id object = _dw_text_handle(handle);
+    id control = handle;
     Item *item = NULL;
 
-    if([object isKindOfClass:[UILabel class]] || [object isKindOfClass:[UITextField class]])
+    if([control isKindOfClass:[UIButton class]])
+    {
+        [control setTitle:[NSString stringWithUTF8String:text] forState:UIControlStateNormal];
+        item = _dw_box_item(handle);
+    }
+    else if([object isKindOfClass:[UILabel class]] || [object isKindOfClass:[UITextField class]])
     {
         [object setText:[NSString stringWithUTF8String:text]];
         item = _dw_box_item(handle);