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 536767 - gtksignal.h includes gtk.h
gtksignal.h includes gtk.h
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
2.13.x
Other All
: Normal minor
: 3.0
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2008-06-05 09:28 UTC by Florian Scandella
Modified: 2013-07-30 02:35 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24


Attachments
Limit includes in gtksignal.h (343 bytes, patch)
2008-06-14 22:18 UTC, Joe Marcus Clarke
none Details | Review

Description Florian Scandella 2008-06-05 09:28:29 UTC
Please describe the problem:
gtksignal.h includes gtk.h, witch includes all gtk header files. this causes problems with some header files. i noticed this when compiling evolution 2.22 with gtk+-2.23.2

eg:
test.c:
#include <gtk/gtkclist.h>



Steps to reproduce:
1. #include <gtk/gtkclist.h>


Actual results:
n file included from /usr/include/gtk-2.0/gtk/gtk.h:221,
                 from /usr/include/gtk-2.0/gtk/gtksignal.h:32,
                 from /usr/include/gtk-2.0/gtk/gtkclist.h:34,
                 from test.c:2:
/usr/include/gtk-2.0/gtk/gtkctree.h:110: error: expected specifier-qualifier-list before ‘GtkCList’
/usr/include/gtk-2.0/gtk/gtkctree.h:127: error: expected specifier-qualifier-list before ‘GtkCListClass’
/usr/include/gtk-2.0/gtk/gtkctree.h:149: error: expected specifier-qualifier-list before ‘GtkCListRow’
/usr/include/gtk-2.0/gtk/gtkctree.h:342: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘gtk_ctree_node_get_cell_type’


Expected results:


Does this happen every time?


Other information:
changing
#include <gtk/gtk.h>
to
#include <gtk/gtkobject.h>
in gtksignal.h fixes the problem
Comment 1 Joe Marcus Clarke 2008-06-14 22:17:01 UTC
Confirmed.  I've been using the attached patch on FreeBSD.  The other port known to break with the gtk+-2.13.3 gtksignal.h is inkscape.
Comment 2 Joe Marcus Clarke 2008-06-14 22:18:03 UTC
Created attachment 112754 [details] [review]
Limit includes in gtksignal.h
Comment 3 Cesare Tirabassi 2008-07-17 08:45:16 UTC
Confirmed to break clawsmail too.
See https://bugs.launchpad.net/ubuntu/+source/gtk+2.0/+bug/247909.
Commit 20221 should be reverted.
Comment 4 Andreas Köhler 2008-09-14 16:58:32 UTC
Confirming based on the number of confirmations :-)
Still happens with Gtk+ 2.14.1.
Comment 5 André Klapper 2009-11-08 13:50:24 UTC
ping...
Comment 6 Matthias Clasen 2010-08-10 01:58:33 UTC
gtksignal.h is gone in gtk3
Comment 7 Rafał Mużyło 2011-06-16 02:21:24 UTC
(In reply to comment #6)
> gtksignal.h is gone in gtk3

That doesn't really help for gtk+ 2.24 branch.

Perhaps the patch could still be applied here, instead of by distributions.
Comment 8 Javier Jardón (IRC: jjardon) 2011-06-16 12:24:51 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > gtksignal.h is gone in gtk3
> 
> That doesn't really help for gtk+ 2.24 branch.

Can you confirm this with stable GTK+ 2.24? What is the app that is failing for you?
Comment 9 Rafał Mużyło 2011-06-16 18:00:58 UTC
Well, my comment was posted after I've done the test from the initial report on 2.24.5.
Comment 10 Pacho Ramos 2011-10-18 11:30:21 UTC
Please reopen then as this still affects to 2.24 Thanks
Comment 11 Emmanuele Bassi (:ebassi) 2013-07-12 17:04:52 UTC
thanks for the patch!

could you please reformat the patch so that it's the output of `git format-patch`? this way we can properly credit you, and it makes it easier for us to apply it.

thanks again!
Comment 12 Matthias Clasen 2013-07-30 02:35:26 UTC
Pushed to 2.24