[cheese] Use get_instance_private() instead of priv pointer



commit c0262383acf1e0211131f2f4dffce2a58867b54c
Author: David King <amigadave amigadave com>
Date:   Tue Oct 14 19:36:45 2014 +0100

    Use get_instance_private() instead of priv pointer
    
    Use the generated macro rather than storing a pointer to the private
    struct within the object.

 libcheese/cheese-avatar-chooser.c        |   24 +++----
 libcheese/cheese-avatar-chooser.h        |    2 +-
 libcheese/cheese-avatar-widget.c         |   36 ++++++---
 libcheese/cheese-avatar-widget.h         |    2 +-
 libcheese/cheese-camera-device-monitor.c |   17 +++-
 libcheese/cheese-camera-device-monitor.h |    2 +-
 libcheese/cheese-camera-device.c         |  120 ++++++++++++++++++------------
 libcheese/cheese-camera-device.h         |    2 +-
 libcheese/cheese-camera.c                |  102 ++++++++++++-------------
 libcheese/cheese-camera.h                |    2 +-
 libcheese/cheese-effect.c                |   37 +++++++--
 libcheese/cheese-effect.h                |    2 +-
 libcheese/cheese-fileutil.c              |   20 ++++--
 libcheese/cheese-fileutil.h              |    2 +-
 libcheese/cheese-flash.c                 |   53 ++++++--------
 libcheese/cheese-flash.h                 |    2 +-
 libcheese/cheese-widget.c                |   39 +++++++---
 libcheese/cheese-widget.h                |    2 +-
 libcheese/um-crop-area.c                 |    4 +-
 libcheese/um-crop-area.h                 |    1 -
 20 files changed, 269 insertions(+), 202 deletions(-)
---
diff --git a/libcheese/cheese-avatar-chooser.c b/libcheese/cheese-avatar-chooser.c
index 6833169..9cd268e 100644
--- a/libcheese/cheese-avatar-chooser.c
+++ b/libcheese/cheese-avatar-chooser.c
@@ -41,22 +41,11 @@
 
 enum
 {
-  LAST_SIGNAL
-};
-
-enum
-{
   PROP_0,
   PROP_PIXBUF,
   PROP_LAST
 };
 
-enum
-{
-  WIDGET_PAGE = 0,
-  IMAGE_PAGE  = 1,
-};
-
 struct _CheeseAvatarChooserPrivate
 {
   GtkWidget *widget;
@@ -85,7 +74,7 @@ static void
 cheese_avatar_chooser_init (CheeseAvatarChooser *chooser)
 {
   GtkWidget *button;
-  CheeseAvatarChooserPrivate *priv = chooser->priv = cheese_avatar_chooser_get_instance_private (chooser);
+    CheeseAvatarChooserPrivate *priv = cheese_avatar_chooser_get_instance_private (chooser);
 
   gtk_dialog_add_buttons (GTK_DIALOG (chooser),
                           _("_Cancel"),
@@ -119,7 +108,11 @@ static void
 cheese_avatar_chooser_get_property (GObject *object, guint prop_id,
                                     GValue *value, GParamSpec *pspec)
 {
-  CheeseAvatarChooserPrivate *priv = ((CheeseAvatarChooser *) object)->priv;
+    CheeseAvatarChooser *chooser;
+    CheeseAvatarChooserPrivate *priv;
+
+    chooser = CHEESE_AVATAR_CHOOSER (object);
+    priv = cheese_avatar_chooser_get_instance_private (chooser);
 
   switch (prop_id)
   {
@@ -194,7 +187,10 @@ cheese_avatar_chooser_new (void)
 GdkPixbuf *
 cheese_avatar_chooser_get_picture (CheeseAvatarChooser *chooser)
 {
+    CheeseAvatarChooserPrivate *priv;
   g_return_val_if_fail (CHEESE_IS_AVATAR_CHOOSER (chooser), NULL);
 
-  return cheese_avatar_widget_get_picture (CHEESE_AVATAR_WIDGET (chooser->priv->widget));
+    priv = cheese_avatar_chooser_get_instance_private (chooser);
+
+    return cheese_avatar_widget_get_picture (CHEESE_AVATAR_WIDGET (priv->widget));
 }
diff --git a/libcheese/cheese-avatar-chooser.h b/libcheese/cheese-avatar-chooser.h
index 5fe4ba4..9ebbdb3 100644
--- a/libcheese/cheese-avatar-chooser.h
+++ b/libcheese/cheese-avatar-chooser.h
@@ -59,7 +59,7 @@ struct _CheeseAvatarChooser
 {
   /*< private >*/
   GtkDialog parent_instance;
-  CheeseAvatarChooserPrivate *priv;
+  void *unused;
 };
 
 GType cheese_avatar_chooser_get_type (void);
diff --git a/libcheese/cheese-avatar-widget.c b/libcheese/cheese-avatar-widget.c
index d737b47..9fb4f81 100644
--- a/libcheese/cheese-avatar-widget.c
+++ b/libcheese/cheese-avatar-widget.c
@@ -40,11 +40,6 @@
 
 enum
 {
-  LAST_SIGNAL
-};
-
-enum
-{
   PROP_0,
   PROP_PIXBUF,
   PROP_LAST
@@ -86,9 +81,10 @@ cheese_widget_photo_taken_cb (CheeseCamera        *camera,
                               GdkPixbuf           *pixbuf,
                               CheeseAvatarWidget  *widget)
 {
-  CheeseAvatarWidgetPrivate *priv = widget->priv;
+    CheeseAvatarWidgetPrivate *priv;
   GtkAllocation               allocation;
 
+    priv = cheese_avatar_widget_get_instance_private (widget);
   gtk_widget_get_allocation (priv->camera, &allocation);
   gtk_widget_set_size_request (priv->image, allocation.width, allocation.height);
 
@@ -112,9 +108,10 @@ static void
 take_button_clicked_cb (GtkButton           *button,
                         CheeseAvatarWidget *widget)
 {
-  CheeseAvatarWidgetPrivate *priv = widget->priv;
+    CheeseAvatarWidgetPrivate *priv;
   GObject                    *camera;
 
+    priv = cheese_avatar_widget_get_instance_private (widget);
   camera = cheese_widget_get_camera (CHEESE_WIDGET (priv->camera));
   if (priv->photo_taken_id == 0)
   {
@@ -148,7 +145,9 @@ static void
 take_again_button_clicked_cb (GtkButton           *button,
                               CheeseAvatarWidget *widget)
 {
-  CheeseAvatarWidgetPrivate *priv = widget->priv;
+    CheeseAvatarWidgetPrivate *priv;
+
+    priv = cheese_avatar_widget_get_instance_private (widget);
 
   gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), WIDGET_PAGE);
 
@@ -169,11 +168,13 @@ state_change_cb (GObject             *object,
                  GParamSpec          *param_spec,
                  CheeseAvatarWidget  *widget)
 {
-  CheeseAvatarWidgetPrivate *priv = widget->priv;
+  CheeseAvatarWidgetPrivate *priv;
   CheeseWidgetState           state;
 
   g_object_get (object, "state", &state, NULL);
 
+    priv = cheese_avatar_widget_get_instance_private (widget);
+
   switch (state)
   {
     case CHEESE_WIDGET_STATE_READY:
@@ -232,10 +233,11 @@ create_page (GtkWidget *child,
 static void
 cheese_avatar_widget_init (CheeseAvatarWidget *widget)
 {
+    CheeseAvatarWidgetPrivate *priv;
   GtkWidget *frame;
   GtkWidget *image;
 
-  CheeseAvatarWidgetPrivate *priv = widget->priv = cheese_avatar_widget_get_instance_private (widget);
+    priv = cheese_avatar_widget_get_instance_private (widget);
 
   priv->flash = cheese_flash_new (GTK_WIDGET (widget));
 
@@ -283,7 +285,9 @@ cheese_avatar_widget_init (CheeseAvatarWidget *widget)
 static void
 cheese_avatar_widget_finalize (GObject *object)
 {
-  CheeseAvatarWidgetPrivate *priv = ((CheeseAvatarWidget *) object)->priv;
+    CheeseAvatarWidgetPrivate *priv;
+
+    priv = cheese_avatar_widget_get_instance_private (CHEESE_AVATAR_WIDGET (object));
 
   g_clear_object (&priv->flash);
   g_clear_object (&priv->sizegroup);
@@ -295,7 +299,9 @@ static void
 cheese_avatar_widget_get_property (GObject *object, guint prop_id,
                                     GValue *value, GParamSpec *pspec)
 {
-  CheeseAvatarWidgetPrivate *priv = ((CheeseAvatarWidget *) object)->priv;
+    CheeseAvatarWidgetPrivate *priv;
+
+    priv = cheese_avatar_widget_get_instance_private (CHEESE_AVATAR_WIDGET (object));
 
   switch (prop_id)
   {
@@ -355,7 +361,11 @@ cheese_avatar_widget_new (void)
 GdkPixbuf *
 cheese_avatar_widget_get_picture (CheeseAvatarWidget *widget)
 {
+    CheeseAvatarWidgetPrivate *priv;
+
   g_return_val_if_fail (CHEESE_IS_AVATAR_WIDGET (widget), NULL);
 
-  return um_crop_area_get_picture (UM_CROP_AREA (widget->priv->image));
+    priv = cheese_avatar_widget_get_instance_private (widget);
+
+    return um_crop_area_get_picture (UM_CROP_AREA (priv->image));
 }
diff --git a/libcheese/cheese-avatar-widget.h b/libcheese/cheese-avatar-widget.h
index 059c2aa..29bbfa5 100644
--- a/libcheese/cheese-avatar-widget.h
+++ b/libcheese/cheese-avatar-widget.h
@@ -59,7 +59,7 @@ struct _CheeseAvatarWidget
 {
   /*< private >*/
   GtkBin parent_instance;
-  CheeseAvatarWidgetPrivate *priv;
+  void *unused;
 };
 
 GType cheese_avatar_widget_get_type (void);
diff --git a/libcheese/cheese-camera-device-monitor.c b/libcheese/cheese-camera-device-monitor.c
index fcc13b4..9ef6473 100644
--- a/libcheese/cheese-camera-device-monitor.c
+++ b/libcheese/cheese-camera-device-monitor.c
@@ -281,14 +281,19 @@ cheese_camera_device_monitor_add_devices (gpointer data, gpointer user_data)
 void
 cheese_camera_device_monitor_coldplug (CheeseCameraDeviceMonitor *monitor)
 {
+    CheeseCameraDeviceMonitorPrivate *priv;
   GList *devices;
 
-  g_return_if_fail (CHEESE_IS_CAMERA_DEVICE_MONITOR (monitor)
-    || monitor->priv->client != NULL);
+    g_return_if_fail (CHEESE_IS_CAMERA_DEVICE_MONITOR (monitor));
+
+    priv = cheese_camera_device_monitor_get_instance_private (monitor);
+
+    g_return_if_fail (priv->client != NULL);
 
   GST_INFO ("Probing devices with udev...");
 
-  devices = g_udev_client_query_by_subsystem (monitor->priv->client, "video4linux");
+    devices = g_udev_client_query_by_subsystem (priv->client, "video4linux");
+
   if (devices == NULL) GST_WARNING ("No device found");
 
   /* Initialize camera structures */
@@ -372,7 +377,9 @@ static void
 cheese_camera_device_monitor_finalize (GObject *object)
 {
 #ifdef HAVE_UDEV
-  CheeseCameraDeviceMonitorPrivate *priv = CHEESE_CAMERA_DEVICE_MONITOR (object)->priv;
+    CheeseCameraDeviceMonitorPrivate *priv;
+
+    priv = cheese_camera_device_monitor_get_instance_private (CHEESE_CAMERA_DEVICE_MONITOR (object));
 
   g_clear_object (&priv->client);
 #endif /* HAVE_UDEV */
@@ -426,7 +433,7 @@ static void
 cheese_camera_device_monitor_init (CheeseCameraDeviceMonitor *monitor)
 {
 #ifdef HAVE_UDEV
-  CheeseCameraDeviceMonitorPrivate *priv = monitor->priv = cheese_camera_device_monitor_get_instance_private 
(monitor);
+    CheeseCameraDeviceMonitorPrivate *priv = cheese_camera_device_monitor_get_instance_private (monitor);
   const gchar *const subsystems[] = {"video4linux", NULL};
 
   priv->client = g_udev_client_new (subsystems);
diff --git a/libcheese/cheese-camera-device-monitor.h b/libcheese/cheese-camera-device-monitor.h
index 081ac3b..1089000 100644
--- a/libcheese/cheese-camera-device-monitor.h
+++ b/libcheese/cheese-camera-device-monitor.h
@@ -51,7 +51,7 @@ struct _CheeseCameraDeviceMonitor
 {
   /*< private >*/
   GObject parent;
-  CheeseCameraDeviceMonitorPrivate *priv;
+  void *unused;
 };
 
 /**
diff --git a/libcheese/cheese-camera-device.c b/libcheese/cheese-camera-device.c
index a466e96..c0ef6b5 100644
--- a/libcheese/cheese-camera-device.c
+++ b/libcheese/cheese-camera-device.c
@@ -329,18 +329,21 @@ static CheeseVideoFormatFull *
 cheese_camera_device_find_full_format (CheeseCameraDevice *device,
                                        CheeseVideoFormat* format)
 {
+    CheeseCameraDevicePrivate *priv;
   GList *l;
 
-  for (l = device->priv->formats; l != NULL; l = g_list_next (l))
-  {
-    CheeseVideoFormatFull *item = l->data;
+    priv = cheese_camera_device_get_instance_private (device);
 
-    if ((item != NULL) &&
-        (item->width == format->width) && (item->height == format->height))
+    for (l = priv->formats; l != NULL; l = g_list_next (l))
     {
-      return item;
+        CheeseVideoFormatFull *item = l->data;
+
+        if ((item != NULL) &&
+            (item->width == format->width) && (item->height == format->height))
+        {
+            return item;
+        }
     }
-  }
 
   return NULL;
 }
@@ -357,9 +360,10 @@ cheese_camera_device_add_format (CheeseCameraDevice *device,
                                  CheeseVideoFormatFull *format,
                                  const GValue *framerate)
 {
-  CheeseCameraDevicePrivate *priv = device->priv;
+    CheeseCameraDevicePrivate *priv;
   CheeseVideoFormatFull *existing;
 
+    priv = cheese_camera_device_get_instance_private (device);
   existing = cheese_camera_device_find_full_format (device,
                                                     (CheeseVideoFormat *)format);
 
@@ -375,8 +379,8 @@ cheese_camera_device_add_format (CheeseCameraDevice *device,
   GST_INFO ("%dx%d framerate %d/%d", format->width, format->height,
             format->fr_numerator, format->fr_denominator);
 
-  priv->formats = g_list_insert_sorted (priv->formats, format,
-                                        compare_formats);
+    priv->formats = g_list_insert_sorted (priv->formats, format,
+                                          compare_formats);
 }
 
 /*
@@ -400,7 +404,9 @@ free_format_list_foreach (gpointer data)
 static void
 free_format_list (CheeseCameraDevice *device)
 {
-  CheeseCameraDevicePrivate *priv = device->priv;
+    CheeseCameraDevicePrivate *priv;
+
+    priv = cheese_camera_device_get_instance_private (device);
 
   g_list_free_full (priv->formats, free_format_list_foreach);
   priv->formats = NULL;
@@ -416,13 +422,14 @@ free_format_list (CheeseCameraDevice *device)
 static void
 cheese_camera_device_update_format_table (CheeseCameraDevice *device)
 {
-  CheeseCameraDevicePrivate *priv = device->priv;
+    CheeseCameraDevicePrivate *priv;
 
   guint i;
   guint num_structures;
 
   free_format_list (device);
 
+    priv = cheese_camera_device_get_instance_private (device);
   num_structures = gst_caps_get_size (priv->caps);
   for (i = 0; i < num_structures; i++)
   {
@@ -513,8 +520,7 @@ cheese_camera_device_update_format_table (CheeseCameraDevice *device)
 static void
 cheese_camera_device_get_caps (CheeseCameraDevice *device)
 {
-  CheeseCameraDevicePrivate *priv = device->priv;
-
+    CheeseCameraDevicePrivate *priv;
   gchar               *pipeline_desc;
   GstElement          *pipeline;
   GstStateChangeReturn ret;
@@ -522,6 +528,7 @@ cheese_camera_device_get_caps (CheeseCameraDevice *device)
   GstBus              *bus;
   GError              *err = NULL;
 
+    priv = cheese_camera_device_get_instance_private (device);
   pipeline_desc = g_strdup_printf ("%s name=source device=%s ! fakesink",
                                    priv->src, priv->device_node);
   pipeline = gst_parse_launch (pipeline_desc, &err);
@@ -605,7 +612,7 @@ static void
 cheese_camera_device_constructed (GObject *object)
 {
   CheeseCameraDevice        *device = CHEESE_CAMERA_DEVICE (object);
-  CheeseCameraDevicePrivate *priv   = device->priv;
+    CheeseCameraDevicePrivate *priv = cheese_camera_device_get_instance_private (device);
 
   priv->src = (priv->v4lapi_version == 2) ? "v4l2src" : "v4lsrc";
 
@@ -619,7 +626,7 @@ static void
 cheese_camera_device_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
 {
   CheeseCameraDevice        *device = CHEESE_CAMERA_DEVICE (object);
-  CheeseCameraDevicePrivate *priv   = device->priv;
+    CheeseCameraDevicePrivate *priv = cheese_camera_device_get_instance_private (device);
 
   switch (prop_id)
   {
@@ -645,7 +652,7 @@ static void
 cheese_camera_device_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
 {
   CheeseCameraDevice        *device = CHEESE_CAMERA_DEVICE (object);
-  CheeseCameraDevicePrivate *priv   = device->priv;
+  CheeseCameraDevicePrivate *priv = cheese_camera_device_get_instance_private (device);
 
   switch (prop_id)
   {
@@ -677,7 +684,7 @@ static void
 cheese_camera_device_finalize (GObject *object)
 {
   CheeseCameraDevice        *device = CHEESE_CAMERA_DEVICE (object);
-  CheeseCameraDevicePrivate *priv   = device->priv;
+    CheeseCameraDevicePrivate *priv = cheese_camera_device_get_instance_private (device);
 
   g_free (priv->device_node);
   g_free (priv->uuid);
@@ -769,17 +776,10 @@ cheese_camera_device_initable_iface_init (GInitableIface *iface)
 static void
 cheese_camera_device_init (CheeseCameraDevice *device)
 {
-  CheeseCameraDevicePrivate *priv = device->priv = cheese_camera_device_get_instance_private (device);
+    CheeseCameraDevicePrivate *priv = cheese_camera_device_get_instance_private (device);
 
-  priv->device_node = NULL;
-  priv->uuid = NULL;
-  priv->src = NULL;
   priv->name = g_strdup (_("Unknown device"));
   priv->caps = gst_caps_new_empty ();
-
-  priv->formats = NULL;
-
-  priv->construct_error = NULL;
 }
 
 static gboolean
@@ -788,7 +788,7 @@ cheese_camera_device_initable_init (GInitable    *initable,
                                     GError      **error)
 {
   CheeseCameraDevice        *device = CHEESE_CAMERA_DEVICE (initable);
-  CheeseCameraDevicePrivate *priv   = device->priv;
+    CheeseCameraDevicePrivate *priv = cheese_camera_device_get_instance_private (device);
 
   g_return_val_if_fail (CHEESE_IS_CAMERA_DEVICE (initable), FALSE);
 
@@ -856,9 +856,13 @@ cheese_camera_device_new (const gchar *uuid,
 GList *
 cheese_camera_device_get_format_list (CheeseCameraDevice *device)
 {
+    CheeseCameraDevicePrivate *priv;
+
   g_return_val_if_fail (CHEESE_IS_CAMERA_DEVICE (device), NULL);
 
-  return g_list_copy (device->priv->formats);
+    priv = cheese_camera_device_get_instance_private (device);
+
+    return g_list_copy (priv->formats);
 }
 
 /**
@@ -873,9 +877,13 @@ cheese_camera_device_get_format_list (CheeseCameraDevice *device)
 const gchar *
 cheese_camera_device_get_name (CheeseCameraDevice *device)
 {
+    CheeseCameraDevicePrivate *priv;
+
   g_return_val_if_fail (CHEESE_IS_CAMERA_DEVICE (device), NULL);
 
-  return device->priv->name;
+    priv = cheese_camera_device_get_instance_private (device);
+
+    return priv->name;
 }
 
 /**
@@ -889,9 +897,13 @@ cheese_camera_device_get_name (CheeseCameraDevice *device)
 const gchar *
 cheese_camera_device_get_uuid (CheeseCameraDevice *device)
 {
+    CheeseCameraDevicePrivate *priv;
+
   g_return_val_if_fail (CHEESE_IS_CAMERA_DEVICE (device), NULL);
 
-  return device->priv->uuid;
+    priv = cheese_camera_device_get_instance_private (device);
+
+    return priv->uuid;
 }
 
 /**
@@ -907,9 +919,13 @@ cheese_camera_device_get_uuid (CheeseCameraDevice *device)
 const gchar *
 cheese_camera_device_get_src (CheeseCameraDevice *device)
 {
+    CheeseCameraDevicePrivate *priv;
+
   g_return_val_if_fail (CHEESE_IS_CAMERA_DEVICE (device), NULL);
 
-  return device->priv->src;
+    priv = cheese_camera_device_get_instance_private (device);
+
+    return priv->src;
 }
 
 /**
@@ -924,9 +940,13 @@ cheese_camera_device_get_src (CheeseCameraDevice *device)
 const gchar *
 cheese_camera_device_get_device_node (CheeseCameraDevice *device)
 {
+    CheeseCameraDevicePrivate *priv;
+
   g_return_val_if_fail (CHEESE_IS_CAMERA_DEVICE (device), NULL);
 
-  return device->priv->device_node;
+    priv = cheese_camera_device_get_instance_private (device);
+
+    return priv->device_node;
 }
 
 /**
@@ -943,29 +963,33 @@ cheese_camera_device_get_device_node (CheeseCameraDevice *device)
 CheeseVideoFormat *
 cheese_camera_device_get_best_format (CheeseCameraDevice *device)
 {
+    CheeseCameraDevicePrivate *priv;
   CheeseVideoFormatFull *format = NULL;
   GList *l;
 
   g_return_val_if_fail (CHEESE_IS_CAMERA_DEVICE (device), NULL);
 
-  /* Check for the highest resolution with width >= 640 and FPS >= 15. */
-  for (l = device->priv->formats; l != NULL; l = g_list_next (l))
-  {
-    CheeseVideoFormatFull *item = l->data;
-    float frame_rate = (float)item->fr_numerator / (float)item->fr_denominator;
+    priv = cheese_camera_device_get_instance_private (device);
 
-    if (item->width >= 640 && frame_rate >= 15)
+    /* Check for the highest resolution with width >= 640 and FPS >= 15. */
+    for (l = priv->formats; l != NULL; l = g_list_next (l))
     {
-      format = item;
-      break;
+        CheeseVideoFormatFull *item = l->data;
+        float frame_rate = (float)item->fr_numerator
+                           / (float)item->fr_denominator;
+
+        if (item->width >= 640 && frame_rate >= 15)
+        {
+            format = item;
+            break;
+        }
     }
-  }
 
-  /* Else simply return the highest resolution. */
-  if (!format)
-  {
-    format = device->priv->formats->data;
-  }
+    /* Else simply return the highest resolution. */
+    if (!format)
+    {
+        format = priv->formats->data;
+    }
 
   GST_INFO ("%dx%d %d/%d", format->width, format->height,
             format->fr_numerator, format->fr_denominator);
@@ -1006,6 +1030,7 @@ GstCaps *
 cheese_camera_device_get_caps_for_format (CheeseCameraDevice *device,
                                           CheeseVideoFormat  *format)
 {
+    CheeseCameraDevicePrivate *priv;
   CheeseVideoFormatFull *full_format;
   GstCaps *desired_caps;
   GstCaps *subset_caps;
@@ -1035,7 +1060,8 @@ cheese_camera_device_get_caps_for_format (CheeseCameraDevice *device,
                                                           full_format));
   }
 
-  subset_caps = gst_caps_intersect (desired_caps, device->priv->caps);
+    priv = cheese_camera_device_get_instance_private (device);
+    subset_caps = gst_caps_intersect (desired_caps, priv->caps);
   subset_caps = gst_caps_simplify (subset_caps);
   gst_caps_unref (desired_caps);
 
diff --git a/libcheese/cheese-camera-device.h b/libcheese/cheese-camera-device.h
index cc97dc8..8249474 100644
--- a/libcheese/cheese-camera-device.h
+++ b/libcheese/cheese-camera-device.h
@@ -62,7 +62,7 @@ struct _CheeseCameraDevice
 {
   /*< private >*/
   GObject parent;
-  CheeseCameraDevicePrivate *priv;
+  void *unused;
 };
 
 #define CHEESE_TYPE_VIDEO_FORMAT (cheese_video_format_get_type ())
diff --git a/libcheese/cheese-camera.c b/libcheese/cheese-camera.c
index 30a0dbf..1e72965 100644
--- a/libcheese/cheese-camera.c
+++ b/libcheese/cheese-camera.c
@@ -152,7 +152,7 @@ cheese_camera_photo_data (CheeseCamera *camera, GstSample *sample)
   const gint          bits_per_pixel = 8;
   guchar             *data = NULL;
   
-  CheeseCameraPrivate *priv  = camera->priv;
+    CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
   GstMapInfo         mapinfo = {0, };
 
   buffer = gst_sample_get_buffer (sample);
@@ -307,7 +307,7 @@ cheese_camera_add_device (CheeseCameraDeviceMonitor *monitor,
                          CheeseCameraDevice        *device,
                           CheeseCamera              *camera)
 {
-  CheeseCameraPrivate *priv  = camera->priv;
+    CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
 
   g_ptr_array_add (priv->camera_devices, device);
   priv->num_camera_devices++;
@@ -332,7 +332,7 @@ cheese_camera_remove_device (CheeseCameraDeviceMonitor *monitor,
 {
   guint i;
 
-  CheeseCameraPrivate *priv  = camera->priv;
+    CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
 
   for (i = 0; i < priv->num_camera_devices; i++)
   {
@@ -359,7 +359,7 @@ cheese_camera_remove_device (CheeseCameraDeviceMonitor *monitor,
 static void
 cheese_camera_detect_camera_devices (CheeseCamera *camera)
 {
-  CheeseCameraPrivate       *priv = camera->priv;
+    CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
 
   priv->num_camera_devices = 0;
   priv->camera_devices     = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
@@ -385,7 +385,7 @@ cheese_camera_detect_camera_devices (CheeseCamera *camera)
 static gboolean
 cheese_camera_set_camera_source (CheeseCamera *camera)
 {
-  CheeseCameraPrivate *priv = camera->priv;
+    CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
 
   GError *err = NULL;
   gchar  *camera_input;
@@ -524,7 +524,7 @@ cheese_camera_set_video_recording (CheeseCamera *camera, GError **error)
 static gboolean
 cheese_camera_create_effects_preview_bin (CheeseCamera *camera, GError **error)
 {
-  CheeseCameraPrivate *priv = camera->priv;
+    CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
 
   gboolean ok = TRUE;
   GstElement *scale;
@@ -587,7 +587,7 @@ cheese_camera_create_effects_preview_bin (CheeseCamera *camera, GError **error)
 static gboolean
 cheese_camera_create_video_filter_bin (CheeseCamera *camera, GError **error)
 {
-  CheeseCameraPrivate *priv = camera->priv;
+    CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
 
   gboolean ok = TRUE;
   GstPad  *pad;
@@ -658,7 +658,7 @@ cheese_camera_create_video_filter_bin (CheeseCamera *camera, GError **error)
 static guint
 cheese_camera_get_num_camera_devices (CheeseCamera *camera)
 {
-  CheeseCameraPrivate *priv = camera->priv;
+    CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
 
   return priv->num_camera_devices;
 }
@@ -679,7 +679,7 @@ cheese_camera_get_selected_device (CheeseCamera *camera)
 
   g_return_val_if_fail (CHEESE_IS_CAMERA (camera), NULL);
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   if (cheese_camera_get_num_camera_devices (camera) > 0)
     return CHEESE_CAMERA_DEVICE (
@@ -702,7 +702,7 @@ cheese_camera_switch_camera_device (CheeseCamera *camera)
 
   g_return_if_fail (CHEESE_IS_CAMERA (camera));
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   /* gboolean was_recording        = FALSE; */
   pipeline_was_playing = FALSE;
@@ -751,7 +751,7 @@ cheese_camera_set_new_caps (CheeseCamera *camera)
 
   g_return_if_fail (CHEESE_IS_CAMERA (camera));
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
   device = g_ptr_array_index (priv->camera_devices, priv->selected_device);
   caps = cheese_camera_device_get_caps_for_format (device, priv->current_format);
 
@@ -822,7 +822,7 @@ cheese_camera_stop (CheeseCamera *camera)
 
   g_return_if_fail (CHEESE_IS_CAMERA (camera));
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   if (priv->camerabin != NULL)
     gst_element_set_state (priv->camerabin, GST_STATE_NULL);
@@ -844,7 +844,7 @@ cheese_camera_change_effect_filter (CheeseCamera *camera, GstElement *new_filter
 
   g_return_if_fail (CHEESE_IS_CAMERA (camera));
 
-  priv = camera->priv;
+  priv = cheese_camera_get_instance_private (camera);
 
   g_object_set (G_OBJECT (priv->main_valve), "drop", TRUE, NULL);
 
@@ -937,16 +937,20 @@ cheese_camera_element_from_effect (CheeseCamera *camera, CheeseEffect *effect)
 void
 cheese_camera_set_effect (CheeseCamera *camera, CheeseEffect *effect)
 {
+    CheeseCameraPrivate *priv;
   const gchar *effect_desc = cheese_effect_get_pipeline_desc (effect);
   GstElement *effect_filter;
 
   g_return_if_fail (CHEESE_IS_CAMERA (camera));
 
-  if (strcmp (camera->priv->current_effect_desc, effect_desc) == 0)
-  {
-    GST_INFO_OBJECT (camera, "Effect is: \"%s\", not updating", effect_desc);
-    return;
-  }
+    priv = cheese_camera_get_instance_private (camera);
+
+    if (strcmp (priv->current_effect_desc, effect_desc) == 0)
+    {
+        GST_INFO_OBJECT (camera, "Effect is: \"%s\", not updating",
+                         effect_desc);
+        return;
+    }
 
   GST_INFO_OBJECT (camera, "Changing effect to: \"%s\"", effect_desc);
 
@@ -954,12 +958,13 @@ cheese_camera_set_effect (CheeseCamera *camera, CheeseEffect *effect)
     effect_filter = gst_element_factory_make ("identity", "effect");
   else
     effect_filter = cheese_camera_element_from_effect (camera, effect);
-  if (effect_filter != NULL)
-  {
-    cheese_camera_change_effect_filter (camera, effect_filter);
-    g_free (camera->priv->current_effect_desc);
-    camera->priv->current_effect_desc = g_strdup(effect_desc);
-  }
+
+    if (effect_filter != NULL)
+    {
+        cheese_camera_change_effect_filter (camera, effect_filter);
+        g_free (priv->current_effect_desc);
+        priv->current_effect_desc = g_strdup (effect_desc);
+    }
 }
 
 /**
@@ -976,7 +981,7 @@ cheese_camera_toggle_effects_pipeline (CheeseCamera *camera, gboolean active)
 
   g_return_if_fail (CHEESE_IS_CAMERA (camera));
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   if (active)
   {
@@ -1011,7 +1016,7 @@ cheese_camera_connect_effect_texture (CheeseCamera *camera, CheeseEffect *effect
   gboolean ok;
   g_return_if_fail (CHEESE_IS_CAMERA (camera));
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
   ok = TRUE;
 
   g_object_set (G_OBJECT (priv->effects_valve), "drop", TRUE, NULL);
@@ -1077,7 +1082,7 @@ cheese_camera_set_tags (CheeseCamera *camera)
       GST_TAG_DEVICE_MODEL, device_name,
       GST_TAG_KEYWORDS, PACKAGE_NAME, NULL);
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
   gst_tag_setter_merge_tags (GST_TAG_SETTER (priv->camerabin), taglist,
         GST_TAG_MERGE_REPLACE);
 
@@ -1100,7 +1105,7 @@ cheese_camera_start_video_recording (CheeseCamera *camera, const gchar *filename
 
   g_return_if_fail (CHEESE_IS_CAMERA (camera));
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   g_object_set (priv->camerabin, "mode", MODE_VIDEO, NULL);
   g_object_set (priv->camerabin, "location", filename, NULL);
@@ -1121,7 +1126,7 @@ static gboolean
 cheese_camera_force_stop_video_recording (gpointer data)
 {
   CheeseCamera        *camera = CHEESE_CAMERA (data);
-  CheeseCameraPrivate *priv   = camera->priv;
+    CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
 
   if (priv->is_recording)
   {
@@ -1150,7 +1155,7 @@ cheese_camera_stop_video_recording (CheeseCamera *camera)
 
   g_return_if_fail (CHEESE_IS_CAMERA (camera));
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   gst_element_get_state (priv->camerabin, &state, NULL, 0);
 
@@ -1181,7 +1186,7 @@ cheese_camera_take_photo (CheeseCamera *camera, const gchar *filename)
 
   g_return_val_if_fail (CHEESE_IS_CAMERA (camera), FALSE);
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   g_object_get (priv->camera_source, "ready-for-capture", &ready, NULL);
   if (!ready)
@@ -1225,7 +1230,7 @@ cheese_camera_take_photo_pixbuf (CheeseCamera *camera)
 
   g_return_val_if_fail (CHEESE_IS_CAMERA (camera), FALSE);
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   g_object_get (priv->camera_source, "ready-for-capture", &ready, NULL);
   if (!ready)
@@ -1261,7 +1266,7 @@ cheese_camera_finalize (GObject *object)
   CheeseCameraPrivate *priv;
 
   camera = CHEESE_CAMERA (object);
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   cheese_camera_stop (camera);
 
@@ -1290,7 +1295,7 @@ cheese_camera_get_property (GObject *object, guint prop_id, GValue *value,
   CheeseCameraPrivate *priv;
 
   self = CHEESE_CAMERA (object);
-  priv = self->priv;
+    priv = cheese_camera_get_instance_private (self);
 
   switch (prop_id)
   {
@@ -1320,7 +1325,7 @@ cheese_camera_set_property (GObject *object, guint prop_id, const GValue *value,
   CheeseCameraPrivate *priv;
 
   self = CHEESE_CAMERA (object);
-  priv = self->priv;
+  priv = cheese_camera_get_instance_private (self);
 
   switch (prop_id)
   {
@@ -1467,17 +1472,10 @@ cheese_camera_class_init (CheeseCameraClass *klass)
 static void
 cheese_camera_init (CheeseCamera *camera)
 {
-  CheeseCameraPrivate *priv = camera->priv = cheese_camera_get_instance_private (camera);
+    CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
 
   priv->is_recording            = FALSE;
   priv->pipeline_is_playing     = FALSE;
-  priv->photo_filename          = NULL;
-  priv->camera_devices          = NULL;
-  priv->device_node             = NULL;
-  priv->current_format          = NULL;
-  priv->monitor                 = NULL;
-  priv->camera_source           = NULL;
-  priv->video_source            = NULL;
 }
 
 /**
@@ -1539,7 +1537,7 @@ cheese_camera_set_device_by_device_node (CheeseCamera *camera, const gchar *file
 static void
 cheese_camera_set_device_by_dev_uuid (CheeseCamera *camera, const gchar *uuid)
 {
-  CheeseCameraPrivate *priv = camera->priv;
+    CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
   gint                 i;
 
   for (i = 0; i < priv->num_camera_devices; i++)
@@ -1573,7 +1571,7 @@ cheese_camera_setup (CheeseCamera *camera, const gchar *uuid, GError **error)
   g_return_if_fail (error == NULL || *error == NULL);
   g_return_if_fail (CHEESE_IS_CAMERA (camera));
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   cheese_camera_detect_camera_devices (camera);
 
@@ -1651,7 +1649,7 @@ cheese_camera_get_camera_devices (CheeseCamera *camera)
 
   g_return_val_if_fail (CHEESE_IS_CAMERA (camera), NULL);
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   return g_ptr_array_ref (priv->camera_devices);
 }
@@ -1693,7 +1691,7 @@ cheese_camera_get_video_formats (CheeseCamera *camera)
 static gboolean
 cheese_camera_is_playing (CheeseCamera *camera)
 {
-  CheeseCameraPrivate *priv = camera->priv;
+  CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
 
   return priv->pipeline_is_playing;
 }
@@ -1713,7 +1711,7 @@ cheese_camera_set_video_format (CheeseCamera *camera, CheeseVideoFormat *format)
 
   g_return_if_fail (CHEESE_IS_CAMERA (camera) || format != NULL);
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   if (!(priv->current_format->width == format->width &&
         priv->current_format->height == format->height))
@@ -1742,7 +1740,7 @@ cheese_camera_get_current_video_format (CheeseCamera *camera)
 
   g_return_val_if_fail (CHEESE_IS_CAMERA (camera), NULL);
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   return priv->current_format;
 }
@@ -1770,7 +1768,7 @@ cheese_camera_get_balance_property_range (CheeseCamera *camera,
 
   g_return_val_if_fail (CHEESE_IS_CAMERA (camera), FALSE);
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   *min = 0.0;
   *max = 1.0;
@@ -1805,7 +1803,7 @@ cheese_camera_set_balance_property (CheeseCamera *camera, const gchar *property,
 
   g_return_if_fail (CHEESE_IS_CAMERA (camera));
 
-  priv = camera->priv;
+    priv = cheese_camera_get_instance_private (camera);
 
   g_object_set (G_OBJECT (priv->video_balance), property, value, NULL);
 }
@@ -1822,7 +1820,7 @@ cheese_camera_set_balance_property (CheeseCamera *camera, const gchar *property,
 gchar *
 cheese_camera_get_recorded_time (CheeseCamera *camera)
 {
-  CheeseCameraPrivate *priv = camera->priv;
+    CheeseCameraPrivate *priv = cheese_camera_get_instance_private (camera);
   GstFormat format = GST_FORMAT_TIME;
   gint64 curtime;
   GstElement *videosink;
diff --git a/libcheese/cheese-camera.h b/libcheese/cheese-camera.h
index c837e49..bbad2bd 100644
--- a/libcheese/cheese-camera.h
+++ b/libcheese/cheese-camera.h
@@ -74,7 +74,7 @@ struct _CheeseCamera
 {
   /*< private >*/
   GObject parent;
-  CheeseCameraPrivate *priv;
+  void *unused;
 };
 
 /**
diff --git a/libcheese/cheese-effect.c b/libcheese/cheese-effect.c
index aa587a6..131b4b8 100644
--- a/libcheese/cheese-effect.c
+++ b/libcheese/cheese-effect.c
@@ -55,7 +55,7 @@ static void
 cheese_effect_get_property (GObject *object, guint property_id,
                             GValue *value, GParamSpec *pspec)
 {
-  CheeseEffectPrivate *priv = CHEESE_EFFECT (object)->priv;
+    CheeseEffectPrivate *priv = cheese_effect_get_instance_private (CHEESE_EFFECT (object));
 
   switch (property_id)
   {
@@ -77,7 +77,7 @@ static void
 cheese_effect_set_property (GObject *object, guint property_id,
                             const GValue *value, GParamSpec *pspec)
 {
-  CheeseEffectPrivate *priv = CHEESE_EFFECT (object)->priv;
+    CheeseEffectPrivate *priv = cheese_effect_get_instance_private (CHEESE_EFFECT (object));
 
   switch (property_id)
   {
@@ -107,7 +107,7 @@ cheese_effect_finalize (GObject *object)
     CheeseEffectPrivate *priv;
 
     effect = CHEESE_EFFECT (object);
-    priv = effect->priv;
+    priv = cheese_effect_get_instance_private (effect);
 
     g_clear_pointer (&priv->name, g_free);
     g_clear_pointer (&priv->pipeline_desc, g_free);
@@ -179,9 +179,13 @@ cheese_effect_class_init (CheeseEffectClass *klass)
 const gchar *
 cheese_effect_get_name (CheeseEffect *effect)
 {
+    CheeseEffectPrivate *priv;
+
   g_return_val_if_fail (CHEESE_IS_EFFECT (effect), NULL);
 
-  return effect->priv->name;
+    priv = cheese_effect_get_instance_private (effect);
+
+    return priv->name;
 }
 
 /**
@@ -195,9 +199,13 @@ cheese_effect_get_name (CheeseEffect *effect)
 const gchar *
 cheese_effect_get_pipeline_desc (CheeseEffect *effect)
 {
+    CheeseEffectPrivate *priv;
+
   g_return_val_if_fail (CHEESE_IS_EFFECT (effect), NULL);
 
-  return effect->priv->pipeline_desc;
+    priv = cheese_effect_get_instance_private (effect);
+
+    return priv->pipeline_desc;
 }
 
 /**
@@ -211,9 +219,13 @@ cheese_effect_get_pipeline_desc (CheeseEffect *effect)
 gboolean
 cheese_effect_is_preview_connected (CheeseEffect *effect)
 {
+    CheeseEffectPrivate *priv;
+
   g_return_val_if_fail (CHEESE_IS_EFFECT (effect), FALSE);
 
-  return effect->priv->control_valve != NULL;
+    priv = cheese_effect_get_instance_private (effect);
+
+    return priv->control_valve != NULL;
 }
 
 /**
@@ -225,9 +237,13 @@ cheese_effect_is_preview_connected (CheeseEffect *effect)
 void
 cheese_effect_enable_preview (CheeseEffect *effect)
 {
+    CheeseEffectPrivate *priv;
+
   g_return_if_fail (CHEESE_IS_EFFECT (effect));
 
-  g_object_set (G_OBJECT (effect->priv->control_valve), "drop", FALSE, NULL);
+    priv = cheese_effect_get_instance_private (effect);
+
+    g_object_set (G_OBJECT (priv->control_valve), "drop", FALSE, NULL);
 }
 
 /**
@@ -239,15 +255,18 @@ cheese_effect_enable_preview (CheeseEffect *effect)
 void
 cheese_effect_disable_preview (CheeseEffect *effect)
 {
+    CheeseEffectPrivate *priv;
+
   g_return_if_fail (CHEESE_IS_EFFECT (effect));
 
-  g_object_set (G_OBJECT (effect->priv->control_valve), "drop", TRUE, NULL);
+    priv = cheese_effect_get_instance_private (effect);
+
+    g_object_set (G_OBJECT (priv->control_valve), "drop", TRUE, NULL);
 }
 
 static void
 cheese_effect_init (CheeseEffect *self)
 {
-  self->priv = cheese_effect_get_instance_private (self);
 }
 
 /**
diff --git a/libcheese/cheese-effect.h b/libcheese/cheese-effect.h
index c717ff4..287790e 100644
--- a/libcheese/cheese-effect.h
+++ b/libcheese/cheese-effect.h
@@ -65,7 +65,7 @@ struct _CheeseEffect
 {
   /*< private >*/
   GObject parent;
-  CheeseEffectPrivate *priv;
+  void *unused;
 };
 
 GType cheese_effect_get_type (void);
diff --git a/libcheese/cheese-fileutil.c b/libcheese/cheese-fileutil.c
index 5ba830e..161bdc2 100644
--- a/libcheese/cheese-fileutil.c
+++ b/libcheese/cheese-fileutil.c
@@ -63,9 +63,13 @@ cheese_fileutil_get_path_before_224 (CheeseFileUtil *fileutil);
 const gchar *
 cheese_fileutil_get_video_path (CheeseFileUtil *fileutil)
 {
+    CheeseFileUtilPrivate *priv;
+
   g_return_val_if_fail (CHEESE_IS_FILEUTIL (fileutil), NULL);
 
-  return fileutil->priv->video_path;
+    priv = cheese_fileutil_get_instance_private (fileutil);
+
+    return priv->video_path;
 }
 
 /**
@@ -79,9 +83,13 @@ cheese_fileutil_get_video_path (CheeseFileUtil *fileutil)
 const gchar *
 cheese_fileutil_get_photo_path (CheeseFileUtil *fileutil)
 {
+    CheeseFileUtilPrivate *priv;
+
   g_return_val_if_fail (CHEESE_IS_FILEUTIL (fileutil), NULL);
 
-  return fileutil->priv->photo_path;
+    priv = cheese_fileutil_get_instance_private (fileutil);
+
+    return priv->photo_path;
 }
 
 /*
@@ -121,7 +129,7 @@ cheese_fileutil_get_new_media_filename (CheeseFileUtil *fileutil, CheeseMediaMod
 
   g_return_val_if_fail (CHEESE_IS_FILEUTIL (fileutil), NULL);
 
-  priv = fileutil->priv;
+    priv = cheese_fileutil_get_instance_private (fileutil);
 
   datetime = g_date_time_new_now_local ();
 
@@ -215,7 +223,7 @@ cheese_fileutil_reset_burst (CheeseFileUtil *fileutil)
 
   g_return_if_fail (CHEESE_IS_FILEUTIL (fileutil));
 
-  priv = fileutil->priv;
+    priv = cheese_fileutil_get_instance_private (fileutil);
 
   priv->burst_count    = 0;
   priv->burst_raw_name = "";
@@ -225,7 +233,7 @@ static void
 cheese_fileutil_finalize (GObject *object)
 {
   CheeseFileUtil *fileutil = CHEESE_FILEUTIL (object);
-  CheeseFileUtilPrivate *priv = fileutil->priv;
+    CheeseFileUtilPrivate *priv = cheese_fileutil_get_instance_private (fileutil);;
 
   g_free (priv->video_path);
   g_free (priv->photo_path);
@@ -243,7 +251,7 @@ cheese_fileutil_class_init (CheeseFileUtilClass *klass)
 static void
 cheese_fileutil_init (CheeseFileUtil *fileutil)
 {
-    CheeseFileUtilPrivate *priv = fileutil->priv = cheese_fileutil_get_instance_private (fileutil);
+    CheeseFileUtilPrivate *priv = cheese_fileutil_get_instance_private (fileutil);
 
     GSettings *settings;
 
diff --git a/libcheese/cheese-fileutil.h b/libcheese/cheese-fileutil.h
index dfdf766..0553020 100644
--- a/libcheese/cheese-fileutil.h
+++ b/libcheese/cheese-fileutil.h
@@ -71,7 +71,7 @@ struct _CheeseFileUtil
 {
   /*< private >*/
   GObject parent;
-  CheeseFileUtilPrivate *priv;
+  void *unused;
 };
 
 /**
diff --git a/libcheese/cheese-flash.c b/libcheese/cheese-flash.c
index cec97a2..ea4ce2b 100644
--- a/libcheese/cheese-flash.c
+++ b/libcheese/cheese-flash.c
@@ -78,7 +78,7 @@ G_DEFINE_TYPE_WITH_PRIVATE (CheeseFlash, cheese_flash, GTK_TYPE_WINDOW)
 static void
 cheese_flash_init (CheeseFlash *self)
 {
-  CheeseFlashPrivate *priv = self->priv = cheese_flash_get_instance_private (self);
+    CheeseFlashPrivate *priv = cheese_flash_get_instance_private (self);
   cairo_region_t *input_region;
   GtkWindow *window = GTK_WINDOW (self);
   const GdkRGBA white = { 1.0, 1.0, 1.0, 1.0 };
@@ -111,28 +111,20 @@ cheese_flash_init (CheeseFlash *self)
 static void
 cheese_flash_dispose (GObject *object)
 {
-  CheeseFlashPrivate *priv = CHEESE_FLASH (object)->priv;
+    CheeseFlashPrivate *priv = cheese_flash_get_instance_private (CHEESE_FLASH (object));
 
   g_clear_object (&priv->parent);
 
-  if (G_OBJECT_CLASS (cheese_flash_parent_class)->dispose)
     G_OBJECT_CLASS (cheese_flash_parent_class)->dispose (object);
 }
 
 static void
-cheese_flash_finalize (GObject *object)
-{
-  if (G_OBJECT_CLASS (cheese_flash_parent_class)->finalize)
-    G_OBJECT_CLASS (cheese_flash_parent_class)->finalize (object);
-}
-
-static void
 cheese_flash_set_property (GObject      *object,
                            guint         prop_id,
                            const GValue *value,
                            GParamSpec   *pspec)
 {
-  CheeseFlashPrivate *priv = CHEESE_FLASH (object)->priv;
+    CheeseFlashPrivate *priv = cheese_flash_get_instance_private (CHEESE_FLASH (object));
 
   switch (prop_id)
   {
@@ -158,7 +150,6 @@ cheese_flash_class_init (CheeseFlashClass *klass)
 
   object_class->set_property = cheese_flash_set_property;
   object_class->dispose      = cheese_flash_dispose;
-  object_class->finalize     = cheese_flash_finalize;
 
   /**
    * CheeseFlash:parent:
@@ -223,7 +214,7 @@ cheese_flash_opacity_fade (gpointer data)
 static gboolean
 cheese_flash_start_fade (gpointer data)
 {
-  CheeseFlashPrivate *flash_priv = CHEESE_FLASH (data)->priv;
+    CheeseFlashPrivate *priv = cheese_flash_get_instance_private (CHEESE_FLASH (data));
 
   GtkWindow *flash_window = GTK_WINDOW (data);
 
@@ -234,8 +225,8 @@ cheese_flash_start_fade (gpointer data)
     return G_SOURCE_REMOVE;
   }
 
-  flash_priv->fade_timeout_tag = g_timeout_add (1000.0 / FLASH_ANIMATION_RATE, cheese_flash_opacity_fade, 
data);
-  flash_priv->flash_timeout_tag = 0;
+    priv->fade_timeout_tag = g_timeout_add (1000.0 / FLASH_ANIMATION_RATE, cheese_flash_opacity_fade, data);
+    priv->flash_timeout_tag = 0;
   return G_SOURCE_REMOVE;
 }
 
@@ -248,7 +239,7 @@ cheese_flash_start_fade (gpointer data)
 void
 cheese_flash_fire (CheeseFlash *flash)
 {
-  CheeseFlashPrivate *flash_priv;
+    CheeseFlashPrivate *priv;
   GtkWidget          *parent;
   GdkScreen          *screen;
   GdkRectangle        rect, work_rect;
@@ -257,27 +248,27 @@ cheese_flash_fire (CheeseFlash *flash)
 
   g_return_if_fail (CHEESE_IS_FLASH (flash));
 
-  flash_priv = flash->priv;
+    priv = cheese_flash_get_instance_private (flash);
 
-  g_return_if_fail (flash_priv->parent != NULL);
+    g_return_if_fail (priv->parent != NULL);
 
   flash_window = GTK_WINDOW (flash);
 
-  if (flash_priv->flash_timeout_tag > 0)
-  {
-    g_source_remove (flash_priv->flash_timeout_tag);
-    flash_priv->flash_timeout_tag = 0;
-  }
+    if (priv->flash_timeout_tag > 0)
+    {
+        g_source_remove (priv->flash_timeout_tag);
+        priv->flash_timeout_tag = 0;
+    }
 
-  if (flash_priv->fade_timeout_tag > 0)
-  {
-    g_source_remove (flash_priv->fade_timeout_tag);
-    flash_priv->fade_timeout_tag = 0;
-  }
+    if (priv->fade_timeout_tag > 0)
+    {
+        g_source_remove (priv->fade_timeout_tag);
+        priv->fade_timeout_tag = 0;
+    }
 
-  flash_priv->opacity = 1.0;
+    priv->opacity = 1.0;
 
-  parent  = gtk_widget_get_toplevel (flash_priv->parent);
+    parent = gtk_widget_get_toplevel (priv->parent);
   screen  = gtk_widget_get_screen (parent);
   monitor = gdk_screen_get_monitor_at_window (screen,
                                              gtk_widget_get_window (parent));
@@ -292,7 +283,7 @@ cheese_flash_fire (CheeseFlash *flash)
 
   gtk_widget_set_opacity (GTK_WIDGET (flash_window), 1);
   gtk_widget_show_all (GTK_WIDGET (flash_window));
-  flash_priv->flash_timeout_tag = g_timeout_add (FLASH_DURATION, cheese_flash_start_fade, (gpointer) flash);
+    priv->flash_timeout_tag = g_timeout_add (FLASH_DURATION, cheese_flash_start_fade, (gpointer) flash);
 }
 
 /**
diff --git a/libcheese/cheese-flash.h b/libcheese/cheese-flash.h
index 93b46b2..e1ca6ad 100644
--- a/libcheese/cheese-flash.h
+++ b/libcheese/cheese-flash.h
@@ -56,7 +56,7 @@ struct _CheeseFlash
 {
   /*< private >*/
   GtkWindow parent_instance;
-  CheeseFlashPrivate *priv;
+  void *unused;
 };
 
 GType        cheese_flash_get_type (void);
diff --git a/libcheese/cheese-widget.c b/libcheese/cheese-widget.c
index 40e24b5..23619d6 100644
--- a/libcheese/cheese-widget.c
+++ b/libcheese/cheese-widget.c
@@ -172,7 +172,7 @@ static void
 cheese_widget_set_problem_page (CheeseWidget *widget,
                                 const char   *icon_name)
 {
-  CheeseWidgetPrivate *priv = widget->priv;
+    CheeseWidgetPrivate *priv = cheese_widget_get_instance_private (widget);
 
     priv->state = CHEESE_WIDGET_STATE_ERROR;
     g_object_notify_by_pspec (G_OBJECT (widget), properties[PROP_STATE]);
@@ -187,7 +187,7 @@ cheese_widget_set_problem_page (CheeseWidget *widget,
 static void
 cheese_widget_init (CheeseWidget *widget)
 {
-  CheeseWidgetPrivate *priv = widget->priv = cheese_widget_get_instance_private (widget);
+    CheeseWidgetPrivate *priv = cheese_widget_get_instance_private (widget);
   GtkWidget           *box;
   ClutterActor        *stage, *frame;
   ClutterColor black = { 0x00, 0x00, 0x00, 0xff };
@@ -241,7 +241,7 @@ cheese_widget_init (CheeseWidget *widget)
 static void
 cheese_widget_finalize (GObject *object)
 {
-  CheeseWidgetPrivate *priv = ((CheeseWidget *) object)->priv;
+    CheeseWidgetPrivate *priv = cheese_widget_get_instance_private (CHEESE_WIDGET (object));
 
   g_clear_object (&priv->settings);
   g_clear_object (&priv->webcam);
@@ -253,10 +253,12 @@ static void
 cheese_widget_get_property (GObject *object, guint prop_id,
                             GValue *value, GParamSpec *pspec)
 {
-  CheeseWidgetPrivate *priv = ((CheeseWidget *) object)->priv;
+    CheeseWidgetPrivate *priv;
 
   g_return_if_fail (CHEESE_IS_WIDGET (object));
 
+    priv = cheese_widget_get_instance_private (CHEESE_WIDGET (object));
+
   switch (prop_id)
   {
     case PROP_STATE:
@@ -295,7 +297,7 @@ webcam_state_changed (CheeseCamera *camera, GstState state,
 static void
 setup_camera (CheeseWidget *widget)
 {
-    CheeseWidgetPrivate *priv = widget->priv;
+    CheeseWidgetPrivate *priv = cheese_widget_get_instance_private (widget);
     gchar *webcam_device;
     gint x_resolution;
     gint y_resolution;
@@ -349,7 +351,9 @@ setup_camera (CheeseWidget *widget)
 static void
 cheese_widget_realize (GtkWidget *widget)
 {
-  CheeseWidgetPrivate *priv = ((CheeseWidget *) widget)->priv;
+    CheeseWidgetPrivate *priv;
+
+    priv = cheese_widget_get_instance_private (CHEESE_WIDGET (widget));
 
   GTK_WIDGET_CLASS (cheese_widget_parent_class)->realize (widget);
 
@@ -372,9 +376,6 @@ cheese_widget_class_init (CheeseWidgetClass *klass)
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   object_class->finalize = cheese_widget_finalize;
-#if 0
-  object_class->set_property = cheese_widget_set_property;
-#endif
   object_class->get_property = cheese_widget_get_property;
   widget_class->realize      = cheese_widget_realize;
 
@@ -415,9 +416,13 @@ cheese_widget_new (void)
 GSettings *
 cheese_widget_get_settings (CheeseWidget *widget)
 {
+    CheeseWidgetPrivate *priv;
+
   g_return_val_if_fail (CHEESE_WIDGET (widget), NULL);
 
-  return widget->priv->settings;
+    priv = cheese_widget_get_instance_private (widget);
+
+    return priv->settings;
 }
 
 /*
@@ -429,9 +434,13 @@ cheese_widget_get_settings (CheeseWidget *widget)
 GObject *
 cheese_widget_get_camera (CheeseWidget *widget)
 {
+    CheeseWidgetPrivate *priv;
+
   g_return_val_if_fail (CHEESE_WIDGET (widget), NULL);
 
-  return G_OBJECT (widget->priv->webcam);
+    priv = cheese_widget_get_instance_private (widget);
+
+    return G_OBJECT (priv->webcam);
 }
 
 /*
@@ -443,9 +452,13 @@ cheese_widget_get_camera (CheeseWidget *widget)
 GtkWidget *
 cheese_widget_get_video_area (CheeseWidget *widget)
 {
+    CheeseWidgetPrivate *priv;
+
   g_return_val_if_fail (CHEESE_WIDGET (widget), NULL);
 
-  return widget->priv->screen;
+    priv = cheese_widget_get_instance_private (widget);
+
+    return priv->screen;
 }
 
 /**
@@ -465,7 +478,7 @@ cheese_widget_get_error (CheeseWidget *widget, GError **error)
 
   g_return_if_fail (CHEESE_WIDGET (widget));
 
-  priv = (widget)->priv;
+    priv = cheese_widget_get_instance_private (widget);
 
   g_propagate_error (error, priv->error);
 
diff --git a/libcheese/cheese-widget.h b/libcheese/cheese-widget.h
index dd848ca..799c7c0 100644
--- a/libcheese/cheese-widget.h
+++ b/libcheese/cheese-widget.h
@@ -61,7 +61,7 @@ struct _CheeseWidget
 {
   /*< private >*/
   GtkNotebook parent_instance;
-  CheeseWidgetPrivate *priv;
+  void *unused;
 };
 
 GType cheese_widget_get_type (void);
diff --git a/libcheese/um-crop-area.c b/libcheese/um-crop-area.c
index 7a9c064..c25fff8 100644
--- a/libcheese/um-crop-area.c
+++ b/libcheese/um-crop-area.c
@@ -38,7 +38,7 @@
  * crop an avatar from an image taken from a webcam.
  */
 
-struct _UmCropAreaPrivate {
+typedef struct {
         GdkPixbuf *browse_pixbuf;
         GdkPixbuf *pixbuf;
         GdkPixbuf *color_shifted;
@@ -52,7 +52,7 @@ struct _UmCropAreaPrivate {
         gint base_width;
         gint base_height;
         gdouble aspect;
-};
+} UmCropAreaPrivate;
 
 G_DEFINE_TYPE_WITH_PRIVATE (UmCropArea, um_crop_area, GTK_TYPE_DRAWING_AREA)
 
diff --git a/libcheese/um-crop-area.h b/libcheese/um-crop-area.h
index 03e9c35..d8380f6 100644
--- a/libcheese/um-crop-area.h
+++ b/libcheese/um-crop-area.h
@@ -37,7 +37,6 @@ G_BEGIN_DECLS
 
 typedef struct _UmCropAreaClass UmCropAreaClass;
 typedef struct _UmCropArea UmCropArea;
-typedef struct _UmCropAreaPrivate UmCropAreaPrivate;
 
 /*
  * UmCropAreaClass:


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