region: Autodisconnect IBusBus "connected" handler

Use g_signal_connect_object to ensure handler is not run after object is
destroyed.

Fixes: GNOME/gnome-control-center#223
This commit is contained in:
Andrea Azzarone 2018-10-08 13:09:10 +01:00
parent 98174c511e
commit 88ca2fcdc4

View file

@ -1330,8 +1330,9 @@ setup_input_section (CcRegionPanel *self)
if (ibus_bus_is_connected (self->ibus))
fetch_ibus_engines (self);
else
g_signal_connect_swapped (self->ibus, "connected",
G_CALLBACK (fetch_ibus_engines), self);
g_signal_connect_object (self->ibus, "connected",
G_CALLBACK (fetch_ibus_engines), self,
G_CONNECT_SWAPPED);
}
maybe_start_ibus ();
#endif