gnu: freedink-engine: Fix SDL hints.

* gnu/packages/games.scm: freedink: [patches]: Add fix.
* gnu/packages/patches/freedink-engine-fix-sdl-hints.patch: New file.
* gnu/local.mk: Add it.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
This commit is contained in:
Jesse Gibbons 2020-02-10 10:18:57 -07:00 committed by Nicolas Goaziou
parent e7e69e56f5
commit 8677e8699a
No known key found for this signature in database
GPG Key ID: DA00B4F048E92F2D
3 changed files with 35 additions and 0 deletions

View File

@ -960,6 +960,7 @@ dist_patch_DATA = \
%D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \
%D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \
%D%/packages/patches/fontconfig-hurd-path-max.patch \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
%D%/packages/patches/freeimage-unbundle.patch \
%D%/packages/patches/fuse-overlapping-headers.patch \
%D%/packages/patches/ganeti-deterministic-manual.patch \

View File

@ -2732,6 +2732,7 @@ interface or via an external visual interface such as GNU XBoard.")
(method url-fetch)
(uri (string-append "mirror://gnu/freedink/freedink-" version
".tar.gz"))
(patches (search-patches "freedink-engine-fix-sdl-hints.patch"))
(sha256
(base32
"00hhk1bjdrc1np2qz44sa5n1mb62qzwxbvsnws3vpms6iyn3a2sy"))))

View File

@ -0,0 +1,33 @@
From 85f8dda6de28ef86e58f26c8aa863a26524f6ce0 Mon Sep 17 00:00:00 2001
From: Jesse Gibbons <jgibbons2357+freedink@gmail.com>
Date: Sun, 9 Feb 2020 21:46:26 -0700
Subject: [PATCH] Fix mouse/touch event hints for SDL 2.0.10.
This fixes the bug reported at
<https://lists.gnu.org/archive/html/bug-freedink/2019-08/msg00000.html>.
It should remain backwards compatible with releases of SDL prior to 2.0.10.
---
src/input.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/input.cpp b/src/input.cpp
index b5ae21e..153d349 100644
--- a/src/input.cpp
+++ b/src/input.cpp
@@ -91,7 +91,12 @@ void input_init(void)
// TODO: don't attempt to simulate mouse events from touch events -
// fake mouse events often are de-centered
+#ifdef SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH
SDL_SetHint(SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH, "0");
+#elif defined SDL_HINT_MOUSE_TOUCH_EVENTS && defined SDL_HINT_TOUCH_MOUSE_EVENTS
+ SDL_SetHint(SDL_HINT_MOUSE_TOUCH_EVENTS, "0");
+ SDL_SetHint(SDL_HINT_TOUCH_MOUSE_EVENTS, "0");
+#endif
/* Touch devices */
{
--
2.25.0