Hi,
I am currently reviewing the Homebrew formula for fceux and I am transitioning to supporting gtk3 instead of gtk2. However since gtk3 on Mac OS X supports only the quartz backend since 3.16.0, some fixes to the code were necessary, which I am including here. Please consider integrating them in your codebase.
diff --git a/src/drivers/sdl/gui.cpp b/src/drivers/sdl/gui.cpp
index 98d4471..5599b35 100644
--- a/src/drivers/sdl/gui.cpp
+++ b/src/drivers/sdl/gui.cpp
@@ -20,7 +20,6 @@
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
-#include <gdk/gdkx.h>
#ifdef _GTK3
#include <gdk/gdkkeysyms-compat.h>
@@ -1158,7 +1157,7 @@ void openSoundConfig()
NULL);
gtk_window_set_icon_name(GTK_WINDOW(win), "audio-x-generic");
main_hbox = gtk_hbox_new(FALSE, 15);
- vbox = gtk_vbox_new(False, 5);
+ vbox = gtk_vbox_new(FALSE, 5);
// sound enable check
soundChk = gtk_check_button_new_with_label("Enable sound");
diff --git a/src/drivers/sdl/sdl-video.cpp b/src/drivers/sdl/sdl-video.cpp
index 88aacd3..ed9ef3e 100644
--- a/src/drivers/sdl/sdl-video.cpp
+++ b/src/drivers/sdl/sdl-video.cpp
@@ -42,7 +42,6 @@
#ifdef _GTK
#include "gui.h"
-#include <gdk/gdkx.h>
#endif
#include <cstdio>
Hi,
Thanks for bringing this to my attention. Bear with me because I have no OSX hardware/VM to test this on OSX anymore. I applied the second change in the diff in r3129. What is the reasoning for removing the gdkx.h include (I mean I guess it won't compile on OSX; but do you know why?)? I can wrap those includes around OSX specific #ifdef blocks, but I would like to understand why
Thanks for looking over the fceux homebrew formula as well! I would have liked to continue to maintain it but without OSX hardware I really don't have the means to do so.
Hi Do you have any updates to my previous questions
I don't have special snowflake Apple hardware to be able to test any of this and don't like blindly applying patches
Sorry about this, completely forgot about your questions.
Basically the gdx.h header contains calls specific to the Gtk X11 backend, and obviously will not compile when using the quartz backend as the header is missing in this case.
Good thing is that you didn't seem to use and calls from this header, which is why it was safe to remove it without making any further modifications.
Thanks for the update, Tom. I've made a change in r3207 that adds #ifdef blocks around the GDK-specific #includes. The GDK calls actually are used for embedding the SDL window inside of the GTK window, but I don't recall that ever working in OSX - I remember there being a game window and a menu window when I wrote the fceux formula. Let me know if that's not the case.
Could you try r3207 and let me know if that compiles/works for you? Like I said - I can't test this. Thanks again for the response