GNOME Bugzilla – Bug 630766
[PATCH] Get rid of deprecated GtkObject in EMap widget
Last modified: 2013-09-13 01:11:14 UTC
Attached is a simple patch to remove use of GtkObject from widgets/misc/e-map.c. I simply removed the handle for GtkObject::destroy, since it seems to be useless (see patch description). At least, it works fine! I've done this for the gnome-system-tools, which use EMap. BTW, do you plan to work on other issues to make EMap work with GTK+3?
Created attachment 171237 [details] [review] Get rid of deprecated GtkObject in EMap widget EMap handler for GtkObject::destroy is not needed anyway: disconnecting signals is useless since adjustements are unreferenced when EMap is finalized.
[added bug ID to http://live.gnome.org/GnomeGoals/GtkObjectRemoval ]
> EMap handler for GtkObject::destroy is not needed anyway: > disconnecting signals is useless since adjustements are > unreferenced when EMap is finalized. Well, because one can provide his/her own adjustments for the widget, then there is not guaranteed that the pointer will be also freed when unreffed. Thus I would rather keep it there. Please update the patch. (In reply to comment #0) > I've done this for the gnome-system-tools, which use EMap. BTW, do you plan to > work on other issues to make EMap work with GTK+3? Of course yes :) All the evo and such.
(In reply to comment #2) > [added bug ID to http://live.gnome.org/GnomeGoals/GtkObjectRemoval ] Is this bug used for all GtkObject removals in evo? Because a simple grep showed there are really many GtkObject references in evo itself.
Created attachment 171514 [details] [review] Get rid of deprecated GtkObject in EMap widget Remove GtkObject::destroy() handler. Move disconnecting signal handlers to e_map_finalize().
New patch disconnects handlers in finalize(), I guess that's OK because adjustments are only unreferenced there. This patch wasn't intending to remove all GtkObjects in Evo, it's just to avoid duplicating work with the gnome-system-tools (I'm keeping EMap in sync with Evo). Of course, there's much work left... :-(
Thanks, patch looks good (I didn't compile it). Please commit to master after today's release. And yeah, there's much work left :) That's OK.
Pushed as a9fc19b. Good luck for the rest of the codebase! ;-)
Yeah, thanks. :) I opened a new bug #631320 for evo itself, thus closing this.