GNOME Bugzilla – Bug 606297
build error, usage of deprecated GTK_WIDGET_TOPLEVEL gtk_widget_modify_font
Last modified: 2011-01-29 18:50:49 UTC
GTK_WIDGET_TOPLEVEL has recently been marked as deprecated, this causes the build to fail with current GTK+ master. gtk_widget_is_toplevel has been introduced in 2.18, and current minimum GTK+ version is 2.17.2, so it's probably ok to simply replace the call in gnome-dictionary/libgdict/gdict-utils.c. /** * GTK_WIDGET_TOPLEVEL: * @wid: a #GtkWidget. * * Evaluates to %TRUE if the widget is a toplevel widget. * * Deprecated: 2.20: Use gtk_widget_is_toplevel() instead. */
note: gcalctool maintainer decided to go with version bump, and require 2.18, since gtk_widget_is_toplevel has been added at that time according to him. see https://bugzilla.gnome.org/show_bug.cgi?id=606266
FWIW, I fixed the code, but I'm leaving the bug open because the build system shouldn't always use the GTK_DISABLE_DEPRECATED compile flags: else, similar breakage might occur again in the future.
gtk+ 2.91.6+ has changed API. GTK+ branch gtk-style-context has been merged to master and porting is required to GtkStyleContext. See: http://git.gnome.org/browse/gtk+/commit/?id=f8a874abb1d1d8925b0f841e95bbef6cdcb21ac4 build failure (from git master): ./gdict-defbox.c: In function 'gdict_defbox_set_font_name': ./gdict-defbox.c:2856:3: error: implicit declaration of function 'gtk_widget_modify_font'
this has been fixed in master already.