Re: Many deprecated functions in gtk+, gtkmm does not build with --enable-warnings=fatal



2013-07-10 14:54, Kjell Ahlstedt skrev:
2013-07-10 14:35, Kjell Ahlstedt skrev:
2013-07-10 12:45, Murray Cumming skrev:
On Thu, 2013-07-04 at 17:00 +0200, Kjell Ahlstedt wrote:
2013-07-01 13:26, Murray Cumming skrev:
On Sun, 2013-06-30 at 10:46 +0200, Kjell Ahlstedt wrote:
If you don't build gtkmm from the latest sources in the git repository,
you can stop reading here.

During the last few days many functions and some whole classes have been
deprecated in gtk+, causing gtkmm builds to fail if --enable-warnings=fatal.
I'm working on fixing this (by deprecating a lot of stuff in gtkmm), but
it will take some time. It feels like I'm shooting at a moving target
right now. There are more deprecations in gtk+ almost each day. The
deprecations are not yet consistent. There are still several
non-deprecated gtk+ functions that take a parameter of a deprecated class.
There's a good chance that the GTK+ developers don't know that, so do
file GTK+ bugs, please.
I have filed gtk+ bug https://bugzilla.gnome.org/show_bug.cgi?id=703616.
Wow. I just looked at the gtkmm changes in git. There really are a lot
of new deprecations in GTK+. Many thanks for dealing with it.

However, I just tried to do a release and got:


enums.cc: In static member function 'static bool
Gtk::IconSize::lookup(Gtk::IconSize, int&, int&, const
Glib::RefPtr<Gtk::Settings>&)':
enums.cc:53:65: error: no matching function for call to 'unwrap(const
Glib::RefPtr<Gtk::Settings>&)'


Strange! I get no similar error. I notice that the error message says 'unwrap(const Glib::RefPtr<Gtk::Settings>&)' and not 'Glib::unwrap(const Glib::RefPtr<Gtk::Settings>&)'. When I distort it to Glib::ununwrap(settings) in enums.cc, the error message is
enums.cc:54:44: error: 'ununwrap' is not a member of 'Glib'

I tested with gcc 4.6.4 and 4.7.3.


I know what's wrong. #include <gtkmm/settings.h> must be added to enums.ccg.
It was included in my copy of enums.cc. When I regenerated enums.cc from enums.ccg, the #include disappeared. I must have added it to enums.cc, when I should have added it to enums.ccg.

I'll fix it, and make a new commit to the git repository.

Fixed. https://git.gnome.org/browse/gtkmm/commit/?id=ca308c98e8caeda361d0e5ad304e349cf2ecf27f



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