From 0fac29572280d7795941e8ca422bcc5a106d1237 Mon Sep 17 00:00:00 2001 From: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Date: Tue, 22 Apr 2014 14:02:41 -0400 Subject: [PATCH] gnome: fix toggle screenshare When switching back to the active camera, the device name is used instead of the MRL, causing the client to crash. Change-Id: Ib9eb95315ac32016cf2de9ab1edcb238f0d4653e --- gnome/src/actions.c | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/gnome/src/actions.c b/gnome/src/actions.c index b4303f1ae9..26cf76d007 100644 --- a/gnome/src/actions.c +++ b/gnome/src/actions.c @@ -1030,27 +1030,22 @@ void sflphone_toggle_screenshare(void) { static gboolean screenshare = TRUE; - gboolean switched; gchar *resource; if (screenshare) { resource = sflphone_get_display(); - g_debug("enabling screen sharing (with MRL '%s')", resource); - switched = dbus_switch_video_input(resource); } else { - gchar *device; - - device = dbus_get_active_video_device(); - resource = g_strconcat("v4l2://", device, NULL); - g_debug("restoring camera '%s' (with MRL '%s'", device, resource); - switched = dbus_switch_video_input(device); - g_free(device); + gchar *device = dbus_get_active_video_device(); + resource = g_strconcat("v4l2://", device, NULL); + g_free(device); } - if (switched) - screenshare = !screenshare; - else - g_error("failed to switch to resource '%s'\n", resource); + if (dbus_switch_video_input(resource)) { + g_debug("switched video input to '%s'", resource); + screenshare = !screenshare; + } else { + g_error("failed to switch to resource '%s'\n", resource); + } g_free(resource); } -- GitLab