void-packages/srcpkgs/scummvm/patches/Fluidsynth-v2.1-part2.patch

54 lines
1.8 KiB
Diff

From 68758a879e0c8ecc0d40962516d4e808aa4e15e5 Mon Sep 17 00:00:00 2001
From: D G Turner <digitall@scummvm.org>
Date: Tue, 17 Dec 2019 04:21:04 +0000
Subject: [PATCH] AUDIO: Really Fix Compilation Against Fluidsynth v2.1+
The previous fix did not work as the forbidden exception had no effect
since scummsys.h and thus forbidden.h had already been included prior
to the fluidsynth header being included. This also meant that undefining
the exception define after the header would have had no effect anyway.
This new solution was suggest by eriktorbjorn on bug #11278 and should
avoid the need to add an exception which would persist over the entire
source file.
---
audio/softsynth/fluidsynth.cpp | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git audio/softsynth/fluidsynth.cpp audio/softsynth/fluidsynth.cpp
index 33a74a15247..f8c2412492e 100644
--- audio/softsynth/fluidsynth.cpp
+++ audio/softsynth/fluidsynth.cpp
@@ -20,10 +20,16 @@
*
*/
-#include "common/scummsys.h"
+#include "config.h"
#ifdef USE_FLUIDSYNTH
+// Fluidsynth v2.1+ uses printf in one of it's headers,
+// include/fluidsynth/log.h around line 82 so need to include this
+// prior scummsys.h inclusion and thus forbidden.h
+#include <fluidsynth.h>
+
+#include "common/scummsys.h"
#include "common/config-manager.h"
#include "common/error.h"
#include "common/system.h"
@@ -35,13 +41,6 @@
#include "backends/platform/ios7/ios7_common.h"
#endif
-// Fluidsynth v2.1+ uses printf in one of it's headers, so this is
-// needed to allow compilation, as reported by eriktorbjorn on 20191215
-// This is in include/fluidsynth/log.h around line 82
-#define FORBIDDEN_SYMBOL_EXCEPTION_printf
-#include <fluidsynth.h>
-#undef FORBIDDEN_SYMBOL_EXCEPTION_printf
-
class MidiDriver_FluidSynth : public MidiDriver_Emulated {
private:
MidiChannel_MPU401 _midiChannels[16];