mouse: Connect signals with g_signal_connect_object in swapped form

This commit is contained in:
Robert Ancell 2019-11-22 11:25:49 +13:00
parent 74eb5d9855
commit 591cd14b57

View file

@ -65,10 +65,6 @@ struct _CcMousePanel
GSettings *gsd_mouse_settings; GSettings *gsd_mouse_settings;
GSettings *touchpad_settings; GSettings *touchpad_settings;
GsdDeviceManager *device_manager;
guint device_added_id;
guint device_removed_id;
gboolean have_mouse; gboolean have_mouse;
gboolean have_touchpad; gboolean have_touchpad;
gboolean have_touchscreen; gboolean have_touchscreen;
@ -310,9 +306,7 @@ setup_dialog (CcMousePanel *self)
/* Callback issued when a button is clicked on the dialog */ /* Callback issued when a button is clicked on the dialog */
static void static void
device_changed (GsdDeviceManager *device_manager, device_changed (CcMousePanel *self)
GsdDevice *device,
CcMousePanel *self)
{ {
self->have_touchpad = touchpad_is_present (); self->have_touchpad = touchpad_is_present ();
@ -351,14 +345,6 @@ cc_mouse_panel_dispose (GObject *object)
g_clear_object (&self->right_gesture); g_clear_object (&self->right_gesture);
g_clear_object (&self->left_gesture); g_clear_object (&self->left_gesture);
if (self->device_manager != NULL) {
g_signal_handler_disconnect (self->device_manager, self->device_added_id);
self->device_added_id = 0;
g_signal_handler_disconnect (self->device_manager, self->device_removed_id);
self->device_removed_id = 0;
self->device_manager = NULL;
}
G_OBJECT_CLASS (cc_mouse_panel_parent_class)->dispose (object); G_OBJECT_CLASS (cc_mouse_panel_parent_class)->dispose (object);
} }
@ -393,6 +379,8 @@ cc_mouse_panel_constructed (GObject *object)
static void static void
cc_mouse_panel_init (CcMousePanel *self) cc_mouse_panel_init (CcMousePanel *self)
{ {
GsdDeviceManager *device_manager;
g_resources_register (cc_mouse_get_resource ()); g_resources_register (cc_mouse_get_resource ());
cc_mouse_test_get_type (); cc_mouse_test_get_type ();
@ -402,11 +390,11 @@ cc_mouse_panel_init (CcMousePanel *self)
self->gsd_mouse_settings = g_settings_new ("org.gnome.settings-daemon.peripherals.mouse"); self->gsd_mouse_settings = g_settings_new ("org.gnome.settings-daemon.peripherals.mouse");
self->touchpad_settings = g_settings_new ("org.gnome.desktop.peripherals.touchpad"); self->touchpad_settings = g_settings_new ("org.gnome.desktop.peripherals.touchpad");
self->device_manager = gsd_device_manager_get (); device_manager = gsd_device_manager_get ();
self->device_added_id = g_signal_connect (self->device_manager, "device-added", g_signal_connect_object (device_manager, "device-added",
G_CALLBACK (device_changed), self); G_CALLBACK (device_changed), self, G_CONNECT_SWAPPED);
self->device_removed_id = g_signal_connect (self->device_manager, "device-removed", g_signal_connect_object (device_manager, "device-removed",
G_CALLBACK (device_changed), self); G_CALLBACK (device_changed), self, G_CONNECT_SWAPPED);
self->have_mouse = mouse_is_present (); self->have_mouse = mouse_is_present ();
self->have_touchpad = touchpad_is_present (); self->have_touchpad = touchpad_is_present ();