1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
Taken from https://github.com/SuperTux/supertux/commit/a75317ef0a94847d9b6a7833b9c6652ef29edde3.
This patch fixes building with gcc versions earlier than 6.
From a75317ef0a94847d9b6a7833b9c6652ef29edde3 Mon Sep 17 00:00:00 2001
From: Ingo Ruhnke <grumbel@gmail.com>
Date: Fri, 28 Dec 2018 22:45:35 +0100
Subject: [PATCH] Add workaround for backwards compatibilty with gcc5
Fixes #1014
---
src/video/gl/gl_painter.cpp | 11 ++++++-----
src/video/ttf_surface.cpp | 16 +++++++++-------
2 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/src/video/gl/gl_painter.cpp b/src/video/gl/gl_painter.cpp
index 5e0d1e7b1e..32fb7a09b6 100644
--- a/src/video/gl/gl_painter.cpp
+++ b/src/video/gl/gl_painter.cpp
@@ -37,12 +37,13 @@ namespace {
inline std::tuple<GLenum, GLenum> blend_factor(Blend blend)
{
+ using B = std::tuple<GLenum, GLenum>;
switch(blend) {
- case Blend::NONE: return {GL_ONE, GL_ZERO};
- case Blend::BLEND: return {GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA};
- case Blend::ADD: return {GL_SRC_ALPHA, GL_ONE};
- case Blend::MOD: return {GL_DST_COLOR, GL_ZERO};
- default: return {GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA};
+ case Blend::NONE: return B(GL_ONE, GL_ZERO);
+ case Blend::BLEND: return B(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ case Blend::ADD: return B(GL_SRC_ALPHA, GL_ONE);
+ case Blend::MOD: return B(GL_DST_COLOR, GL_ZERO);
+ default: return B(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
}
}
diff --git a/src/video/ttf_surface.cpp b/src/video/ttf_surface.cpp
index 7c9505004f..b41d67b2c8 100644
--- a/src/video/ttf_surface.cpp
+++ b/src/video/ttf_surface.cpp
@@ -55,12 +55,13 @@ TTFSurface::create(const TTFFont& font, const std::string& text)
SDL_SetSurfaceColorMod(text_surface.get(), 0, 0, 0);
SDL_SetSurfaceBlendMode(text_surface.get(), SDL_BLENDMODE_BLEND);
+ using P = std::tuple<int, int>;
const std::initializer_list<std::tuple<int, int> > positions[] = {
{},
- {{0, 0}},
- {{-1, 0}, {1, 0}, {0, -1}, {0, 1}},
- {{-2, 0}, {2, 0}, {0, -2}, {0, 2},
- {-1, -1}, {1, -1}, {-1, 1}, {1, 1}}
+ {P{0, 0}},
+ {P{-1, 0}, P{1, 0}, P{0, -1}, P{0, 1}},
+ {P{-2, 0}, P{2, 0}, P{0, -2}, P{0, 2},
+ P{-1, -1}, P{1, -1}, P{-1, 1}, P{1, 1}}
};
int shadow_size = std::min(2, font.get_shadow_size());
@@ -77,11 +78,12 @@ TTFSurface::create(const TTFFont& font, const std::string& text)
SDL_SetSurfaceColorMod(text_surface.get(), 0, 0, 0);
SDL_SetSurfaceBlendMode(text_surface.get(), SDL_BLENDMODE_BLEND);
+ using P = std::tuple<int, int>;
const std::initializer_list<std::tuple<int, int> > positions[] = {
{},
- {{-1, 0}, {1, 0}, {0, -1}, {0, 1}},
- {{-2, 0}, {2, 0}, {0, -2}, {0, 2},
- {-1, -1}, {1, -1}, {-1, 1}, {1, 1}}
+ {P{-1, 0}, P{1, 0}, P{0, -1}, P{0, 1}},
+ {P{-2, 0}, P{2, 0}, P{0, -2}, P{0, 2},
+ P{-1, -1}, P{1, -1}, P{-1, 1}, P{1, 1}}
};
int border = std::min(2, font.get_border());
|