From 9cd2e9ec8fc0127393dfce9c0359d500c8c238be Mon Sep 17 00:00:00 2001
From: Edward Rudd <urkle@outoforder.cc>
Date: Tue, 09 Apr 2019 02:22:50 +0000
Subject: [PATCH] updae source to 2.0.9 source
---
source/src/events/SDL_events.c | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/source/src/events/SDL_events.c b/source/src/events/SDL_events.c
index f2e5b62..25e8ac4 100644
--- a/source/src/events/SDL_events.c
+++ b/source/src/events/SDL_events.c
@@ -417,6 +417,10 @@
SDL_EventState(SDL_TEXTINPUT, SDL_DISABLE);
SDL_EventState(SDL_TEXTEDITING, SDL_DISABLE);
SDL_EventState(SDL_SYSWMEVENT, SDL_DISABLE);
+#if 0 /* Leave these events enabled so apps can respond to items being dragged onto them at startup */
+ SDL_EventState(SDL_DROPFILE, SDL_DISABLE);
+ SDL_EventState(SDL_DROPTEXT, SDL_DISABLE);
+#endif
SDL_AtomicSet(&SDL_EventQ.active, 1);
@@ -604,6 +608,10 @@
void
SDL_FlushEvents(Uint32 minType, Uint32 maxType)
{
+ /* !!! FIXME: we need to manually SDL_free() the strings in TEXTINPUT and
+ drag'n'drop events if we're flushing them without passing them to the
+ app, but I don't know if this is the right place to do that. */
+
/* Don't look after we've quit */
if (!SDL_AtomicGet(&SDL_EventQ.active)) {
return;
@@ -648,6 +656,13 @@
/* Check for joystick state change */
if ((!SDL_disabled_events[SDL_JOYAXISMOTION >> 8] || SDL_JoystickEventState(SDL_QUERY))) {
SDL_JoystickUpdate();
+ }
+#endif
+
+#if !SDL_SENSOR_DISABLED
+ /* Check for sensor state change */
+ if (!SDL_disabled_events[SDL_SENSORUPDATE >> 8]) {
+ SDL_SensorUpdate();
}
#endif
@@ -863,6 +878,8 @@
Uint8
SDL_EventState(Uint32 type, int state)
{
+ const SDL_bool isdnd = ((state == SDL_DISABLE) || (state == SDL_ENABLE)) &&
+ ((type == SDL_DROPFILE) || (type == SDL_DROPTEXT));
Uint8 current_state;
Uint8 hi = ((type >> 8) & 0xff);
Uint8 lo = (type & 0xff);
@@ -898,6 +915,12 @@
}
}
+ /* turn off drag'n'drop support if we've disabled the events.
+ This might change some UI details at the OS level. */
+ if (isdnd) {
+ SDL_ToggleDragAndDropSupport();
+ }
+
return current_state;
}
--
Gitblit v1.9.3