[cheese] Avoid assert when taking avatar photos too quickly



commit fc3a6220fb78042553218478c643ec00e5795846
Author: David King <amigadave amigadave com>
Date:   Wed May 29 14:22:21 2013 +0100

    Avoid assert when taking avatar photos too quickly
    
    If the take photo button was pressed while a photo was being taken, an
    assert would be triggered by the failed call to
    cheese_camera_take_photo_pixbuf(). Avoid this by setting the take photo
    button insensitive while a photo is being taken, and setting it
    sensitive after the photo has been taken. Fixes bug 699596.

 libcheese/cheese-avatar-chooser.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/libcheese/cheese-avatar-chooser.c b/libcheese/cheese-avatar-chooser.c
index 9ab06f9..41cc4a8 100644
--- a/libcheese/cheese-avatar-chooser.c
+++ b/libcheese/cheese-avatar-chooser.c
@@ -102,6 +102,7 @@ cheese_widget_photo_taken_cb (CheeseCamera        *camera,
   gtk_dialog_set_response_sensitive (GTK_DIALOG (chooser),
                                      GTK_RESPONSE_ACCEPT,
                                      TRUE);
+  gtk_widget_set_sensitive (priv->take_button, TRUE);
 
   gdk_threads_leave ();
 
@@ -126,6 +127,7 @@ take_button_clicked_cb (GtkButton           *button,
   camera = cheese_widget_get_camera (CHEESE_WIDGET (priv->camera));
   if (priv->photo_taken_id == 0)
   {
+    gtk_widget_set_sensitive (priv->take_button, FALSE);
     priv->photo_taken_id = g_signal_connect (G_OBJECT (camera), "photo-taken",
                                              G_CALLBACK (cheese_widget_photo_taken_cb), chooser);
   }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]