After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 680023 - EvView does not disconnect model callbacks
EvView does not disconnect model callbacks
Status: RESOLVED FIXED
Product: evince
Classification: Core
Component: general
3.5.x
Other Linux
: Normal normal
: ---
Assigned To: Evince Maintainers
Evince Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-07-16 15:06 UTC by Benjamin Berg
Modified: 2012-08-14 15:13 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Benjamin Berg 2012-07-16 15:06:15 UTC
When EvView is destroyed, it does not disconnect any of its callbacks from the model. This means that crashes will occur if the model stays alive and is modified.

It also looks like it does not disconnect all of the callbacks when the model is changed (though most are disconnected). I am suggesting two changes to fix this:
 1. in ev_view_set_model use g_signal_handlers_disconnect_by_data (requires glib 2.32) or g_signal_handlers_disconnect_matched to ensure that all of the signals are disconnected.
 2. Add the same disconnection code to ev_view_dispose.
Comment 1 Carlos Garcia Campos 2012-08-14 15:13:41 UTC
Fixed in git master, thanks for reporting and suggesting a fix :-)