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 749850 - network/net-device-ethernet: Re-work how we keep track of connections
network/net-device-ethernet: Re-work how we keep track of connections
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: Network
unspecified
Other All
: Normal normal
: ---
Assigned To: Control-Center Maintainers
Control-Center Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-05-25 15:54 UTC by Rui Matos
Modified: 2015-07-15 13:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
network/net-device-ethernet: Re-work how we keep track of connections (4.05 KB, patch)
2015-05-25 15:54 UTC, Rui Matos
committed Details | Review

Description Rui Matos 2015-05-25 15:54:03 UTC
When we're finalizing, the remote settings instance might already be
gone and thus we can't list connections. In particular this happens at
panel finalization resulting in the following warning:

libnm-glib-CRITICAL **: nm_remote_settings_list_connections: assertion
'NM_IS_REMOTE_SETTINGS (settings)' failed

because cc_network_panel_dispose() unrefs the remote settings object
before all the NetDevice instances are finalized.

Since we only need to list connections on finalize to disconnect a
signal we can instead use g_signal_connect_object() and keep the
connections that we're keeping track of in a hash table instead of
g_object_set_data().
Comment 1 Rui Matos 2015-05-25 15:54:07 UTC
Created attachment 303939 [details] [review]
network/net-device-ethernet: Re-work how we keep track of connections
Comment 2 Bastien Nocera 2015-07-15 07:30:32 UTC
Review of attachment 303939 [details] [review]:

Looks good. Please cherry-pick as well.
Comment 3 Rui Matos 2015-07-15 13:51:22 UTC
Attachment 303939 [details] pushed as c8986f6 - network/net-device-ethernet: Re-work how we keep track of connections