system/remote-desktop: Initialize GCancellable and cancel it page dispose
Fixes #2733
This commit is contained in:
parent
1182323e6d
commit
91057652d4
1 changed files with 18 additions and 0 deletions
|
@ -707,10 +707,27 @@ sharing_proxy_ready (GObject *source,
|
|||
cc_remote_desktop_page_setup_label_with_hostname (self, self->remote_desktop_address_label);
|
||||
}
|
||||
|
||||
static void
|
||||
cc_remote_desktop_page_dispose (GObject *object)
|
||||
{
|
||||
CcRemoteDesktopPage *self = (CcRemoteDesktopPage *)object;
|
||||
|
||||
g_cancellable_cancel (self->cancellable);
|
||||
g_clear_object (&self->cancellable);
|
||||
|
||||
g_clear_handle_id (&self->remote_desktop_store_credentials_id, g_source_remove);
|
||||
self->remote_desktop_store_credentials_id = 0;
|
||||
|
||||
G_OBJECT_CLASS (cc_remote_desktop_page_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
cc_remote_desktop_page_class_init (CcRemoteDesktopPageClass * klass)
|
||||
{
|
||||
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->dispose = cc_remote_desktop_page_dispose;
|
||||
|
||||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/system/remote-desktop/cc-remote-desktop-page.ui");
|
||||
|
||||
|
@ -741,6 +758,7 @@ cc_remote_desktop_page_init (CcRemoteDesktopPage *self)
|
|||
|
||||
gtk_widget_init_template (GTK_WIDGET (self));
|
||||
|
||||
self->cancellable = g_cancellable_new ();
|
||||
gsd_sharing_proxy_new_for_bus (G_BUS_TYPE_SESSION,
|
||||
G_DBUS_PROXY_FLAGS_NONE,
|
||||
"org.gnome.SettingsDaemon.Sharing",
|
||||
|
|
Loading…
Add table
Reference in a new issue