After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 750000 - Can not #include both gegl.h and gegl-plugin.h
Can not #include both gegl.h and gegl-plugin.h
Status: RESOLVED FIXED
Product: GEGL
Classification: Other
Component: general
git master
Other All
: Normal normal
: ---
Assigned To: Default Gegl Component Owner
Default Gegl Component Owner
Depends on:
Blocks:
 
 
Reported: 2015-05-27 22:54 UTC by Debarshi Ray
Modified: 2015-05-28 00:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Make it possible to #include both gegl.h and gegl-plugin.h (1.58 KB, patch)
2015-05-27 22:56 UTC, Debarshi Ray
none Details | Review

Description Debarshi Ray 2015-05-27 22:54:21 UTC
#including gegl.h and gegl-plugin.h in the same file breaks the build because ‘gegl_operation_list_properties’ gets declared twice and -Wredundant-decls is triggered.

This is how it goes:

gegl.h
gegl-operations-util.h
gegl_operation_list_properties

gegl-plugin.h
operation/gegl-operation.h
gegl_operation_list_properties

One might argue that there is no need to have both gegl.h and gegl-plugin.h because the latter #includes the former, but an application shouldn't have to care and our public headers should really be robust against things like these.
Comment 1 Debarshi Ray 2015-05-27 22:56:50 UTC
Created attachment 304115 [details] [review]
Make it possible to #include both gegl.h and gegl-plugin.h
Comment 2 Øyvind Kolås (pippin) 2015-05-28 00:57:47 UTC
commit 5087c229a606b00c255c1f3da5b4e2923c89c071
Author: Debarshi Ray <debarshir@gnome.org>
Date:   Thu May 28 00:55:58 2015 +0200

    Make it possible to #include both gegl.h and gegl-plugin.h
    
    https://bugzilla.gnome.org/show_bug.cgi?id=750000