backends: Disconnect MetaInputMapper signal connection on device dispose

This signal may be left dangling when disconnecting a device, and be executed
later on if the device is connected again, and mapped to other output. Make it
sure the signal handler is disconnected when unplugging the device.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1657>
This commit is contained in:
Carlos Garnacho 2020-12-28 17:00:46 +01:00
parent 9b6fb31edc
commit 96820a9979

View File

@ -189,6 +189,7 @@ mapper_input_info_new (ClutterInputDevice *device,
static void static void
mapper_input_info_free (MetaMapperInputInfo *info) mapper_input_info_free (MetaMapperInputInfo *info)
{ {
g_signal_handlers_disconnect_by_func (info->settings, settings_output_changed_cb, info);
g_object_unref (info->settings); g_object_unref (info->settings);
g_free (info); g_free (info);
} }