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



It depends on which version of glibmm (and thus gmmproc) you use. The same bug is mentioned in https://bugzilla.gnome.org/show_bug.cgi?id=697835#c16 (glibmm version unknown). https://bugzilla.gnome.org/show_bug.cgi?id=697835#c21 shows a different result with glibmm 2.32.0. The gtkmm 2.24.4 tarball shows a third result (glibmm version unknown). All of https://bugzilla.gnome.org/show_bug.cgi?id=697835 discusses problems with gtkmm 2.24.3. Version 2.24.4 was released as a result of those problems. It rurned out that it's important to use the correct version of glibmm (gmmproc). Unfortunately I can't find it mentioned in the bug what version of glibmm is the correct one to use. Does anyone know?

Can't you use the tarball? Nothing has been added to git branch gtkmm-2-24 since tarball gtkmm 2.24.4 was released.

Kjell

2013-08-12 17:38, John Emmas skrev:
I'm building gtkmm on Windows (using MSVC). Rather than building from a tarball I'm using the git sources (which means me having to build all the auto-generated stuff, using gmmproc etc). Everything builds pretty well. I've even built glibmm, atkmm and pangomm the same way. The only hiccup I seem to have is with the file 'gtk/src/widget.hg'

At line 3546 in the finished file (widget.h) I seem to end up with this code:-

//Note that the deprecated keyword has no effect on _WRAP_SIGNAL() yet. //It doesn't seem like a good idea to put virtual functions in #ifdefs, because that would change the size of the class instances. /** @deprecated This should never have been in the API. It was never meaningful.
       *
    #ifndef GTKMM_DISABLE_DEPRECATED

    * @par Slot Prototype:
       * <tt>Glib::RefPtr<Atk::Object> on_my_%get_accessible()</tt>
       *
       */

Glib::SignalProxy0< Glib::RefPtr<Atk::Object> > signal_get_accessible();
    #endif // GTKMM_DISABLE_DEPRECATED

Note that the line '" ifndef GTKMM_DISABLE_DEPRECATED " is getting generated inside a comment. In any case, I think it's the wrong #define. Looking at the "hg" file it looks as if the correct line should have been " #ifdef GTKMM_ATKMM_ENABLED ".

I don't really understand the format of a "hg" file but from a simple observation of 'widget.hg' I can see that the declaration which corresponds to the mis-generated code seems to be the only occurence of #ifdef GTKMM_ATKMM_ENABLED which has the word "deprecated" after it. Might that explain the problem??

This is with version 2.24.4, cloned from Git just a couple of days ago.

John

__



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