Update to 42.2

This commit is contained in:
deng weijin 2022-06-28 17:36:53 +08:00
parent 21a7b6d68b
commit 47189a3342
4 changed files with 65 additions and 61 deletions

Binary file not shown.

Binary file not shown.

View File

@ -1,7 +1,7 @@
%global systemd_unit gnome-remote-desktop.service
Name: gnome-remote-desktop
Version: 42.0
Version: 42.2
Release: 1
Summary: Screen share service of GNOME Remote Desktop
License: GPLv2+
@ -67,6 +67,9 @@ GNOME Remote Desktop is a remote desktop daemon for GNOME using pipewire.
%{_mandir}/man1/grdctl.1*
%changelog
* Fri Jun 24 2022 weijin deng <weijin.deng@turbolinux.com.cn> - 42.2-1
- Update to 42.2
* Mon Mar 28 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 42.0-1
- Update to 42.0

View File

@ -52,7 +52,7 @@ index e3ecc40..fa8dfb7 100644
+
#endif /* GRD_ENUMS_H */
diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c
index a4cb958..c2e29b4 100644
index fbc66a4..9176d6b 100644
--- a/src/grd-session-vnc.c
+++ b/src/grd-session-vnc.c
@@ -45,7 +45,9 @@ struct _GrdSessionVnc
@ -196,8 +196,8 @@ index a4cb958..c2e29b4 100644
- */
- grd_clipboard_vnc_maybe_enable_clipboard (session_vnc->clipboard_vnc);
- }
+ grd_session_stop (session);
}
+ grd_session_stop (session);
}
else
{
@ -220,7 +220,7 @@ index a4cb958..c2e29b4 100644
NULL);
g_source_set_callback (session_vnc->source,
(GSourceFunc) handle_socket_data,
@@ -669,8 +733,10 @@ grd_session_vnc_new (GrdVncServer *vnc_server,
@@ -673,8 +737,10 @@ grd_session_vnc_new (GrdVncServer *vnc_server,
"context", context,
NULL);
@ -231,7 +231,7 @@ index a4cb958..c2e29b4 100644
grd_session_vnc_attach_source (session_vnc);
init_vnc_session (session_vnc);
@@ -685,6 +751,8 @@ grd_session_vnc_dispose (GObject *object)
@@ -689,6 +755,8 @@ grd_session_vnc_dispose (GObject *object)
g_assert (!session_vnc->rfb_screen);
@ -276,7 +276,7 @@ index fcc508d..092d9dc 100644
+
#endif /* GRD_SESSION_VNC_H */
diff --git a/src/grd-settings.c b/src/grd-settings.c
index c8f28fb..502d956 100644
index dad5d57..7753186 100644
--- a/src/grd-settings.c
+++ b/src/grd-settings.c
@@ -69,6 +69,7 @@ struct _GrdSettings
@ -287,7 +287,7 @@ index c8f28fb..502d956 100644
} vnc;
};
@@ -245,6 +246,12 @@ grd_settings_get_vnc_auth_method (GrdSettings *settings)
@@ -259,6 +260,12 @@ grd_settings_get_vnc_auth_method (GrdSettings *settings)
return settings->vnc.auth_method;
}
@ -300,7 +300,7 @@ index c8f28fb..502d956 100644
static void
update_screen_share_mode (GrdSettings *settings)
{
@@ -303,6 +310,13 @@ update_vnc_auth_method (GrdSettings *settings)
@@ -317,6 +324,13 @@ update_vnc_auth_method (GrdSettings *settings)
"auth-method");
}
@ -314,7 +314,7 @@ index c8f28fb..502d956 100644
static void
on_rdp_settings_changed (GSettings *rdp_settings,
const char *key,
@@ -355,6 +369,11 @@ on_vnc_settings_changed (GSettings *vnc_settings,
@@ -369,6 +383,11 @@ on_vnc_settings_changed (GSettings *vnc_settings,
update_vnc_auth_method (settings);
g_signal_emit (settings, signals[VNC_AUTH_METHOD_CHANGED], 0);
}
@ -326,7 +326,7 @@ index c8f28fb..502d956 100644
}
static void
@@ -392,6 +411,8 @@ grd_settings_init (GrdSettings *settings)
@@ -406,6 +425,8 @@ grd_settings_init (GrdSettings *settings)
settings->rdp.port = GRD_RDP_SERVER_PORT;
settings->vnc.port = GRD_VNC_SERVER_PORT;
@ -335,7 +335,7 @@ index c8f28fb..502d956 100644
}
static void
@@ -457,4 +478,11 @@ grd_settings_class_init (GrdSettingsClass *klass)
@@ -471,4 +492,11 @@ grd_settings_class_init (GrdSettingsClass *klass)
0,
NULL, NULL, NULL,
G_TYPE_NONE, 0);
@ -978,7 +978,7 @@ out-of-socket source.
1 file changed, 65 insertions(+), 7 deletions(-)
diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c
index c2e29b4..4be4c49 100644
index 9176d6b..566105a 100644
--- a/src/grd-session-vnc.c
+++ b/src/grd-session-vnc.c
@@ -41,14 +41,27 @@
@ -1046,8 +1046,8 @@ index c2e29b4..4be4c49 100644
return TRUE;
}
else
@@ -721,6 +735,36 @@ grd_session_vnc_detach_source (GrdSessionVnc *session_vnc)
g_clear_pointer (&session_vnc->source, g_source_destroy);
@@ -725,6 +739,36 @@ grd_session_vnc_detach_source (GrdSessionVnc *session_vnc)
g_clear_pointer (&session_vnc->source, g_source_unref);
}
+gboolean
@ -1083,7 +1083,7 @@ index c2e29b4..4be4c49 100644
GrdSessionVnc *
grd_session_vnc_new (GrdVncServer *vnc_server,
GSocketConnection *connection)
@@ -738,6 +782,7 @@ grd_session_vnc_new (GrdVncServer *vnc_server,
@@ -742,6 +786,7 @@ grd_session_vnc_new (GrdVncServer *vnc_server,
grd_session_vnc_grab_socket (session_vnc, vnc_socket_grab_func);
grd_session_vnc_attach_source (session_vnc);
@ -1091,7 +1091,7 @@ index c2e29b4..4be4c49 100644
init_vnc_session (session_vnc);
@@ -767,7 +812,7 @@ grd_session_vnc_stop (GrdSession *session)
@@ -771,7 +816,7 @@ grd_session_vnc_stop (GrdSession *session)
g_clear_object (&session_vnc->pipewire_stream);
@ -1100,10 +1100,11 @@ index c2e29b4..4be4c49 100644
g_clear_object (&session_vnc->connection);
g_clear_object (&session_vnc->clipboard_vnc);
@@ -827,8 +872,8 @@ grd_session_vnc_stream_ready (GrdSession *session,
@@ -830,9 +875,8 @@ grd_session_vnc_stream_ready (GrdSession *session,
g_signal_connect (session_vnc->pipewire_stream, "closed",
G_CALLBACK (on_pipewire_stream_closed),
session_vnc);
-
- if (!session_vnc->source)
- grd_session_vnc_attach_source (session_vnc);
+ if (grd_session_vnc_is_paused (session_vnc))
@ -1111,7 +1112,7 @@ index c2e29b4..4be4c49 100644
}
static void
@@ -849,4 +894,17 @@ grd_session_vnc_class_init (GrdSessionVncClass *klass)
@@ -853,4 +897,17 @@ grd_session_vnc_class_init (GrdSessionVncClass *klass)
session_class->remote_desktop_session_started =
grd_session_vnc_remote_desktop_session_started;
session_class->stream_ready = grd_session_vnc_stream_ready;
@ -1146,7 +1147,7 @@ available that is not visible to the socket source.
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c
index 4be4c49..9708de0 100644
index 566105a..c7408c3 100644
--- a/src/grd-session-vnc.c
+++ b/src/grd-session-vnc.c
@@ -675,6 +675,21 @@ vnc_socket_grab_func (GrdSessionVnc *session_vnc,
@ -1183,8 +1184,8 @@ index 4be4c49..9708de0 100644
- {
- g_warning ("Error when reading socket: %s", error->message);
-
- grd_session_stop (session);
- }
- grd_session_stop (session);
+ grd_session_vnc_dispatch (session_vnc);
}
else
@ -1472,7 +1473,7 @@ password prompt.
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c
index 9708de0..bc60285 100644
index c7408c3..fc1f830 100644
--- a/src/grd-session-vnc.c
+++ b/src/grd-session-vnc.c
@@ -95,11 +95,6 @@ grd_session_vnc_pause (GrdSessionVnc *session_vnc);