GNOME Bugzilla – Bug 725733
Crash when accessing freed AtkObject
Last modified: 2015-03-07 22:18:48 UTC
Created attachment 271002 [details] [review] Don't access freed AtkObject Hi, it showed during debugging of https://bugzilla.redhat.com/show_bug.cgi?id=1013457#c12 that GTK+ tries to access an already freed AtkObject in handler of GtkContainer's signal "remove". The signal is emitted during disposing of EvView class in evince here (see ev_view_dispose() in libview/ev-view.c): G_OBJECT_CLASS (ev_view_parent_class)->dispose (object); But the the AtkObject was freed few lines before: g_clear_object(&view->accessible); I think that the AtkObject should be passed to the g_signal_connect() with increased reference count (e.g. by g_signal_connect_object). Attached patch fixes the problem from https://bugzilla.redhat.com/show_bug.cgi?id=1013457 for me. Marek
The patch doesn't apply to recent versions of gtk. Evince doesn't crash on Ctrl-W in text entry field anymore (up to date Fedora 21 x86_64, gtk3-3.14.9-1). I believe this bug can be closed.
Indeed, the GtkContainerAccessible implementation has changed pretty drastically. Closing, as per comment #1.