shell/camera-monitor: Remove hooks before destroying objects
Otherwise removing the hook will try to unlink from a list whose
previous element belonged to the already destroyed object.
Fixes: d09d24666
("shell: Add device monitor for cameras")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2893>
This commit is contained in:
parent
4e00c1d372
commit
e7c269e014
@ -297,10 +297,10 @@ shell_camera_monitor_disconnect_core (ShellCameraMonitor *monitor)
|
|||||||
g_ptr_array_set_size (monitor->node_list, 0);
|
g_ptr_array_set_size (monitor->node_list, 0);
|
||||||
g_clear_handle_id (&monitor->delayed_disable_id, g_source_remove);
|
g_clear_handle_id (&monitor->delayed_disable_id, g_source_remove);
|
||||||
|
|
||||||
g_clear_pointer ((struct pw_proxy**) &monitor->registry, pw_proxy_destroy);
|
|
||||||
spa_hook_remove (&monitor->registry_listener);
|
spa_hook_remove (&monitor->registry_listener);
|
||||||
g_clear_pointer (&monitor->core, pw_core_disconnect);
|
g_clear_pointer ((struct pw_proxy**) &monitor->registry, pw_proxy_destroy);
|
||||||
spa_hook_remove (&monitor->core_listener);
|
spa_hook_remove (&monitor->core_listener);
|
||||||
|
g_clear_pointer (&monitor->core, pw_core_disconnect);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
Loading…
Reference in New Issue
Block a user