1
0
Эх сурвалжийг харах

wayland: Assign output_len in ShowMessageBox

Ethan Lee 4 жил өмнө
parent
commit
54719a9d3d

+ 9 - 2
src/video/wayland/SDL_waylandmessagebox.c

@@ -76,10 +76,17 @@ Wayland_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
         }
     ADD_ARGUMENT(title_len, title)
     ADD_ARGUMENT(message_len, message)
+    #undef ADD_ARGUMENT
     for (i = 0; i < messageboxdata->numbuttons; i += 1) {
-        ADD_ARGUMENT(extrabutton_len, buttons[i].text)
+        command_len += extrabutton_len + 3; /* Two " and a space */
+        if (messageboxdata->buttons[i].text != NULL) {
+            const size_t button_len = SDL_strlen(messageboxdata->buttons[i].text);
+            command_len += button_len;
+            if (button_len > output_len) {
+                output_len = button_len;
+            }
+        }
     }
-    #undef ADD_ARGUMENT
 
     /* Don't forget null terminators! */
     command_len += 1;