[cheese/cheese-window-refactor] the widget



commit 92c90dd2722b04e79b82bd9dea8cf7087fa08634
Author: Filippo Argiolas <filippo argiolas gmail com>
Date:   Fri Jan 29 20:52:13 2010 +0100

    the widget

 cheese-gtk.pc.in                  |   13 -----
 data/cheese.ui                    |   75 ++++++++++++--------------
 libcheese/Makefile.am             |    1 -
 libcheese/cheese-widget-private.h |    9 +++
 libcheese/cheese-widget.c         |   12 ++++
 src/Makefile.am                   |    4 +-
 src/cheese-window.c               |  106 ++++++++++++++++++++++++++-----------
 7 files changed, 131 insertions(+), 89 deletions(-)
---
diff --git a/data/cheese.ui b/data/cheese.ui
index 0be0be5..a9f00fb 100644
--- a/data/cheese.ui
+++ b/data/cheese.ui
@@ -372,12 +372,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkDrawingArea" id="video_screen">
-                        <property name="visible">True</property>
-                      </object>
-                      <packing>
-                        <property name="position">1</property>
-                      </packing>
+                      <placeholder/>
                     </child>
                   </object>
                 </child>
@@ -385,41 +380,7 @@
                   <placeholder/>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="vbox3">
-                    <property name="visible">True</property>
-                    <property name="orientation">vertical</property>
-                    <child>
-                      <object class="GtkAspectFrame" id="effect_frame">
-                        <property name="visible">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                        <property name="label_xalign">0</property>
-                        <property name="shadow_type">none</property>
-                        <property name="ratio">1.3300000429153442</property>
-                        <property name="obey_child">False</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkAlignment" id="effect_alignment">
-                        <property name="visible">True</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="position">1</property>
-                  </packing>
+                  <placeholder/>
                 </child>
                 <child type="tab">
                   <placeholder/>
@@ -717,4 +678,36 @@
       </packing>
     </child>
   </object>
+  <object class="GtkVBox" id="effect_vbox">
+    <property name="visible">True</property>
+    <property name="orientation">vertical</property>
+    <child>
+      <object class="GtkAspectFrame" id="effect_frame">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="label_xalign">0</property>
+        <property name="shadow_type">none</property>
+        <property name="ratio">1.3300000429153442</property>
+        <property name="obey_child">False</property>
+        <child>
+          <placeholder/>
+        </child>
+      </object>
+      <packing>
+        <property name="position">0</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkAlignment" id="effect_alignment">
+        <property name="visible">True</property>
+        <child>
+          <placeholder/>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="position">1</property>
+      </packing>
+    </child>
+  </object>
 </interface>
diff --git a/libcheese/Makefile.am b/libcheese/Makefile.am
index bea7082..4828928 100644
--- a/libcheese/Makefile.am
+++ b/libcheese/Makefile.am
@@ -51,7 +51,6 @@ libcheese_gtk_la_LIBADD = \
 	$(CHEESE_LIBS)
 libcheese_gtk_la_LDFLAGS = \
 	-version-info $(CHEESE_LT_VERSION)		\
-	-export-symbols $(srcdir)/cheese-gtk.symbols	\
 	-no-undefined					\
 	$(AM_LDFLAGS)
 
diff --git a/libcheese/cheese-widget-private.h b/libcheese/cheese-widget-private.h
index 5fd40b7..c259a62 100644
--- a/libcheese/cheese-widget-private.h
+++ b/libcheese/cheese-widget-private.h
@@ -24,7 +24,16 @@
 
 G_BEGIN_DECLS
 
+enum
+{
+  SPINNER_PAGE = 0,
+  WEBCAM_PAGE  = 1,
+  PROBLEM_PAGE = 2,
+  CUSTOM_PAGE = 3,
+};
+
 GObject *cheese_widget_get_camera (CheeseWidget *widget);
+GObject *cheese_widget_get_gconf (CheeseWidget *widget);
 
 G_END_DECLS
 
diff --git a/libcheese/cheese-widget.c b/libcheese/cheese-widget.c
index 4a6a126..975c409 100644
--- a/libcheese/cheese-widget.c
+++ b/libcheese/cheese-widget.c
@@ -451,6 +451,18 @@ cheese_widget_new (void)
 }
 
 GObject *
+cheese_widget_get_gconf (CheeseWidget *widget)
+{
+  CheeseWidgetPrivate *priv;
+
+  g_return_val_if_fail (CHEESE_WIDGET (widget), NULL);
+
+  priv = CHEESE_WIDGET_GET_PRIVATE (widget);
+
+  return G_OBJECT (priv->gconf);
+}
+
+GObject *
 cheese_widget_get_camera (CheeseWidget *widget)
 {
   CheeseWidgetPrivate *priv;
diff --git a/src/Makefile.am b/src/Makefile.am
index 04f3a04..680b21b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -51,9 +51,9 @@ cheese_SOURCES = \
 	cheese-prefs-burst-spinbox.c
 
 cheese_LDADD = \
+	$(CHEESE_LIBS) \
 	$(top_builddir)/libcheese/libcheesecommon.la \
-	$(top_builddir)/libcheese/libcheese-gtk.la \
-	$(CHEESE_LIBS)
+	$(top_builddir)/libcheese/libcheese-gtk.la
 
 #dbus
 BUILT_SOURCES = cheese-dbus-infos.h
diff --git a/src/cheese-window.c b/src/cheese-window.c
index 4cfa576..cd8ff21 100644
--- a/src/cheese-window.c
+++ b/src/cheese-window.c
@@ -48,6 +48,7 @@
 #include "cheese-no-camera.h"
 #include "cheese-prefs-dialog.h"
 #include "cheese-flash.h"
+#include "cheese-widget-private.h"
 
 #define FULLSCREEN_POPUP_HEIGHT    40
 #define FULLSCREEN_TIMEOUT         5 * 1000
@@ -77,10 +78,10 @@ typedef enum
 
 typedef enum
 {
-  PAGE_WEBCAM  = 0,
-  PAGE_EFFECTS = 1,
-  PAGE_SPINNER = 2,
-  PAGE_PROBLEM = 3,
+  PAGE_SPINNER = 0,
+  PAGE_WEBCAM  = 1,
+  PAGE_PROBLEM = 2,
+  PAGE_EFFECTS = 3,
 } CheeseNotebookPage;
 
 typedef struct
@@ -97,6 +98,8 @@ typedef struct
   CheeseGConf *gconf;
   CheeseFileUtil *fileutil;
 
+  GtkWidget *weee;
+
   GtkWidget *window;
   GtkWidget *fullscreen_popup;
 
@@ -106,6 +109,7 @@ typedef struct
 
   GtkWidget *main_vbox;
   GtkWidget *video_vbox;
+  GtkWidget *video_frame_vbox;
 
   GtkWidget *netbook_alignment;
   GtkWidget *toolbar_alignment;
@@ -113,6 +117,7 @@ typedef struct
   GtkWidget *togglegroup_alignment;
 
   GtkWidget *effect_frame;
+  GtkWidget *effect_vbox;
   GtkWidget *effect_alignment;
   GtkWidget *effect_chooser;
   GtkWidget *throbber_align;
@@ -275,7 +280,7 @@ cheese_window_set_problem_page (CheeseWindow *window,
 {
   CheeseWindowPrivate *priv = CHEESE_WINDOW_GET_PRIVATE (window);
 
-  gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), PAGE_PROBLEM);
+  gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->weee), PAGE_PROBLEM);
   g_object_set_data_full (G_OBJECT (priv->problem_area),
                           "icon-name", g_strdup (icon_name), g_free);
   g_signal_connect (priv->problem_area, "expose-event",
@@ -406,7 +411,7 @@ cheese_window_fullscreen_motion_notify_cb (GtkWidget      *widget,
     }
 
     /* don't set the timeout in effect-chooser mode */
-    if (gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->notebook)) != 1)
+    if (gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->weee)) != PAGE_EFFECTS)
       cheese_window_fullscreen_set_timeout (cheese_window);
   }
   return FALSE;
@@ -445,7 +450,7 @@ cheese_window_toggle_fullscreen (GtkWidget *widget, CheeseWindow *cheese_window)
     cheese_window_fullscreen_show_bar (cheese_window);
 
     /* don't set the timeout in effect-chooser mode */
-    if (gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->notebook)) != 1)
+    if (gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->weee)) != PAGE_EFFECTS)
       cheese_window_fullscreen_set_timeout (cheese_window);
 
     priv->isFullscreen = TRUE;
@@ -493,9 +498,9 @@ cheese_window_toggle_wide_mode (GtkWidget *widget, CheeseWindow *cheese_window)
   CheeseWindowPrivate *priv = CHEESE_WINDOW_GET_PRIVATE (cheese_window);
   gboolean toggled = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget));
 
-  gtk_widget_set_size_request (priv->notebook,
-                               GTK_WIDGET (priv->notebook)->allocation.width,
-                               GTK_WIDGET (priv->notebook)->allocation.height);
+  gtk_widget_set_size_request (priv->weee,
+                               GTK_WIDGET (priv->weee)->allocation.width,
+                               GTK_WIDGET (priv->weee)->allocation.height);
 
   /* set a single column in wide mode */
   gtk_icon_view_set_columns (GTK_ICON_VIEW (priv->thumb_view), toggled ? 1 : G_MAXINT);
@@ -553,7 +558,7 @@ cheese_window_toggle_wide_mode (GtkWidget *widget, CheeseWindow *cheese_window)
   GtkRequisition req;
   gtk_widget_size_request (GTK_WIDGET (cheese_window), &req);
   gtk_window_resize (GTK_WINDOW (cheese_window), req.width, req.height);
-  gtk_widget_set_size_request (priv->notebook, -1, -1);
+  gtk_widget_set_size_request (priv->weee, -1, -1);
 
   g_object_set (priv->gconf, "gconf_prop_wide_mode", toggled, NULL);
 }
@@ -948,9 +953,9 @@ void
 cheese_window_effect_button_pressed_cb (GtkWidget *widget, CheeseWindow *cheese_window)
 {
   CheeseWindowPrivate *priv = CHEESE_WINDOW_GET_PRIVATE (cheese_window);
-  if (gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->notebook)) == 1)
+  if (gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->weee)) == PAGE_EFFECTS)
   {
-    gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), PAGE_WEBCAM);
+    gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->weee), PAGE_WEBCAM);
     gtk_label_set_text_with_mnemonic (GTK_LABEL (priv->label_effects), _("_Effects"));
     gtk_widget_set_sensitive (priv->take_picture, TRUE);
     gtk_widget_set_sensitive (priv->take_picture_fullscreen, TRUE);
@@ -974,7 +979,7 @@ cheese_window_effect_button_pressed_cb (GtkWidget *widget, CheeseWindow *cheese_
   }
   else
   {
-    gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), PAGE_EFFECTS);
+    gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->weee), PAGE_EFFECTS);
     gtk_widget_set_sensitive (GTK_WIDGET (priv->take_picture), FALSE);
     gtk_widget_set_sensitive (GTK_WIDGET (priv->take_picture_fullscreen), FALSE);
     gtk_action_group_set_sensitive (priv->actions_photo, FALSE);
@@ -1134,13 +1139,15 @@ setup_widgets_from_builder (CheeseWindow *cheese_window)
   priv->effect_button_alignment     = GTK_WIDGET (gtk_builder_get_object (builder, "effect_button_alignment"));
   priv->toolbar_alignment           = GTK_WIDGET (gtk_builder_get_object (builder, "toolbar_alignment"));
   priv->video_vbox                  = GTK_WIDGET (gtk_builder_get_object (builder, "video_vbox"));
+  priv->video_frame_vbox                  = GTK_WIDGET (gtk_builder_get_object (builder, "video_frame_vbox"));
   priv->notebook                    = GTK_WIDGET (gtk_builder_get_object (builder, "notebook"));
   priv->notebook_bar                = GTK_WIDGET (gtk_builder_get_object (builder, "notebook_bar"));
-  priv->screen                      = GTK_WIDGET (gtk_builder_get_object (builder, "video_screen"));
+//  priv->screen                      = GTK_WIDGET (gtk_builder_get_object (builder, "video_screen"));
   priv->take_picture                = GTK_WIDGET (gtk_builder_get_object (builder, "take_picture"));
   priv->thumb_scrollwindow          = GTK_WIDGET (gtk_builder_get_object (builder, "thumb_scrollwindow"));
   priv->countdown_frame             = GTK_WIDGET (gtk_builder_get_object (builder, "countdown_frame"));
   priv->effect_frame                = GTK_WIDGET (gtk_builder_get_object (builder, "effect_frame"));
+  priv->effect_vbox                = GTK_WIDGET (gtk_builder_get_object (builder, "effect_vbox"));
   priv->effect_alignment            = GTK_WIDGET (gtk_builder_get_object (builder, "effect_alignment"));
   priv->fullscreen_popup            = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_popup"));
   priv->fullscreen_bar              = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_notebook_bar"));
@@ -1157,6 +1164,8 @@ setup_widgets_from_builder (CheeseWindow *cheese_window)
   priv->button_exit_fullscreen      = GTK_WIDGET (gtk_builder_get_object (builder, "button_exit_fullscreen"));
 
   gtk_container_add (GTK_CONTAINER (cheese_window), priv->main_vbox);
+  gtk_notebook_append_page (GTK_NOTEBOOK (priv->weee),
+                            priv->effect_vbox, NULL);
 
   g_object_unref (builder);
 }
@@ -1274,6 +1283,7 @@ setup_menubar_and_actions (CheeseWindow *cheese_window)
   gtk_activatable_set_related_action (GTK_ACTIVATABLE (priv->button_burst_fullscreen), action);
 }
 
+#if 0
 void
 setup_camera (CheeseWindow *cheese_window)
 {
@@ -1348,11 +1358,6 @@ setup_camera (CheeseWindow *cheese_window)
     return;
   }
 
-  g_signal_connect (priv->camera, "photo-saved",
-                    G_CALLBACK (cheese_window_photo_saved_cb), cheese_window);
-  g_signal_connect (priv->camera, "video-saved",
-                    G_CALLBACK (cheese_window_video_saved_cb), cheese_window);
-
   cheese_camera_set_effect (priv->camera,
                             cheese_effect_chooser_get_selection (CHEESE_EFFECT_CHOOSER (priv->effect_chooser)));
 
@@ -1363,7 +1368,7 @@ setup_camera (CheeseWindow *cheese_window)
 
   cheese_camera_play (priv->camera);
   gdk_threads_enter ();
-  gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), PAGE_WEBCAM);
+  gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->weee), PAGE_WEBCAM);
   gtk_spinner_stop (GTK_SPINNER (priv->throbber));
 
   gtk_widget_set_sensitive (GTK_WIDGET (priv->take_picture), TRUE);
@@ -1371,13 +1376,35 @@ setup_camera (CheeseWindow *cheese_window)
   gtk_action_group_set_sensitive (priv->actions_effects, TRUE);
   gdk_threads_leave ();
 }
+#endif
+
+static void
+ready_cb (CheeseWidget        *widget,
+          gboolean             is_ready,
+          CheeseWindow        *window)
+{
+  CheeseWindowPrivate *priv = CHEESE_WINDOW_GET_PRIVATE (window);
+
+  priv->camera = cheese_widget_get_camera (CHEESE_WIDGET (priv->weee));
+
+  g_signal_connect (priv->camera, "photo-saved",
+                    G_CALLBACK (cheese_window_photo_saved_cb), window);
+  g_signal_connect (priv->camera, "video-saved",
+                    G_CALLBACK (cheese_window_video_saved_cb), window);
+
+  gtk_widget_set_sensitive (GTK_WIDGET (priv->take_picture), TRUE);
+  gtk_widget_set_sensitive (GTK_WIDGET (priv->take_picture_fullscreen), TRUE);
+  gtk_action_group_set_sensitive (priv->actions_effects, TRUE);
+
+  cheese_camera_set_effect (priv->camera,
+                            cheese_effect_chooser_get_selection (CHEESE_EFFECT_CHOOSER (priv->effect_chooser)));
+}
 
 void
 cheese_window_init (CheeseWindow *cheese_window)
 {
   CheeseWindowPrivate *priv = CHEESE_WINDOW_GET_PRIVATE (cheese_window);
 
-  priv->gconf               = cheese_gconf_new ();
   priv->fileutil            = cheese_fileutil_new ();
   priv->flash               = cheese_flash_new (NULL);
   priv->isFullscreen        = FALSE;
@@ -1386,8 +1413,19 @@ cheese_window_init (CheeseWindow *cheese_window)
 
   priv->fullscreen_timeout_source = NULL;
 
+  priv->weee = cheese_widget_new ();
+
   setup_widgets_from_builder (cheese_window);
+  g_signal_connect (G_OBJECT (priv->weee), "ready",
+                    G_CALLBACK (ready_cb), cheese_window);
+  priv->gconf = CHEESE_GCONF (cheese_widget_get_gconf (CHEESE_WIDGET (priv->weee)));
+
   setup_menubar_and_actions (cheese_window);
+  gtk_box_pack_start (GTK_BOX (priv->video_frame_vbox), priv->weee, TRUE, TRUE, 0);
+
+  gtk_widget_show (priv->weee);
+
+#if 0
 
   /* Problem page */
   priv->problem_page = gtk_vbox_new (FALSE, 0);
@@ -1409,7 +1447,7 @@ cheese_window_init (CheeseWindow *cheese_window)
                             priv->problem_page,
                             gtk_label_new ("got problems"),
                             PAGE_PROBLEM);
-
+#endif
 
   /* configure the popup position and size */
   GdkScreen *screen = gtk_window_get_screen (GTK_WINDOW (priv->fullscreen_popup));
@@ -1444,13 +1482,12 @@ cheese_window_init (CheeseWindow *cheese_window)
   gtk_container_add (GTK_CONTAINER (priv->effect_frame), priv->effect_chooser);
   g_free (gconf_effects);
 
-/* uncomment to debug */
 
-/*
- * gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), TRUE);
- * gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->notebook), TRUE);
- */
+/* uncomment to debug */
 
+  gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->weee), TRUE);
+  gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->weee), TRUE);
+ #if 0
   priv->throbber       = gtk_spinner_new ();
   priv->throbber_box   = gtk_event_box_new ();
   priv->throbber_align = gtk_alignment_new (0.5, 0.5, 0.6, 0.6);
@@ -1462,6 +1499,7 @@ cheese_window_init (CheeseWindow *cheese_window)
                             PAGE_SPINNER);
   cheese_window_spinner_invert (priv->throbber, priv->throbber_box);
   gtk_widget_show_all (priv->throbber_box);
+#endif
 
   priv->countdown = cheese_countdown_new ();
   gtk_container_add (GTK_CONTAINER (priv->countdown_frame), priv->countdown);
@@ -1470,6 +1508,7 @@ cheese_window_init (CheeseWindow *cheese_window)
   priv->countdown_fullscreen = cheese_countdown_new ();
   gtk_container_add (GTK_CONTAINER (priv->countdown_frame_fullscreen), priv->countdown_fullscreen);
 
+#if 0
   gtk_widget_realize (priv->screen);
   GdkWindow *win = gtk_widget_get_window (priv->screen);
   if (!gdk_window_ensure_native (win))
@@ -1484,6 +1523,7 @@ cheese_window_init (CheeseWindow *cheese_window)
   gtk_widget_set_app_paintable (priv->screen, TRUE);
   gtk_widget_set_double_buffered (priv->screen, FALSE);
   gtk_widget_add_events (priv->screen, GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
+#endif
 
   /* Listen for key presses */
   gtk_widget_add_events (GTK_WIDGET (cheese_window), GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
@@ -1498,15 +1538,18 @@ cheese_window_init (CheeseWindow *cheese_window)
   g_signal_connect (priv->thumb_view, "button_press_event",
                     G_CALLBACK (cheese_window_button_press_event_cb), cheese_window);
 
+#if 0
   gtk_spinner_start (GTK_SPINNER (priv->throbber));
 
   gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), PAGE_SPINNER);
+#endif
 
   priv->camera_mode = CAMERA_MODE_PHOTO;
   priv->recording   = FALSE;
 
   cheese_window_set_mode (cheese_window, CAMERA_MODE_PHOTO);
 
+#if 0
   /* Run cam setup in its own thread */
   GError *error = NULL;
   if (!g_thread_create ((GThreadFunc) setup_camera, cheese_window, FALSE, &error))
@@ -1515,6 +1558,7 @@ cheese_window_init (CheeseWindow *cheese_window)
     g_error_free (error);
     return;
   }
+#endif
 }
 
 static void
@@ -1543,11 +1587,11 @@ cheese_window_constructed (GObject *object)
   /* handy trick to set default size of the drawing area while not
    * limiting its minimum size, thanks Owen! */
   GtkRequisition req;
-  gtk_widget_set_size_request (priv->notebook,
+  gtk_widget_set_size_request (priv->weee,
                                DEFAULT_WINDOW_WIDTH, DEFAULT_WINDOW_HEIGHT);
   gtk_widget_size_request (GTK_WIDGET (window), &req);
   gtk_window_resize (GTK_WINDOW (window), req.width, req.height);
-  gtk_widget_set_size_request (priv->notebook, -1, -1);
+  gtk_widget_set_size_request (priv->weee, -1, -1);
 
   gtk_widget_show_all (priv->main_vbox);
 
@@ -1576,7 +1620,6 @@ cheese_window_finalize (GObject *object)
   CheeseWindow *window = CHEESE_WINDOW (object);
   CheeseWindowPrivate *priv = CHEESE_WINDOW_GET_PRIVATE (window);
 
-  g_object_unref (priv->camera);
   g_object_unref (priv->fileutil);
   g_object_unref (priv->actions_main);
   g_object_unref (priv->actions_countdown);
@@ -1589,7 +1632,6 @@ cheese_window_finalize (GObject *object)
   g_object_unref (priv->actions_video);
   g_object_unref (priv->actions_burst);
   g_object_unref (priv->actions_fullscreen);
-  g_object_unref (priv->gconf);
 
   if (G_OBJECT_CLASS (cheese_window_parent_class)->finalize)
     G_OBJECT_CLASS (cheese_window_parent_class)->finalize (object);



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