Update to 42.2
This commit is contained in:
parent
21a7b6d68b
commit
47189a3342
Binary file not shown.
BIN
gnome-remote-desktop-42.2.tar.xz
Normal file
BIN
gnome-remote-desktop-42.2.tar.xz
Normal file
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
%global systemd_unit gnome-remote-desktop.service
|
%global systemd_unit gnome-remote-desktop.service
|
||||||
|
|
||||||
Name: gnome-remote-desktop
|
Name: gnome-remote-desktop
|
||||||
Version: 42.0
|
Version: 42.2
|
||||||
Release: 1
|
Release: 1
|
||||||
Summary: Screen share service of GNOME Remote Desktop
|
Summary: Screen share service of GNOME Remote Desktop
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -67,6 +67,9 @@ GNOME Remote Desktop is a remote desktop daemon for GNOME using pipewire.
|
|||||||
%{_mandir}/man1/grdctl.1*
|
%{_mandir}/man1/grdctl.1*
|
||||||
|
|
||||||
%changelog
|
%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
|
* Mon Mar 28 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 42.0-1
|
||||||
- Update to 42.0
|
- Update to 42.0
|
||||||
|
|
||||||
|
|||||||
@ -52,13 +52,13 @@ index e3ecc40..fa8dfb7 100644
|
|||||||
+
|
+
|
||||||
#endif /* GRD_ENUMS_H */
|
#endif /* GRD_ENUMS_H */
|
||||||
diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c
|
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
|
--- a/src/grd-session-vnc.c
|
||||||
+++ b/src/grd-session-vnc.c
|
+++ b/src/grd-session-vnc.c
|
||||||
@@ -45,7 +45,9 @@ struct _GrdSessionVnc
|
@@ -45,7 +45,9 @@ struct _GrdSessionVnc
|
||||||
{
|
{
|
||||||
GrdSession parent;
|
GrdSession parent;
|
||||||
|
|
||||||
+ GrdVncServer *vnc_server;
|
+ GrdVncServer *vnc_server;
|
||||||
GSocketConnection *connection;
|
GSocketConnection *connection;
|
||||||
+ GList *socket_grabs;
|
+ GList *socket_grabs;
|
||||||
@ -68,7 +68,7 @@ index a4cb958..c2e29b4 100644
|
|||||||
@@ -543,6 +545,12 @@ check_rfb_password (rfbClientPtr rfb_client,
|
@@ -543,6 +545,12 @@ check_rfb_password (rfbClientPtr rfb_client,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+int
|
+int
|
||||||
+grd_session_vnc_get_fd (GrdSessionVnc *session_vnc)
|
+grd_session_vnc_get_fd (GrdSessionVnc *session_vnc)
|
||||||
+{
|
+{
|
||||||
@ -81,7 +81,7 @@ index a4cb958..c2e29b4 100644
|
|||||||
@@ -550,6 +558,18 @@ grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc,
|
@@ -550,6 +558,18 @@ grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc,
|
||||||
return width * BGRX_BYTES_PER_PIXEL;
|
return width * BGRX_BYTES_PER_PIXEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
+rfbClientPtr
|
+rfbClientPtr
|
||||||
+grd_session_vnc_get_rfb_client (GrdSessionVnc *session_vnc)
|
+grd_session_vnc_get_rfb_client (GrdSessionVnc *session_vnc)
|
||||||
+{
|
+{
|
||||||
@ -100,7 +100,7 @@ index a4cb958..c2e29b4 100644
|
|||||||
@@ -593,44 +613,85 @@ init_vnc_session (GrdSessionVnc *session_vnc)
|
@@ -593,44 +613,85 @@ init_vnc_session (GrdSessionVnc *session_vnc)
|
||||||
rfbProcessEvents (rfb_screen, 0);
|
rfbProcessEvents (rfb_screen, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
+void
|
+void
|
||||||
+grd_session_vnc_grab_socket (GrdSessionVnc *session_vnc,
|
+grd_session_vnc_grab_socket (GrdSessionVnc *session_vnc,
|
||||||
+ GrdVncSocketGrabFunc grab_func)
|
+ GrdVncSocketGrabFunc grab_func)
|
||||||
@ -157,7 +157,7 @@ index a4cb958..c2e29b4 100644
|
|||||||
- GrdSessionVnc *session_vnc = user_data;
|
- GrdSessionVnc *session_vnc = user_data;
|
||||||
+ GrdSessionVnc *session_vnc = GRD_SESSION_VNC (user_data);
|
+ GrdSessionVnc *session_vnc = GRD_SESSION_VNC (user_data);
|
||||||
+ GrdSession *session = GRD_SESSION (session_vnc);
|
+ GrdSession *session = GRD_SESSION (session_vnc);
|
||||||
|
|
||||||
- if (condition & G_IO_IN)
|
- if (condition & G_IO_IN)
|
||||||
+ if (condition & (G_IO_ERR | G_IO_HUP))
|
+ if (condition & (G_IO_ERR | G_IO_HUP))
|
||||||
+ {
|
+ {
|
||||||
@ -176,7 +176,7 @@ index a4cb958..c2e29b4 100644
|
|||||||
{
|
{
|
||||||
- rfbProcessEvents (session_vnc->rfb_screen, 0);
|
- rfbProcessEvents (session_vnc->rfb_screen, 0);
|
||||||
+ g_warning ("Error when reading socket: %s", error->message);
|
+ g_warning ("Error when reading socket: %s", error->message);
|
||||||
|
|
||||||
- if (session_vnc->pending_framebuffer_resize &&
|
- if (session_vnc->pending_framebuffer_resize &&
|
||||||
- session_vnc->rfb_client->preferredEncoding != -1)
|
- session_vnc->rfb_client->preferredEncoding != -1)
|
||||||
- {
|
- {
|
||||||
@ -196,8 +196,8 @@ index a4cb958..c2e29b4 100644
|
|||||||
- */
|
- */
|
||||||
- grd_clipboard_vnc_maybe_enable_clipboard (session_vnc->clipboard_vnc);
|
- grd_clipboard_vnc_maybe_enable_clipboard (session_vnc->clipboard_vnc);
|
||||||
- }
|
- }
|
||||||
+ grd_session_stop (session);
|
|
||||||
}
|
}
|
||||||
|
+ grd_session_stop (session);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -206,10 +206,10 @@ index a4cb958..c2e29b4 100644
|
|||||||
+ g_warning ("Unhandled socket condition %d\n", condition);
|
+ g_warning ("Unhandled socket condition %d\n", condition);
|
||||||
+ g_assert_not_reached ();
|
+ g_assert_not_reached ();
|
||||||
}
|
}
|
||||||
|
|
||||||
return G_SOURCE_CONTINUE;
|
return G_SOURCE_CONTINUE;
|
||||||
@@ -643,7 +704,10 @@ grd_session_vnc_attach_source (GrdSessionVnc *session_vnc)
|
@@ -643,7 +704,10 @@ grd_session_vnc_attach_source (GrdSessionVnc *session_vnc)
|
||||||
|
|
||||||
socket = g_socket_connection_get_socket (session_vnc->connection);
|
socket = g_socket_connection_get_socket (session_vnc->connection);
|
||||||
session_vnc->source = g_socket_create_source (socket,
|
session_vnc->source = g_socket_create_source (socket,
|
||||||
- G_IO_IN | G_IO_PRI,
|
- G_IO_IN | G_IO_PRI,
|
||||||
@ -220,25 +220,25 @@ index a4cb958..c2e29b4 100644
|
|||||||
NULL);
|
NULL);
|
||||||
g_source_set_callback (session_vnc->source,
|
g_source_set_callback (session_vnc->source,
|
||||||
(GSourceFunc) handle_socket_data,
|
(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,
|
"context", context,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
+ session_vnc->vnc_server = vnc_server;
|
+ session_vnc->vnc_server = vnc_server;
|
||||||
session_vnc->connection = g_object_ref (connection);
|
session_vnc->connection = g_object_ref (connection);
|
||||||
|
|
||||||
+ grd_session_vnc_grab_socket (session_vnc, vnc_socket_grab_func);
|
+ grd_session_vnc_grab_socket (session_vnc, vnc_socket_grab_func);
|
||||||
grd_session_vnc_attach_source (session_vnc);
|
grd_session_vnc_attach_source (session_vnc);
|
||||||
|
|
||||||
init_vnc_session (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);
|
g_assert (!session_vnc->rfb_screen);
|
||||||
|
|
||||||
+ g_clear_pointer (&session_vnc->socket_grabs, g_list_free);
|
+ g_clear_pointer (&session_vnc->socket_grabs, g_list_free);
|
||||||
+
|
+
|
||||||
g_clear_pointer (&session_vnc->pressed_keys, g_hash_table_unref);
|
g_clear_pointer (&session_vnc->pressed_keys, g_hash_table_unref);
|
||||||
|
|
||||||
G_OBJECT_CLASS (grd_session_vnc_parent_class)->dispose (object);
|
G_OBJECT_CLASS (grd_session_vnc_parent_class)->dispose (object);
|
||||||
diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h
|
diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h
|
||||||
index fcc508d..092d9dc 100644
|
index fcc508d..092d9dc 100644
|
||||||
@ -276,7 +276,7 @@ index fcc508d..092d9dc 100644
|
|||||||
+
|
+
|
||||||
#endif /* GRD_SESSION_VNC_H */
|
#endif /* GRD_SESSION_VNC_H */
|
||||||
diff --git a/src/grd-settings.c b/src/grd-settings.c
|
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
|
--- a/src/grd-settings.c
|
||||||
+++ b/src/grd-settings.c
|
+++ b/src/grd-settings.c
|
||||||
@@ -69,6 +69,7 @@ struct _GrdSettings
|
@@ -69,6 +69,7 @@ struct _GrdSettings
|
||||||
@ -286,11 +286,11 @@ index c8f28fb..502d956 100644
|
|||||||
+ GrdVncEncryption encryption;
|
+ GrdVncEncryption encryption;
|
||||||
} vnc;
|
} 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;
|
return settings->vnc.auth_method;
|
||||||
}
|
}
|
||||||
|
|
||||||
+GrdVncEncryption
|
+GrdVncEncryption
|
||||||
+grd_settings_get_vnc_encryption (GrdSettings *settings)
|
+grd_settings_get_vnc_encryption (GrdSettings *settings)
|
||||||
+{
|
+{
|
||||||
@ -300,10 +300,10 @@ index c8f28fb..502d956 100644
|
|||||||
static void
|
static void
|
||||||
update_screen_share_mode (GrdSettings *settings)
|
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");
|
"auth-method");
|
||||||
}
|
}
|
||||||
|
|
||||||
+static void
|
+static void
|
||||||
+update_vnc_encryption (GrdSettings *settings)
|
+update_vnc_encryption (GrdSettings *settings)
|
||||||
+{
|
+{
|
||||||
@ -314,7 +314,7 @@ index c8f28fb..502d956 100644
|
|||||||
static void
|
static void
|
||||||
on_rdp_settings_changed (GSettings *rdp_settings,
|
on_rdp_settings_changed (GSettings *rdp_settings,
|
||||||
const char *key,
|
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);
|
update_vnc_auth_method (settings);
|
||||||
g_signal_emit (settings, signals[VNC_AUTH_METHOD_CHANGED], 0);
|
g_signal_emit (settings, signals[VNC_AUTH_METHOD_CHANGED], 0);
|
||||||
}
|
}
|
||||||
@ -324,18 +324,18 @@ index c8f28fb..502d956 100644
|
|||||||
+ g_signal_emit (settings, signals[VNC_ENCRYPTION_CHANGED], 0);
|
+ g_signal_emit (settings, signals[VNC_ENCRYPTION_CHANGED], 0);
|
||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
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->rdp.port = GRD_RDP_SERVER_PORT;
|
||||||
settings->vnc.port = GRD_VNC_SERVER_PORT;
|
settings->vnc.port = GRD_VNC_SERVER_PORT;
|
||||||
+
|
+
|
||||||
+ update_vnc_encryption (settings);
|
+ update_vnc_encryption (settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -457,4 +478,11 @@ grd_settings_class_init (GrdSettingsClass *klass)
|
@@ -471,4 +492,11 @@ grd_settings_class_init (GrdSettingsClass *klass)
|
||||||
0,
|
0,
|
||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
G_TYPE_NONE, 0);
|
G_TYPE_NONE, 0);
|
||||||
@ -978,13 +978,13 @@ out-of-socket source.
|
|||||||
1 file changed, 65 insertions(+), 7 deletions(-)
|
1 file changed, 65 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c
|
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
|
--- a/src/grd-session-vnc.c
|
||||||
+++ b/src/grd-session-vnc.c
|
+++ b/src/grd-session-vnc.c
|
||||||
@@ -41,14 +41,27 @@
|
@@ -41,14 +41,27 @@
|
||||||
#define BGRX_SAMPLES_PER_PIXEL 3
|
#define BGRX_SAMPLES_PER_PIXEL 3
|
||||||
#define BGRX_BYTES_PER_PIXEL 4
|
#define BGRX_BYTES_PER_PIXEL 4
|
||||||
|
|
||||||
+enum
|
+enum
|
||||||
+{
|
+{
|
||||||
+ PAUSED,
|
+ PAUSED,
|
||||||
@ -998,7 +998,7 @@ index c2e29b4..4be4c49 100644
|
|||||||
struct _GrdSessionVnc
|
struct _GrdSessionVnc
|
||||||
{
|
{
|
||||||
GrdSession parent;
|
GrdSession parent;
|
||||||
|
|
||||||
GrdVncServer *vnc_server;
|
GrdVncServer *vnc_server;
|
||||||
GSocketConnection *connection;
|
GSocketConnection *connection;
|
||||||
+
|
+
|
||||||
@ -1008,20 +1008,20 @@ index c2e29b4..4be4c49 100644
|
|||||||
+
|
+
|
||||||
rfbScreenInfoPtr rfb_screen;
|
rfbScreenInfoPtr rfb_screen;
|
||||||
rfbClientPtr rfb_client;
|
rfbClientPtr rfb_client;
|
||||||
|
|
||||||
@@ -77,7 +90,7 @@ struct _GrdSessionVnc
|
@@ -77,7 +90,7 @@ struct _GrdSessionVnc
|
||||||
G_DEFINE_TYPE (GrdSessionVnc, grd_session_vnc, GRD_TYPE_SESSION)
|
G_DEFINE_TYPE (GrdSessionVnc, grd_session_vnc, GRD_TYPE_SESSION)
|
||||||
|
|
||||||
static void
|
static void
|
||||||
-grd_session_vnc_detach_source (GrdSessionVnc *session_vnc);
|
-grd_session_vnc_detach_source (GrdSessionVnc *session_vnc);
|
||||||
+grd_session_vnc_pause (GrdSessionVnc *session_vnc);
|
+grd_session_vnc_pause (GrdSessionVnc *session_vnc);
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
close_session_idle (gpointer user_data);
|
close_session_idle (gpointer user_data);
|
||||||
@@ -236,7 +249,8 @@ handle_client_gone (rfbClientPtr rfb_client)
|
@@ -236,7 +249,8 @@ handle_client_gone (rfbClientPtr rfb_client)
|
||||||
|
|
||||||
g_debug ("VNC client gone");
|
g_debug ("VNC client gone");
|
||||||
|
|
||||||
- grd_session_vnc_detach_source (session_vnc);
|
- grd_session_vnc_detach_source (session_vnc);
|
||||||
+ grd_session_vnc_pause (session_vnc);
|
+ grd_session_vnc_pause (session_vnc);
|
||||||
+
|
+
|
||||||
@ -1046,10 +1046,10 @@ index c2e29b4..4be4c49 100644
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -721,6 +735,36 @@ grd_session_vnc_detach_source (GrdSessionVnc *session_vnc)
|
@@ -725,6 +739,36 @@ grd_session_vnc_detach_source (GrdSessionVnc *session_vnc)
|
||||||
g_clear_pointer (&session_vnc->source, g_source_destroy);
|
g_clear_pointer (&session_vnc->source, g_source_unref);
|
||||||
}
|
}
|
||||||
|
|
||||||
+gboolean
|
+gboolean
|
||||||
+grd_session_vnc_is_paused (GrdSessionVnc *session_vnc)
|
+grd_session_vnc_is_paused (GrdSessionVnc *session_vnc)
|
||||||
+{
|
+{
|
||||||
@ -1083,35 +1083,36 @@ index c2e29b4..4be4c49 100644
|
|||||||
GrdSessionVnc *
|
GrdSessionVnc *
|
||||||
grd_session_vnc_new (GrdVncServer *vnc_server,
|
grd_session_vnc_new (GrdVncServer *vnc_server,
|
||||||
GSocketConnection *connection)
|
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_grab_socket (session_vnc, vnc_socket_grab_func);
|
||||||
grd_session_vnc_attach_source (session_vnc);
|
grd_session_vnc_attach_source (session_vnc);
|
||||||
+ session_vnc->is_paused = FALSE;
|
+ session_vnc->is_paused = FALSE;
|
||||||
|
|
||||||
init_vnc_session (session_vnc);
|
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);
|
g_clear_object (&session_vnc->pipewire_stream);
|
||||||
|
|
||||||
- grd_session_vnc_detach_source (session_vnc);
|
- grd_session_vnc_detach_source (session_vnc);
|
||||||
+ grd_session_vnc_pause (session_vnc);
|
+ grd_session_vnc_pause (session_vnc);
|
||||||
|
|
||||||
g_clear_object (&session_vnc->connection);
|
g_clear_object (&session_vnc->connection);
|
||||||
g_clear_object (&session_vnc->clipboard_vnc);
|
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),
|
G_CALLBACK (on_pipewire_stream_closed),
|
||||||
session_vnc);
|
session_vnc);
|
||||||
|
-
|
||||||
- if (!session_vnc->source)
|
- if (!session_vnc->source)
|
||||||
- grd_session_vnc_attach_source (session_vnc);
|
- grd_session_vnc_attach_source (session_vnc);
|
||||||
+ if (grd_session_vnc_is_paused (session_vnc))
|
+ if (grd_session_vnc_is_paused (session_vnc))
|
||||||
+ grd_session_vnc_resume (session_vnc);
|
+ grd_session_vnc_resume (session_vnc);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
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 =
|
session_class->remote_desktop_session_started =
|
||||||
grd_session_vnc_remote_desktop_session_started;
|
grd_session_vnc_remote_desktop_session_started;
|
||||||
session_class->stream_ready = grd_session_vnc_stream_ready;
|
session_class->stream_ready = grd_session_vnc_stream_ready;
|
||||||
@ -1146,13 +1147,13 @@ available that is not visible to the socket source.
|
|||||||
2 files changed, 18 insertions(+), 10 deletions(-)
|
2 files changed, 18 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c
|
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
|
--- a/src/grd-session-vnc.c
|
||||||
+++ b/src/grd-session-vnc.c
|
+++ b/src/grd-session-vnc.c
|
||||||
@@ -675,6 +675,21 @@ vnc_socket_grab_func (GrdSessionVnc *session_vnc,
|
@@ -675,6 +675,21 @@ vnc_socket_grab_func (GrdSessionVnc *session_vnc,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
+void
|
+void
|
||||||
+grd_session_vnc_dispatch (GrdSessionVnc *session_vnc)
|
+grd_session_vnc_dispatch (GrdSessionVnc *session_vnc)
|
||||||
+{
|
+{
|
||||||
@ -1183,9 +1184,9 @@ index 4be4c49..9708de0 100644
|
|||||||
- {
|
- {
|
||||||
- g_warning ("Error when reading socket: %s", error->message);
|
- g_warning ("Error when reading socket: %s", error->message);
|
||||||
-
|
-
|
||||||
- grd_session_stop (session);
|
|
||||||
- }
|
- }
|
||||||
+ grd_session_vnc_dispatch (session_vnc);
|
- grd_session_stop (session);
|
||||||
|
+ grd_session_vnc_dispatch (session_vnc);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1472,13 +1473,13 @@ password prompt.
|
|||||||
1 file changed, 2 insertions(+), 6 deletions(-)
|
1 file changed, 2 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c
|
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
|
--- a/src/grd-session-vnc.c
|
||||||
+++ b/src/grd-session-vnc.c
|
+++ b/src/grd-session-vnc.c
|
||||||
@@ -95,11 +95,6 @@ grd_session_vnc_pause (GrdSessionVnc *session_vnc);
|
@@ -95,11 +95,6 @@ grd_session_vnc_pause (GrdSessionVnc *session_vnc);
|
||||||
static gboolean
|
static gboolean
|
||||||
close_session_idle (gpointer user_data);
|
close_session_idle (gpointer user_data);
|
||||||
|
|
||||||
-static rfbBool
|
-static rfbBool
|
||||||
-check_rfb_password (rfbClientPtr rfb_client,
|
-check_rfb_password (rfbClientPtr rfb_client,
|
||||||
- const char *response_encrypted,
|
- const char *response_encrypted,
|
||||||
@ -1498,7 +1499,7 @@ index 9708de0..bc60285 100644
|
|||||||
@@ -623,6 +617,8 @@ init_vnc_session (GrdSessionVnc *session_vnc)
|
@@ -623,6 +617,8 @@ init_vnc_session (GrdSessionVnc *session_vnc)
|
||||||
rfb_screen->frameBuffer = g_malloc0 (screen_width * screen_height * 4);
|
rfb_screen->frameBuffer = g_malloc0 (screen_width * screen_height * 4);
|
||||||
memset (rfb_screen->frameBuffer, 0x1f, screen_width * screen_height * 4);
|
memset (rfb_screen->frameBuffer, 0x1f, screen_width * screen_height * 4);
|
||||||
|
|
||||||
+ rfb_screen->passwordCheck = check_rfb_password;
|
+ rfb_screen->passwordCheck = check_rfb_password;
|
||||||
+
|
+
|
||||||
rfbInitServer (rfb_screen);
|
rfbInitServer (rfb_screen);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user