[Geany-Devel] [PATCH geany-plugins 02/10] insertnum: Fix GTK+3 support
elextr at xxxxx
Sat Apr 6 20:56:45 UTC 2013
On 7 April 2013 06:31, Matthew Brush <mbrush at 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 :)
> Matthew Brush
> Devel mailing list
> Devel at lists.geany.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Devel