From 376c8299f4c69345fd783b20a8f2f4d8827551bb Mon Sep 17 00:00:00 2001 From: Emilio Pozuelo Monfort Date: Fri, 19 Aug 2011 13:01:59 +0100 Subject: CameraMenu: don't change the device if it's the current one https://bugzilla.gnome.org/show_bug.cgi?id=656885 --- src/empathy-camera-menu.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/empathy-camera-menu.c') diff --git a/src/empathy-camera-menu.c b/src/empathy-camera-menu.c index a57253872..cee11d759 100644 --- a/src/empathy-camera-menu.c +++ b/src/empathy-camera-menu.c @@ -132,6 +132,7 @@ empathy_camera_menu_activate_cb (GtkAction *action, { EmpathyGstVideoSrc *video; const gchar *device; + gchar *current_device; if (self->priv->in_update) return; @@ -139,10 +140,18 @@ empathy_camera_menu_activate_cb (GtkAction *action, video = empathy_call_window_get_video_src (self->priv->window); device = gtk_action_get_name (action); + current_device = empathy_video_src_dup_device (video); + + /* Don't change the device if it's the currently used one */ + if (!tp_strdiff (device, current_device)) + goto out; empathy_call_window_play_camera (self->priv->window, FALSE); empathy_video_src_change_device (video, device); empathy_call_window_play_camera (self->priv->window, TRUE); + + out: + g_free (current_device); } static void -- cgit v1.2.3