I'm sure this is by accident.
When a tarball is made, or gtkmm is built from the files in the git
repository, many source files in gdk/gdkmm and gtk/gtkmm are built by
the command gmmproc, which is part of glibmm. (It's called gtkmmproc in
a comment in the generated files.) Old versions of gmmproc, up to 2.31.0
(2011-10-25) included glibmm.h in all generated .h files. Newer versions
of gmmproc includes glibmm/ustring.h and sigc++/sigc++.h in the .h files
and glibmm.h in the .cc files. Obviously one of these newer versions of
gmmproc was used when the tarball of gtkmm-2.24.3 was generated. Missing
inclusions of glibmm files in header files are not easily detected when
gtkmm is built, because glibmm.h is included in the .cc files.
I think we need a script that includes each header file, one at a time,
in a small dummy program, and compiles it. Perhaps it could be part of
'make check'. Then the compiler would react if a header file does not
include all files that it depends on.
See also https://bugzilla.gnome.org/show_bug.cgi?id=697835
Kjell
2013-04-11 09:51, Martin von Gagern skrev:
Hi!
I noticed that the gdkmm headers from gtkmm-2.24.3 will in several
places no longer include the headers required to define all its types.
For example, gdkmm/color.h no longer includes glibmm.h, so GType won't
be declared. This breaks existing code in e.g. Inkscape, as described in
https://bugs.gentoo.org/465472. Is there a reason why this change in a
stable branch is desirable or neccessary? Or is this by accident?
Greetings,
Martin von Gagern
_______________________________________________
gtkmm-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gtkmm-list