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 700069 - gktmm.h does not include gtkmm/accelmap.h
gktmm.h does not include gtkmm/accelmap.h
Status: RESOLVED FIXED
Product: gtkmm
Classification: Bindings
Component: general
2.4
Other Linux
: Normal normal
: ---
Assigned To: gtkmm-forge
gtkmm-forge
Depends on:
Blocks:
 
 
Reported: 2013-05-10 12:43 UTC by Hans de Goede
Modified: 2013-09-18 08:21 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
headertest2.sh (431 bytes, text/plain)
2013-05-14 18:02 UTC, Kjell Ahlstedt
  Details
patch: Add missing includes in gtkmm.h. (1.73 KB, patch)
2013-05-14 18:04 UTC, Kjell Ahlstedt
none Details | Review

Description Hans de Goede 2013-05-10 12:43:30 UTC
Summary says it all, this means that code which wants to use accelmap needs to have the following includes:

#include <gtkmm.h>
#include <gtkmm/accelmap.h>

And in that order to ensure that things like glibmm, etc. are included first and in the proper order (otherwise gcc-4.8 balks)
Comment 1 Kjell Ahlstedt 2013-05-14 18:02:52 UTC
Created attachment 244218 [details]
headertest2.sh

This small script can help in the search for missing files in gdkmm.h and
gtkmm.h. It may not be necessary to include all header files directly. An
included file may include other files.

I've noticed the following missing files in gtkmm 2.24.3. Files in parentheses
shall not be added. plug.h and socket.h might be added within
#ifndef G_OS_WIN32, but I recommend not adding them. It's possible that they
can cause problems on other systems than Win32.

gdkmm.h
  (gdkmm/list.h)
  (gdkmm/wrap_init.h)

gtkmm.h
  gtkmm/accelmap.h
  gtkmm/activatable.h
  (gtkmm/plug.h)
  gtkmm/scalebutton.h
  (gtkmm/selectiondata_private.h)
  (gtkmm/socket.h)
  (gtkmm/treeview_private.h)
  gtkmm/volumebutton.h
  (gtkmm/wrap_init.h)
Comment 2 Kjell Ahlstedt 2013-05-14 18:04:03 UTC
Created attachment 244219 [details] [review]
patch: Add missing includes in gtkmm.h.

Here's a patch for branch gtkmm-2-24.

Bug 697835 also concerns missing include files. If there will ever be another
2.24.x release of gtkmm, both these bugs should be fixed in it, IMO.
Comment 3 Murray Cumming 2013-05-15 07:58:30 UTC
Is this (another) regression in gtkmm 2.24 caused by the latest release (broken because the tarball was built with a newer glibmm). If not, then this is not something that we would do in a stable release.
Comment 4 Kjell Ahlstedt 2013-05-15 09:11:16 UTC
(In reply to comment #3)
> Is this (another) regression in gtkmm 2.24 caused by the latest release
> (broken because the tarball was built with a newer glibmm).

No, it's not. 

> If not, then this is not something that we would do in a stable release.

Then this will have to wait for gtkmm 2.25/2.26, if there will ever be such a
release. I've not yet learnt what can, and what can't, be done in a stable
release.
Comment 5 Murray Cumming 2013-06-06 10:39:16 UTC
Kjell, you fixed this in master, right?
Comment 6 Kjell Ahlstedt 2013-06-06 14:16:17 UTC
Yes, I fixed it in the master branch. Actually I fixed bug 699993, which
complained about missing volumebutton.h in gtkmm 3. At the same time I added
other missing includes, such as accelmap.h.

This bug concerns gtkmm 2. What shall we do with bugs written for gtkmm 2,
which have been fixed in gtkmm 3, but not in gtkmm 2? Shall they be closed as
FIXED? There are at least two more such bugs: Bug 640654 and bug 640948.
Comment 7 Murray Cumming 2013-09-18 08:21:01 UTC
We are not maintaining gtkmm 2 any more, at least not for such minor things as this.