Blob Blame History Raw
From b0bdc5489ab2476bac63fcf2919f92efe743c828 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Wed, 12 Jun 2013 17:54:02 +0200
Subject: [PATCH 26/35] cheese: Protect set_wide_mode / set_fullscreen against
 double calls

Make it safe to call set_wide_mode / set_fullscreen twice with the same
value.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 src/cheese-window.vala | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/cheese-window.vala b/src/cheese-window.vala
index 6425a7f..906105b 100644
--- a/src/cheese-window.vala
+++ b/src/cheese-window.vala
@@ -86,6 +86,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
 
   private bool is_fullscreen;
   private bool is_wide_mode;
+  private bool is_wide_mode_initialized;
   private bool is_recording;       /* Video Recording Flag */
   private bool is_bursting;
   private bool is_effects_selector_active;
@@ -633,6 +634,10 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
      * So that the next time leave_fullscreen_button_container.show_all () is called, the button is actually shown
      * FIXME: If this code can be made cleaner/clearer, please do */
 
+    if (is_fullscreen == fullscreen)
+    {
+      return;
+    }
     is_fullscreen = fullscreen;
 
     if (!is_command_line_startup)
@@ -703,6 +708,11 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
   [CCode (instance_pos = -1)]
   public void set_wide_mode (bool wide_mode)
   {
+    if (is_wide_mode_initialized && is_wide_mode == wide_mode)
+    {
+      return;
+    }
+    is_wide_mode_initialized = true;
     is_wide_mode = wide_mode;
 
     if (!is_command_line_startup)
-- 
1.8.2.1