GNOME Bugzilla – Bug 571761
Remove deprecated GTK+ symbols (requires API Break)
Last modified: 2010-03-31 20:55:38 UTC
http://live.gnome.org/GnomeGoals/RemoveDeprecatedSymbols/GTK%2B ./src/server-interface-check.h:36:#define SERVER_INTERFACE_CHECK(obj) (GTK_CHECK_CAST ((obj), SERVER_TYPE_INTERFACE_CHECK, ServerInterfaceCheck)) ./src/server-interface-check.h:37:#define SERVER_INTERFACE_CHECK_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), SERVER_TYPE_INTERFACE_CHECK, ServerInterfaceCheckClass)) ./src/server-interface-check.h:38:#define SERVER_IS_INTERFACE_CHECK(obj) (GTK_CHECK_TYPE ((obj), SERVER_TYPE_INTERFACE_CHECK)) ./src/server-interface-check.h:39:#define SERVER_IS_INTERFACE_CHECK_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), SERVER_TYPE_INTERFACE_CHECK)) ./libedataserverui/e-source-option-menu.c:67: gtk_option_menu_set_history (GTK_OPTION_MENU (data->option_menu), data->i); ./libedataserverui/e-source-option-menu.c:178: gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), menu); ./libedataserverui/e-source-option-menu.c:181: gtk_option_menu_set_history (GTK_OPTION_MENU (option_menu), selected_item); ./libedataserverui/e-source-option-menu.c:189: gtk_option_menu_set_history (GTK_OPTION_MENU (option_menu), first_source_item); ./libedataserverui/e-source-option-menu.h:44: GtkOptionMenu parent; ./libedataserverui/e-source-option-menu.h:50: GtkOptionMenuClass parent_class; ./libedataserverui/e-name-selector-list.h:38:#define E_NAME_SELECTOR_LIST(obj) (GTK_CHECK_CAST ((obj), e_name_selector_list_get_type (), ENameSelectorEntry)) ./libedataserverui/e-name-selector-list.h:39:#define E_NAME_SELECTOR_LIST_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), e_name_selector_list_get_type (), ENameSelectorEntryClass)) ./libedataserverui/e-name-selector-list.h:40:#define E_IS_NAME_SELECTOR_LIST(obj) (GTK_CHECK_TYPE (obj, e_name_selector_list_get_type ())) ./libedataserverui/e-name-selector-list.h:41:#define E_IS_NAME_SELECTOR_LIST_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), e_name_selector_list_get_type ()))
We should clean up the GTK_CHECK macros, but ESourceOptionMenu is already deprecated -because- it's derived from GtkOptionBox. ESourceComboBox, derived from GtkComboBox, replaces it. Removing the widget now would break API, but I guess we'll have to for GNOME 3.0. See also http://www.go-evolution.org/GTK3.
s/GtkOptionBox/GtkOptionMenu/
Deprecated GtkType macros fixed in revision 10055. That leaves ESourceOptionMenu, which we'll have to break API to remove.
A good time to do that, as eds is branched now, isn't it?
IIRC Matt wanted to do this once we really know if GNOME 3 will happen in March or September 2010. We should know by November 2009. But of course I vote for getting this in as early as possible and I personally wouldn't mind breaking the API for a potential 2.30 that is not 3.0. :-)
The intent is to remove all deprecated API for 3.0. That includes ESourceOptionMenu. Grep the sources for EDS_DISABLE_DEPRECATED and CAMEL_DISABLE_DEPRECATED for the full scope. Doing this will change a few sonames so I want to make sure 2.30 is really going to be 3.0.
I didn't think you want to do such a big change. From my point of view some CAMEL_DISABLE_DEPRECATED should be reconsidered, as for example camel_folder_set_message_flags is marked as deprecated, but it's used on quite many places in evo itself. This function is, from my point of view, a utility function, not the deprecated one. But that's other question.
This is the right time to reevaluate what should or should not be deprecated. File bugs about it.
With respect to camel apis, it would be better to have a read through, http://www.go-evolution.org/On-disk_summaries and change them keeping mailer-to-eds in mind. Better to have separate bugs for it.
Perhaps the Camel API is best left alone for now and we'll just remove the deprecated EDS symbols for 3.0. The Camel-to-GObject conversion I started is going to break ABI and API anyway, and I imagine the asynchronous work will destabilize things too.
ESourceOptionMenu removed at last in: http://git.gnome.org/browse/evolution-data-server/commit/?id=2990f4833e2f32c10bbf42d24e76221139889067 Closing as FIXED.