summaryrefslogtreecommitdiff
path: root/audio/yoshimi/0001-Fix-for-fltk-1.3.patch
blob: 22568fcbcff1796e64ae48ea2152c80760485221 (plain)
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
From 86532198f0467c6d29090ce7ad95bcb36cd697f6 Mon Sep 17 00:00:00 2001
From: Andrew Deryabin <andrew@audioplugins.org>
Date: Tue, 3 Feb 2015 06:08:57 +0000
Subject: [PATCH 1/2] Fix for fltk < 1.3

---
 src/main.cpp | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/src/main.cpp b/src/main.cpp
index ab995ad..18a36d2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -30,6 +30,8 @@ using namespace std;
 #include <list>
 #include <pthread.h>
 #include <semaphore.h>
+#include <cstdio>
+#include <unistd.h>
 
 #include <FL/Fl.H>
 #include <FL/Fl_Window.H>
@@ -97,10 +99,27 @@ static void *mainGuiThread(void *arg)
 
     map<SynthEngine *, MusicClient *>::iterator it;
     fl_register_images();
+#if (FL_MAJOR_VERSION == 1 && FL_MINOR_VERSION < 3)
+    char *fname = tmpnam(NULL);
+    if(fname)
+    {
+        FILE *f = fopen(fname, "wb");
+        if(f)
+        {
+            fwrite(yoshimi_logo_png, sizeof(yoshimi_logo_png), 1, f);
+            fclose(f);
+        }
+    }
+    Fl_PNG_Image pix(fname);
+    if(fname)
+    unlink(fname);
+#else
+    Fl_PNG_Image pix("yoshimi_logo_png", yoshimi_logo_png, sizeof(yoshimi_logo_png));
+#endif
     Fl_Window winSplash(400, 300, "yoshimi splash screen");
     Fl_Box box(0, 0, 400,300);
     //Fl_Pixmap pix(yoshimi_logo);
-    Fl_PNG_Image pix("yoshimi_logo_png", yoshimi_logo_png, sizeof(yoshimi_logo_png));
+
     box.image(pix);
     Fl_Box boxLb(10, 300-30, 400-20, 30);
     boxLb.box(FL_NO_BOX);
-- 
2.2.2