* src/modest-email-clipboard.[ch]:
authorJose Dapena Paz <jdapena@igalia.com>
Tue, 20 Nov 2007 09:53:59 +0000 (09:53 +0000)
committerJose Dapena Paz <jdapena@igalia.com>
Tue, 20 Nov 2007 09:53:59 +0000 (09:53 +0000)
        * Now we have a permanent reference to private structure in
          ModestEmailClipboard instance. This is for retrieving this
          faster (we need this to improve speed of a frequent operation
          as modest_email_clipboard_cleared is).

pmo-trunk-r3776

src/modest-email-clipboard.c
src/modest-email-clipboard.h

index 933f09e..1617621 100644 (file)
@@ -38,7 +38,6 @@ static void modest_email_clipboard_finalize   (GObject * obj);
 /* globals */
 static GObjectClass *parent_class = NULL;
 
 /* globals */
 static GObjectClass *parent_class = NULL;
 
-typedef struct _ModestEmailClipboardPrivate ModestEmailClipboardPrivate;
 struct _ModestEmailClipboardPrivate {
        TnyList    *selection;
        TnyFolder  *src;        
 struct _ModestEmailClipboardPrivate {
        TnyList    *selection;
        TnyFolder  *src;        
@@ -57,7 +56,7 @@ modest_email_clipboard_get_type (void)
 {
        static GType my_type = 0;
 
 {
        static GType my_type = 0;
 
-       if (!my_type) {
+       if (G_UNLIKELY (!my_type)) {
                static const GTypeInfo my_info = {
                        sizeof (ModestEmailClipboardClass),
                        NULL,   /* base init */
                static const GTypeInfo my_info = {
                        sizeof (ModestEmailClipboardClass),
                        NULL,   /* base init */
@@ -99,13 +98,14 @@ modest_email_clipboard_class_init (ModestEmailClipboardClass * klass)
 static void
 modest_email_clipboard_init (ModestEmailClipboard * obj)
 {
 static void
 modest_email_clipboard_init (ModestEmailClipboard * obj)
 {
-       ModestEmailClipboardPrivate *priv =
-               MODEST_EMAIL_CLIPBOARD_GET_PRIVATE (obj);
+
+       if (obj->priv == NULL)
+               obj->priv = MODEST_EMAIL_CLIPBOARD_GET_PRIVATE (obj);
        
        
-       priv->src = NULL;
-       priv->selection = NULL;
-       priv->hidding = NULL;
-       priv->delete = FALSE;
+       obj->priv->src = NULL;
+       obj->priv->selection = NULL;
+       obj->priv->hidding = NULL;
+       obj->priv->delete = FALSE;
 }
 
 static void
 }
 
 static void
@@ -244,13 +244,11 @@ modest_email_clipboard_clear (ModestEmailClipboard *self)
 gboolean
 modest_email_clipboard_cleared (ModestEmailClipboard *self)
 {
 gboolean
 modest_email_clipboard_cleared (ModestEmailClipboard *self)
 {
-       ModestEmailClipboardPrivate *priv = NULL;;
        gboolean cleared = FALSE;
 
        g_return_val_if_fail (MODEST_IS_EMAIL_CLIPBOARD (self), TRUE);
        gboolean cleared = FALSE;
 
        g_return_val_if_fail (MODEST_IS_EMAIL_CLIPBOARD (self), TRUE);
-       priv = MODEST_EMAIL_CLIPBOARD_GET_PRIVATE (self);
 
 
-       cleared = ((priv->src == NULL) && (priv->selection == NULL));
+       cleared = ((self->priv->src == NULL) && (self->priv->selection == NULL));
 
        return cleared;
 }
 
        return cleared;
 }
index bf64969..9db2d92 100644 (file)
@@ -48,9 +48,11 @@ G_BEGIN_DECLS
 
 typedef struct _ModestEmailClipboard      ModestEmailClipboard;
 typedef struct _ModestEmailClipboardClass ModestEmailClipboardClass;
 
 typedef struct _ModestEmailClipboard      ModestEmailClipboard;
 typedef struct _ModestEmailClipboardClass ModestEmailClipboardClass;
+typedef struct _ModestEmailClipboardPrivate ModestEmailClipboardPrivate;
 
 struct _ModestEmailClipboard {
         GObject parent;
 
 struct _ModestEmailClipboard {
         GObject parent;
+       ModestEmailClipboardPrivate *priv;
 };
 
 struct _ModestEmailClipboardClass {
 };
 
 struct _ModestEmailClipboardClass {