From b18a07163942aef26058b9d9f910b31b3ab47c26 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Fri, 3 May 2024 09:19:49 -0700
Subject: [PATCH] Removed SDL_DROPEVENT_DATA_SIZE and
SDL_TEXTEDITINGEVENT_TEXT_SIZE
Fixes https://github.com/libsdl-org/SDL/issues/9681
---
docs/README-migration.md | 2 ++
include/SDL3/SDL_events.h | 4 ----
src/video/wayland/SDL_waylandevents.c | 4 +---
3 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/docs/README-migration.md b/docs/README-migration.md
index 226d879c36edc..21a2825d93890 100644
--- a/docs/README-migration.md
+++ b/docs/README-migration.md
@@ -398,7 +398,9 @@ The following symbols have been renamed:
* SDL_USEREVENT => SDL_EVENT_USER
The following symbols have been removed:
+* SDL_DROPEVENT_DATA_SIZE - drop event data is dynamically allocated
* SDL_SYSWMEVENT - you can use SDL_SetWindowsMessageHook() and SDL_SetX11EventHook() to watch and modify system events before SDL sees them.
+* SDL_TEXTEDITINGEVENT_TEXT_SIZE - text editing event data is dynamically allocated
The following structures have been renamed:
* SDL_ControllerAxisEvent => SDL_GamepadAxisEvent
diff --git a/include/SDL3/SDL_events.h b/include/SDL3/SDL_events.h
index f98275e195611..1ef15bb3cabf8 100644
--- a/include/SDL3/SDL_events.h
+++ b/include/SDL3/SDL_events.h
@@ -313,8 +313,6 @@ typedef struct SDL_KeyboardEvent
SDL_Keysym keysym; /**< The key that was pressed or released */
} SDL_KeyboardEvent;
-#define SDL_TEXTEDITINGEVENT_TEXT_SIZE 64
-
/**
* Keyboard text editing event structure (event.edit.*)
*
@@ -664,8 +662,6 @@ typedef struct SDL_TouchFingerEvent
} SDL_TouchFingerEvent;
-#define SDL_DROPEVENT_DATA_SIZE 64
-
/**
* Pressure-sensitive pen touched or stopped touching surface (event.ptip.*)
*
diff --git a/src/video/wayland/SDL_waylandevents.c b/src/video/wayland/SDL_waylandevents.c
index d8badd2aae9ca..b8f23ead40b1c 100644
--- a/src/video/wayland/SDL_waylandevents.c
+++ b/src/video/wayland/SDL_waylandevents.c
@@ -2296,7 +2296,6 @@ static void text_input_preedit_string(void *data,
int32_t cursor_end)
{
SDL_WaylandTextInput *text_input = data;
- char buf[SDL_TEXTEDITINGEVENT_TEXT_SIZE];
text_input->has_preedit = SDL_TRUE;
if (text) {
int cursor_begin_utf8 = cursor_begin >= 0 ? (int)SDL_utf8strnlen(text, cursor_begin) : -1;
@@ -2313,8 +2312,7 @@ static void text_input_preedit_string(void *data,
}
SDL_SendEditingText(text, cursor_begin_utf8, cursor_size_utf8);
} else {
- buf[0] = '\0';
- SDL_SendEditingText(buf, 0, 0);
+ SDL_SendEditingText("", 0, 0);
}
}