GNOME Bugzilla – Bug 156034
GTK_DISABLE_DEPRECATED breaks GnomeEntry (was: GtkCombo is deprecated in GTK2.4)
Last modified: 2005-08-30 11:53:37 UTC
libgnomesu still uses a GtkCombo. tools/gnomesu.c needs it : so don't disable it :)
Created attachment 32871 [details] [review] trivial patch
Thanks, I applied this patch. But ehm.... libgnomesu doesn't use GtkCombo. :/ [hongli@izumi libgnomesu]$ grep gtk_combo * -nr [hongli@izumi libgnomesu]$ grep COMBO_ * -nr
you're right, libgnomesu doesn't directly uses GtkCombo. libgnomeui does. With -DGTK_DISABLE_DEPRECATED gcc -DPACKAGE_NAME=\"libgnomesu\" -DPACKAGE_TARNAME=\"libgnomesu\" -DPACKAGE_VERSION=\"0.9.3\" -DPACKAGE_STRING=\"libgnomesu\ 0.9.3\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"libgnomesu\" -DVERSION=\"0.9.3\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_LOCALE_H=1 -DHAVE_LC_MESSAGES=1 -DHAVE_BIND_TEXTDOMAIN_CODESET=1 -DHAVE_GETTEXT=1 -DHAVE_DCGETTEXT=1 -DENABLE_NLS=1 -DHAVE_SYSLOG=1 -DENABLE_BINRELOC= -DHAVE_LIBPTHREAD=1 -DBR_PTHREAD=1 -I. -I. -DGETTEXT_PACKAGE="\"gnomesu\"" -DLOCALEDIR="\"/usr/local/gnome/share/locale\"" -DGNOMESU_VERSION="\"0.9.3\"" -DGNOMESU_PREFIX="\"/usr/local/gnome\"" -DGTK_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED -DXTHREADS -DORBIT2=1 -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libglade-2.0 -I/usr/include/libxml2 -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -DORBIT2=1 -pthread -DXTHREADS -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/bonobo-activation-2.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/libxml2 -I../src -g -O2 -c gnomesu.c In file included from /usr/include/libgnomeui-2.0/libgnomeui/libgnomeui.h:48, from /usr/include/libgnomeui-2.0/gnome.h:7, from gnomesu.c:22: /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h:63: error: parse error before "GtkCombo" /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h:63: warning: no semicolon at end of struct or union /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h:67: error: parse error before '}' token /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h:70: error: parse error before "GtkComboClass" /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h:70: warning: no semicolon at end of struct or union /usr/include/libgnomeui-2.0/libgnomeui/gnome-entry.h:78: error: parse error before '}' token make[1]: *** [gnomesu.o] Error 1 make[1]: Leaving directory `/home/benoit/CVS/gnome/libgnomesu/tools' make: *** [all-recursive] Error 1 maybe redirect this bug to libgnomeui ?
Yeah this is definitely a libgnomeui bug. libgnomeui.h includes gnome-entry.h, which uses GtkCombo.
-DGTK_DISABLE_DEPRECATED results in an empty preprocessed gtkcombo.h. GnomeEntry is not marked as deprecated but uses GtkCombo. -DGTK_DISABLE_DEPRECATED make GnomeEntry incomplete.
I'll mark this as INVALID since the bug is in libgnomeui.
Product: libgnomeui ?
Oops. >.< Sorry, my mistake.
Reassigning to owner of libgnomeui
But, if you build with GTK_DISABLE_DEPRECATED you should probably use GNOME_DISABLE_DEPRECATED in libgnomeui as well, no? gnome-entry.[ch] is deprecated in libgnomeui for 2.10 at least.
Marking down a bit at least. It's no blocker since G*_DISABLE_DEPRECATED is something that maintainers are supposed to be using when porting to newer APIs, not something we should ship tarballs with.
Closing since no shipped tarball should have this problem and people depending on deprecated widgets should know how to work around this when building from CVS.