|
From: Ethan A M. <sf...@us...> - 2014-06-20 22:24:09
|
On Friday, 20 June, 2014 23:58:28 Mojca Miklavec wrote: > > Before we even start discussing any further ... I just realized that > the whole discussion is moot. Gnuplot doesn't currently support GTK 3 > at all. I tried to compile it and gnuplot uses a bunch of functions > that no longer exist in GTK 3. > > The compile errors come from the code that explicitly says: > > /* FIXME : this code should be deleted, and the feature removed or > handled differently, > * because it is highly platform-dependant, is not reliable because > * of a lot of factors (WINDOWID not set, multiple tabs in > gnome-terminal, mechanisms > * to prevent focus stealing) and is inconsistent with global bindings > mechanism ) */ Yeah, I already pointed that out. But the code in question is only used for the "raise console" and "raise plot window" functionality, which various people are reporting as being broken anyhow. It wouldn't be a big deal to disable the code on systems where it isn't working anyhow. > ../../src/wxterminal/wxt_gui.cpp:1417:20: error: use of undeclared > identifier 'gdk_window_foreign_new' > gdk_window_raise(gdk_window_foreign_new(windowid)); > ^ > > > It looks like function being used in there explicitly depend on > gdk/gdkx.h from GTK 2 (no longer present in GTK 3), so they explicitly > depend on X11(?) or something like that. As I understand it these functions used to be public but are now private. For wx3/gtk3 you need to call some wrapper function instead. Not a big deal, and can be deferred until the rest of it is working. > It's also not wxWidgets' fault if gnuplot source code uses GTK > functions that depend on X11. Huh? The X11 problem comes in when you _don't_ configure X11 into gnuplot. wxWidgets tries to use it anyway and complains that gnuplot didn't initialize properly. It is exactly wxWidgets fault. We added the XInitThreads() call to gnuplot because wxWidgets insisted. Otherwise we wouldn't call this at all. > (Disclaimer: I don't know much about GTK and X11. I might be wrong > about diagnoses, but it looks like someone should definitely clean up > the code saying "FIXME".) By "clean up" you mean "delete or remove", as the FIXME says? I think Petr would be unhappy, since apparently it does work in KDE3 and OS/2. It's the newer systems that are having problems. Ethan |