GNOME Bugzilla – Bug 700069
gktmm.h does not include gtkmm/accelmap.h
Last modified: 2013-09-18 08:21:01 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)
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)
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.
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.
(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.
Kjell, you fixed this in master, right?
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.
We are not maintaining gtkmm 2 any more, at least not for such minor things as this.