On 7 April 2013 06:31, Matthew Brush mbrush@codebrainz.ca wrote:
On 14-04-06 05:04 AM, Dimitar Zhekov wrote:
[...]
Anyway, I was too categorical. The old hack of #defining GTK_COMPAT_H before including geanyplugin.h, and manually writing any compatibility code, will probably work fine with all Geany versions. That'll look a bit ugly, and IMHO, letting the plugins decide whether to include "gtkcompat.h" would be better...
I agree, gtkcompat.h should be optional, to be included explicitly only if a plugin needs/wants it. It does seem wrong to prevent plugins from targeting older versions of Geany from when this header didn't exist or forcing their min GTK+ to 2.24.
If it does then that is indeed a bug in gtkcompat.h since Geany still supports 2.16. IIUC it defines stuff for versions that need it so the compat functions work on both old and new versions. It certainly creates things for < 2.18 and < 2.20.
If we keep gtkcompat.h forced into all plugins maybe we should document the trick of blocking it out by predefining the guard macro like that.
Essentially the plugin API has changed at 1.24, it no longer implicitly includes GTK2, it now implicitly includes GTK2 and GTK3 and the compat functions, and to compile against it plugins do indeed need to change. Such a change was inevitable to be able to move Geany to GTK3 since it isn't compatible with GTK2. gtkcompat.h is always available because Colomban wants plugins to support Geany running on GTK from 2.16 to 3.8.
I think this needs to be clearly described in the plugin docs and more clearly announced to the plugin maintainer community. If they don't want to change their plugin then they can continue to only compile against older versions, and that of course leads to the discussion in the other thread :)
Cheers Lex
Cheers, Matthew Brush
______________________________**_________________ Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-**bin/mailman/listinfo/develhttps://lists.geany.org/cgi-bin/mailman/listinfo/devel