diff --git a/panels/sharing/cc-gnome-remote-desktop.c b/panels/sharing/cc-gnome-remote-desktop.c index 8420fddca..7ab1b2e0d 100644 --- a/panels/sharing/cc-gnome-remote-desktop.c +++ b/panels/sharing/cc-gnome-remote-desktop.c @@ -169,3 +169,19 @@ cc_grd_on_vnc_password_entry_notify_text (GtkEntry *entry, cancellable, on_password_stored, entry, NULL); } + +void +cc_grd_update_password_entry (GtkEntry *entry) +{ + g_autoptr(GError) error = NULL; + g_autofree gchar *password = NULL; + + password = secret_password_lookup_sync (CC_GRD_VNC_PASSWORD_SCHEMA, + NULL, &error, + NULL); + if (error) + g_warning ("Failed to get password: %s", error->message); + + if (password) + gtk_entry_set_text (entry, password); +} diff --git a/panels/sharing/cc-gnome-remote-desktop.h b/panels/sharing/cc-gnome-remote-desktop.h index 15565d3f4..ce30036f7 100644 --- a/panels/sharing/cc-gnome-remote-desktop.h +++ b/panels/sharing/cc-gnome-remote-desktop.h @@ -47,4 +47,6 @@ void cc_grd_on_vnc_password_entry_notify_text (GtkEntry *entry, GParamSpec *pspec, gpointer user_data); +void cc_grd_update_password_entry (GtkEntry *entry); + G_END_DECLS diff --git a/panels/sharing/cc-sharing-panel.c b/panels/sharing/cc-sharing-panel.c index bbcc9a80c..152a290a1 100644 --- a/panels/sharing/cc-sharing-panel.c +++ b/panels/sharing/cc-sharing-panel.c @@ -1110,6 +1110,8 @@ cc_sharing_panel_setup_screen_sharing_dialog_gnome_remote_desktop (CcSharingPane G_CALLBACK (screen_sharing_hide_cb), self); + cc_grd_update_password_entry (self->remote_control_password_entry); + /* accept at most 8 bytes in password entry */ g_signal_connect (self->remote_control_password_entry, "insert-text",