Re: auto-generated file 'gtkmm/widget.h' (widget.hg)



2013-08-14 10:20, John Emmas skrev:
On 13/08/2013 19:07, Kjell Ahlstedt wrote:

_WRAP_METHOD
#ifndef has deliberately been moved. New versions of gmmproc puts both comment and function declaration inside #ifndef/#endif. That's the right thing to do. If xxx_DISABLE_DEPRECATED is defined when the module is built (--disable-deprecated-api) Doxygen shall not include the description of deprecated functions in its generated documentation.

I understand.  Yes, that seems like a sensible approach.


_WRAP_SIGNAL
The "deprecated" parameter was previously ignored, but new versions of gmmproc generates #ifndef xxx_DISABLE_DEPRECATED directives. Unfortunately the #ifndef directive is written in the middle of comment, if there is a manually added comment in the .hg. And another bug, introduced at the same time: The "ifdef GTKMM_ATKMM_ENABLED" parameter in _WRAP_SIGNAL is ignored. I'll try to fix both these bugs.

Many thanks, Kjell.  It'll probably be an easy fix for you to test but if you need any help with the testing, I'm happy to volunteer.  With regard to the ignored parameter (#ifdef GTKMM_ATKMM_ENABLED), please be aware that it's not only widget.hg which suffers from the problem.  The generated 'widget.cc' also had at least three occurrences where #ifdef GTKMM_ATKMM_ENABLED needed to be present (but it either wasn't present - or it said GTKMM_DISABLE_DEPRECATED instead of GTKMM_ATKMM_ENABLED).  These were at lines 3162, 7555 and 8485.

As far as I know though, widget.cc and widget.h are the only problematic files.  The rest of gtkmm seems to be okay.  Hope that helps.

John

I have fixed the bugs in _WRAP_SIGNAL, git commit https://git.gnome.org/browse/glibmm/commit/?id=118f894606a1016a15f48a1659ebb29a95f4cdf5.
That version of gmmproc inserts both #ifdef GTKMM_ATKMM_ENABLED and #ifndef GTKMM_DISABLE_DEPRECATED at the right locations in both widget.h and widget.cc.
Unfortunately it's still not easy to build gtkmm-2.24.4 with that newest version of glibmm/gmmproc. Many of the .hg files in gtkmm-2.24.4 are not compatible with new versions of gmmproc, because of the change in generated #include directives in the generated .h files (from #include <glibmm.h> to #include <glibmm/ustring.h> and #include <sigc++/sigc++.h>). That was a deliberate change. As far as I know there are no plans to undo it. The .hg files in gtkmm-3 have been adapted to the change in gmmproc.

Kjell





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]