[balsa/wip/gtk4] More g_clear_* stuff



commit 58b96270bc21a781fea37db4dc1cfa4bc28a3e8d
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Sat Jul 14 13:07:02 2018 -0400

    More g_clear_* stuff

 libbalsa/address-book-extern.c    |  2 +-
 libbalsa/address-book-osmo.c      |  6 ++--
 libbalsa/address-book-text.c      |  3 +-
 libbalsa/html.c                   | 10 +++----
 libbalsa/libbalsa-gpgme-cb.c      |  2 +-
 libbalsa/libbalsa-vfs.c           | 17 ++++-------
 libbalsa/libbalsa.c               |  2 +-
 libbalsa/mailbox_imap.c           |  6 ++--
 libbalsa/mailbox_pop3.c           |  8 ++---
 libbalsa/message.c                | 16 +++++-----
 libbalsa/rfc2445.c                | 16 +++++-----
 libbalsa/rfc3156.c                | 30 +++++++++----------
 libbalsa/send.c                   | 61 +++++++++++++++------------------------
 libnetclient/net-client.c         |  4 +--
 src/ab-main.c                     |  5 ++--
 src/ab-window.c                   |  6 ++--
 src/balsa-message.c               | 31 +++++++++-----------
 src/balsa-mime-widget-message.c   |  2 +-
 src/balsa-mime-widget-text.c      |  7 ++---
 src/balsa-mime-widget-vcalendar.c |  5 ++--
 src/balsa-print-object-decor.c    |  2 +-
 src/balsa-print-object-default.c  |  4 +--
 src/balsa-print-object-header.c   |  6 ++--
 src/balsa-print-object-text.c     |  6 ++--
 src/compose-window.c              | 24 +++++++--------
 src/folder-conf.c                 |  6 ++--
 src/message-window.c              |  3 +-
 src/print-gtk.c                   | 13 ++++-----
 src/save-restore.c                |  8 +++--
 src/toolbar-factory.c             |  4 +--
 src/toolbar-prefs.c               | 16 +++++-----
 31 files changed, 144 insertions(+), 187 deletions(-)
---
diff --git a/libbalsa/address-book-extern.c b/libbalsa/address-book-extern.c
index b5cbdcff3..3ade770a9 100644
--- a/libbalsa/address-book-extern.c
+++ b/libbalsa/address-book-extern.c
@@ -189,7 +189,7 @@ lbe_load_cb(const gchar *email, const gchar *name, void *data)
     libbalsa_address_add_addr(address, email);
     libbalsa_address_set_full_name(address, name != NULL ? name : _("No-Name"));
     d->callback(d->ab, address, d->closure);
-    g_object_unref(G_OBJECT(address));
+    g_object_unref(address);
 }
 
 static LibBalsaABErr
diff --git a/libbalsa/address-book-osmo.c b/libbalsa/address-book-osmo.c
index 049396e73..51f3a12fc 100644
--- a/libbalsa/address-book-osmo.c
+++ b/libbalsa/address-book-osmo.c
@@ -337,14 +337,14 @@ osmo_read_addresses(LibBalsaAddressBookOsmo *osmo,
                                        if (libbalsa_address_get_addr(this_addr) != NULL) {
                                                addresses = g_list_prepend(addresses, this_addr);
                                        } else {
-                                               g_object_unref(G_OBJECT(this_addr));
+                                               g_object_unref(this_addr);
                                        }
                                }
                        } while (!eos && (*error == NULL));
 
                        /* clean up */
-                       g_object_unref(G_OBJECT(data));
-                       g_object_unref(G_OBJECT(stream));
+                       g_object_unref(data);
+                       g_object_unref(stream);
                        g_free(vcards);
                        g_variant_unref(reply);
 
diff --git a/libbalsa/address-book-text.c b/libbalsa/address-book-text.c
index e744158c3..82250a612 100644
--- a/libbalsa/address-book-text.c
+++ b/libbalsa/address-book-text.c
@@ -150,8 +150,7 @@ lbab_text_item_new(void)
 static void
 lbab_text_item_free(LibBalsaAddressBookTextItem * item)
 {
-    if (item->address)
-        g_object_unref(item->address);
+    g_clear_object(&item->address);
     g_free(item);
 }
 
diff --git a/libbalsa/html.c b/libbalsa/html.c
index 039c66908..887e7c9ab 100644
--- a/libbalsa/html.c
+++ b/libbalsa/html.c
@@ -122,9 +122,9 @@ html2text(gchar ** text, gsize len)
             g_free(html2text[pathidx]);
         }
         g_output_stream_close(ostream, NULL, NULL);
-        g_object_unref(G_OBJECT(stream));
+        g_object_unref(stream);
         g_file_delete(html_data, NULL, NULL);
-        g_object_unref(G_OBJECT(html_data));
+        g_object_unref(html_data);
     }
     if (err != NULL) {
         libbalsa_information(LIBBALSA_INFORMATION_ERROR,
@@ -955,10 +955,8 @@ libbalsa_html_print(GtkWidget * widget)
         response =
             webkit_print_operation_run_dialog(print_operation, NULL);
         if (response != WEBKIT_PRINT_OPERATION_RESPONSE_CANCEL) {
-            g_object_unref(settings);
-            settings =
-                webkit_print_operation_get_print_settings(print_operation);
-            g_object_ref(settings);
+            g_set_object(&settings,
+                webkit_print_operation_get_print_settings(print_operation));
         }
         g_object_unref(print_operation);
     }
diff --git a/libbalsa/libbalsa-gpgme-cb.c b/libbalsa/libbalsa-gpgme-cb.c
index 83f416c4f..6265199ec 100644
--- a/libbalsa/libbalsa-gpgme-cb.c
+++ b/libbalsa/libbalsa-gpgme-cb.c
@@ -261,7 +261,7 @@ lb_gpgme_select_key(const gchar * user_name, lb_key_sel_md_t mode, GList * keys,
        keys = keys->next;
     }
 
-    g_object_unref(G_OBJECT(model));
+    g_object_unref(model);
 
        renderer = gtk_cell_renderer_text_new();
        column =
diff --git a/libbalsa/libbalsa-vfs.c b/libbalsa/libbalsa-vfs.c
index 7f0f247bf..0d95ff044 100644
--- a/libbalsa/libbalsa-vfs.c
+++ b/libbalsa/libbalsa-vfs.c
@@ -151,7 +151,7 @@ libbalsa_vfs_new_from_uri(const gchar * uri)
         return NULL;
 
     if (!(retval->priv = g_new0(struct _LibbalsaVfsPriv, 1))) {
-        g_object_unref(G_OBJECT(retval));
+        g_object_unref(retval);
         return NULL;
     }
     retval->priv->text_attr = (LibBalsaTextAttribute) -1;
@@ -620,7 +620,7 @@ libbalsa_vfs_launch_app_for_body(LibBalsaMessageBody * mime_body,
     uri = g_filename_to_uri(mime_body->temp_filename, NULL, NULL);
     file = libbalsa_vfs_new_from_uri(uri);
     g_free(uri);
-    result = libbalsa_vfs_launch_app(file,object , err);
+    result = libbalsa_vfs_launch_app(file, object, err);
     g_object_unref(file);
 
     return result;
@@ -662,10 +662,9 @@ gio_add_vfs_menu_item(GtkMenu * menu, GAppInfo *app, GCallback callback,
         g_strdup_printf(_("Open with %s"), g_app_info_get_name(app));
     GtkWidget *menu_item = gtk_menu_item_new_with_label (menu_label);
     
-    g_object_ref(G_OBJECT(app));
     g_object_set_data_full(G_OBJECT(menu_item), LIBBALSA_VFS_MIME_ACTION,
-                          app, g_object_unref);
-    g_signal_connect(G_OBJECT (menu_item), "activate", callback, data);
+                          g_object_ref(app), g_object_unref);
+    g_signal_connect(menu_item, "activate", callback, data);
     gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item);
     g_free(menu_label);
 }
@@ -694,12 +693,8 @@ libbalsa_vfs_fill_menu_by_content_type(GtkMenu * menu,
             (!def_app || !g_app_info_equal(app, def_app)))
             gio_add_vfs_menu_item(menu, app, callback, data);
     }
-    if (def_app)
-        g_object_unref(def_app);
-    if (app_list) {
-        g_list_foreach(app_list, (GFunc) g_object_unref, NULL);
-        g_list_free(app_list);
-    }
+    g_clear_object(&def_app);
+    g_list_free_full(app_list, g_object_unref);
 }
 
 GtkWidget *
diff --git a/libbalsa/libbalsa.c b/libbalsa/libbalsa.c
index 6300ad112..4bc5a53c0 100644
--- a/libbalsa/libbalsa.c
+++ b/libbalsa/libbalsa.c
@@ -465,7 +465,7 @@ ask_cert_real(void *data)
     gcr_cert = gcr_simple_certificate_new(cert_der->data, cert_der->len);
     g_byte_array_unref(cert_der);
     cert_widget = GTK_WIDGET(gcr_certificate_widget_new(gcr_cert));
-    g_object_unref(G_OBJECT(gcr_cert));
+    g_object_unref(gcr_cert);
 
     str = g_string_new("");
     g_string_printf(str, _("<big><b>Authenticity of this certificate "
diff --git a/libbalsa/mailbox_imap.c b/libbalsa/mailbox_imap.c
index eb2c9f450..04b37a360 100644
--- a/libbalsa/mailbox_imap.c
+++ b/libbalsa/mailbox_imap.c
@@ -948,7 +948,7 @@ imap_exists_idle(gpointer data)
     }
 
     libbalsa_unlock_mailbox(mailbox);
-    g_object_unref(G_OBJECT(mailbox));
+    g_object_unref(mailbox);
 
     return FALSE;
 }
@@ -994,9 +994,7 @@ imap_expunge_cb(ImapMboxHandle      *handle,
 
     msg_info = message_info_from_msgno(mimap, seqno);
     if (msg_info) {
-        if (msg_info->message) {
-            g_object_unref(msg_info->message);
-        }
+        g_clear_object(&msg_info->message);
         g_array_remove_index(mimap->messages_info, seqno - 1);
     }
 
diff --git a/libbalsa/mailbox_pop3.c b/libbalsa/mailbox_pop3.c
index 10d7e398e..53679abba 100644
--- a/libbalsa/mailbox_pop3.c
+++ b/libbalsa/mailbox_pop3.c
@@ -343,7 +343,7 @@ pop_handler_close(pop_handler_t *handler,
             result = FALSE;
         }
     } else {
-        g_object_unref(G_OBJECT(handler->mbx_stream));
+        g_object_unref(handler->mbx_stream);
     }
     g_free(handler->path);
     g_free(handler);
@@ -533,7 +533,7 @@ libbalsa_mailbox_pop3_startup(LibBalsaServer      *server,
                                  libbalsa_server_get_cert_file(server),
                                  error->message);
             g_error_free(error);
-            g_object_unref(G_OBJECT(pop));
+            g_object_unref(pop);
             return NULL;
         }
     }
@@ -556,7 +556,7 @@ libbalsa_mailbox_pop3_startup(LibBalsaServer      *server,
                              error->message);
         g_error_free(error);
         net_client_shutdown(NET_CLIENT(pop));
-        g_object_unref(G_OBJECT(pop));
+        g_object_unref(pop);
         return NULL;
     }
 
@@ -761,7 +761,7 @@ libbalsa_mailbox_pop3_check(LibBalsaMailbox *mailbox)
         }
 
         /* done - clean up */
-        g_object_unref(G_OBJECT(pop));
+        g_object_unref(pop);
     }
 
     libbalsa_mailbox_progress_notify(mailbox, LIBBALSA_NTFY_FINISHED, 1.0, _("Finished"));
diff --git a/libbalsa/message.c b/libbalsa/message.c
index 11ce94e12..4915e7a84 100644
--- a/libbalsa/message.c
+++ b/libbalsa/message.c
@@ -878,15 +878,17 @@ void
 libbalsa_message_set_dispnotify(LibBalsaMessage *message,
                                 InternetAddress *ia)
 {
-    g_return_if_fail(message);
+    InternetAddressList *list = NULL;
 
-    g_object_unref(message->headers->dispnotify_to);
-    if (ia) {
-        message->headers->dispnotify_to = internet_address_list_new ();
-        internet_address_list_add (message->headers->dispnotify_to, ia);
-    } else {
-        message->headers->dispnotify_to = NULL;
+    g_return_if_fail(message != NULL);
+
+    if (ia != NULL) {
+        list = internet_address_list_new();
+        internet_address_list_add(list, ia);
     }
+
+    g_set_object(&message->headers->dispnotify_to, list);
+    g_clear_object(&list);
 }
 
 
diff --git a/libbalsa/rfc2445.c b/libbalsa/rfc2445.c
index a8dbbdd01..2f26a60d5 100644
--- a/libbalsa/rfc2445.c
+++ b/libbalsa/rfc2445.c
@@ -180,9 +180,7 @@ libbalsa_vevent_finalize(LibBalsaVEvent * self)
 {
     g_return_if_fail(self != NULL);
 
-    if (self->organizer) {
-       g_object_unref(self->organizer);
-    }
+    g_clear_object(&self->organizer);
     g_list_free_full(self->attendee, g_object_unref);
     g_free(self->uid);
     g_free(self->summary);
@@ -354,23 +352,23 @@ libbalsa_vcal_new_from_body(LibBalsaMessageBody * body)
                 else if (!g_ascii_strcasecmp(entry[0], "DESCRIPTION"))
                     STR_REPL_2445_TXT(event->description, value);
                 else if (!g_ascii_strcasecmp(entry[0], "ORGANIZER")) {
-                    if (event->organizer)
-                        g_object_unref(event->organizer);
-                    event->organizer =
+                    LibBalsaAddress *organizer =
                         cal_address_2445_to_lbaddress(value, entry + 1, TRUE);
-                } else if (!g_ascii_strcasecmp(entry[0], "ATTENDEE"))
+                    g_set_object(&event->organizer, organizer);
+                    g_clear_object(&organizer);
+                } else if (!g_ascii_strcasecmp(entry[0], "ATTENDEE")) {
                     event->attendee =
                         g_list_prepend(event->attendee,
                                        cal_address_2445_to_lbaddress(value,
                                                                      entry + 1,
                                                                      FALSE));
+                }
             }
            g_strfreev(entry);
        }
     }
     g_strfreev(lines);
-    if (event)
-       g_object_unref(event);
+    g_clear_object(&event);
 
     /* set the method */
     retval->method = vcal_str_to_method(method);
diff --git a/libbalsa/rfc3156.c b/libbalsa/rfc3156.c
index 20de720dc..e6e862506 100644
--- a/libbalsa/rfc3156.c
+++ b/libbalsa/rfc3156.c
@@ -220,8 +220,9 @@ libbalsa_sign_mime_object(GMimeObject ** content, const gchar * rfc822_for,
        return FALSE;
     }
 
-    g_object_unref(G_OBJECT(*content));
-    *content = GMIME_OBJECT(mps);
+    g_set_object(content, GMIME_OBJECT(mps));
+    g_object_unref(mps);
+
     return TRUE;
 }
 
@@ -271,12 +272,10 @@ libbalsa_encrypt_mime_object(GMimeObject ** content, GList * rfc822_for,
     g_ptr_array_unref(recipients);
 
     /* error checking */
-    if (!result) {
-       g_object_unref(encrypted_obj);
-    } else {
-    g_object_unref(G_OBJECT(*content));
-    *content = GMIME_OBJECT(encrypted_obj);
-    }
+    if (result)
+        g_set_object(content, encrypted_obj);
+    g_object_unref(encrypted_obj);
+
     return result;
 }
 
@@ -357,8 +356,8 @@ libbalsa_body_check_signature(LibBalsaMessageBody * body,
         || (g_mime_multipart_get_count
             (GMIME_MULTIPART(body->mime_part)) < 2))
         return FALSE;
-    if (body->parts->next->sig_info)
-       g_object_unref(G_OBJECT(body->parts->next->sig_info));
+
+    g_clear_object(&body->parts->next->sig_info);
 
     /* verify the signature */
     libbalsa_mailbox_lock_store(libbalsa_message_get_mailbox(body->message));
@@ -465,7 +464,7 @@ libbalsa_body_decrypt(LibBalsaMessageBody *body, gpgme_protocol_t protocol, GtkW
        if (status != GPG_ERR_NOT_SIGNED)
            body->sig_info = sig_state;
        else
-           g_object_unref(G_OBJECT(sig_state));
+           g_object_unref(sig_state);
     }
 
     return body;
@@ -549,9 +548,7 @@ libbalsa_rfc2440_verify(GMimePart * part, GMimeGpgmeSigstat ** sig_info)
     if (sig_info != NULL) {
         g_set_object(sig_info, result);
     }
-    if (result != NULL) {
-        g_object_unref(result);
-    }
+    g_clear_object(&result);
 
     return retval;
 }
@@ -608,9 +605,8 @@ libbalsa_rfc2440_decrypt(GMimePart * part, GMimeGpgmeSigstat ** sig_info,
 
        /* return the signature info if requested */
        if (sig_info && status != GPG_ERR_NOT_SIGNED)
-           *sig_info = result;
-       else
-           g_object_unref(G_OBJECT(result));
+           g_set_object(sig_info, result);
+        g_object_unref(result);
     }
 
     return retval;
diff --git a/libbalsa/send.c b/libbalsa/send.c
index 7b8b59fec..0f8181277 100644
--- a/libbalsa/send.c
+++ b/libbalsa/send.c
@@ -179,15 +179,10 @@ msg_queue_item_new(SendMessageInfo *smi)
 static void
 msg_queue_item_destroy(MessageQueueItem *mqi)
 {
-    if (mqi->smtp_msg != NULL) {
-        net_client_smtp_msg_free(mqi->smtp_msg);
-    }
-    if (mqi->stream != NULL) {
-        g_object_unref(G_OBJECT(mqi->stream));
-    }
-    if (mqi->orig != NULL) {
-        g_object_unref(G_OBJECT(mqi->orig));
-    }
+    g_clear_pointer(&mqi->smtp_msg, net_client_smtp_msg_free);
+    g_clear_object(&mqi->stream);
+    g_clear_object(&mqi->orig);
+
     g_free(mqi);
 }
 
@@ -213,12 +208,8 @@ send_message_info_new(LibBalsaSmtpServer   *smtp_server,
 static void
 send_message_info_destroy(SendMessageInfo *smi)
 {
-    if (smi->outbox != NULL) {
-        g_object_unref(G_OBJECT(smi->outbox));
-    }
-    if (smi->session != NULL) {
-        g_object_unref(G_OBJECT(smi->session));
-    }
+    g_clear_object(&smi->outbox);
+    g_clear_object(&smi->session);
     g_list_free_full(smi->items, (GDestroyNotify) msg_queue_item_destroy);
     g_free(smi->progress_id);
     g_object_unref(smi->smtp_server);
@@ -336,7 +327,7 @@ add_mime_body_plain(LibBalsaMessageBody * body, gboolean flow, gboolean postpone
         filter_stream = g_mime_stream_filter_new(stream);
         filter = g_mime_filter_charset_new("UTF-8", charset);
         g_mime_stream_filter_add(GMIME_STREAM_FILTER(filter_stream), filter);
-        g_object_unref(G_OBJECT(filter));
+        g_object_unref(filter);
 
         g_mime_stream_write(filter_stream, body->buffer, strlen(body->buffer));
         g_object_unref(filter_stream);
@@ -347,7 +338,7 @@ add_mime_body_plain(LibBalsaMessageBody * body, gboolean flow, gboolean postpone
         g_object_unref(stream);
 
         g_mime_part_set_content_object(mime_part, wrapper);
-        g_object_unref(G_OBJECT(wrapper));
+        g_object_unref(wrapper);
     } else {
         lbs_set_content(mime_part, body->buffer);
     }
@@ -361,7 +352,7 @@ add_mime_body_plain(LibBalsaMessageBody * body, gboolean flow, gboolean postpone
                                            parent, error);
 
         if (*crypt_res != LIBBALSA_MESSAGE_CREATE_OK) {
-            g_object_unref(G_OBJECT(mime_part));
+            g_object_unref(mime_part);
             return NULL;
         }
     }
@@ -372,11 +363,11 @@ add_mime_body_plain(LibBalsaMessageBody * body, gboolean flow, gboolean postpone
         GMimeMultipart *mpa = g_mime_multipart_new_with_subtype("alternative");
 
         g_mime_multipart_add(mpa, GMIME_OBJECT(mime_part));
-        g_object_unref(G_OBJECT(mime_part));
+        g_object_unref(mime_part);
 
         mime_part = g_mime_part_new_with_type("text", "html");
         g_mime_multipart_add(mpa, GMIME_OBJECT(mime_part));
-        g_object_unref(G_OBJECT(mime_part));
+        g_object_unref(mime_part);
         g_mime_object_set_disposition(GMIME_OBJECT(mime_part), GMIME_DISPOSITION_INLINE);
         g_mime_part_set_content_encoding(mime_part, GMIME_CONTENT_ENCODING_QUOTEDPRINTABLE);
         g_mime_object_set_content_type_parameter(GMIME_OBJECT(mime_part),
@@ -392,7 +383,7 @@ add_mime_body_plain(LibBalsaMessageBody * body, gboolean flow, gboolean postpone
                                                parent, error);
 
             if (*crypt_res != LIBBALSA_MESSAGE_CREATE_OK) {
-                g_object_unref(G_OBJECT(mpa));
+                g_object_unref(mpa);
                 return NULL;
             }
         }
@@ -660,9 +651,7 @@ lbs_check_reachable_cb(GObject  *object,
        }
 
        g_object_unref(send_info->outbox);
-       if (send_info->parent != NULL) {
-               g_object_unref(send_info->parent);
-       }
+        g_clear_object(&send_info->parent);
        g_free(send_info);
 }
 
@@ -1364,7 +1353,7 @@ libbalsa_message_create_mime_message(LibBalsaMessage *message,
                         g_clear_error(&err);
                         g_free(msg);
                     }
-                    g_object_unref(G_OBJECT(mime_part));
+                    g_object_unref(mime_part);
                     return LIBBALSA_MESSAGE_CREATE_ERROR;
                 }
                 content = g_mime_data_wrapper_new_with_stream(stream,
@@ -1393,9 +1382,7 @@ libbalsa_message_create_mime_message(LibBalsaMessage *message,
             mime_part = add_mime_body_plain(body, flow, postponing, use_gpg_mode,
                                             &crypt_res, error);
             if (!mime_part) {
-                if (mime_root != NULL) {
-                    g_object_unref(G_OBJECT(mime_root));
-                }
+                g_clear_object(&mime_root);
                 return crypt_res;
             }
 #else
@@ -1406,7 +1393,7 @@ libbalsa_message_create_mime_message(LibBalsaMessage *message,
         if (mime_root != NULL) {
             g_mime_multipart_add(GMIME_MULTIPART(mime_root),
                                  GMIME_OBJECT(mime_part));
-            g_object_unref(G_OBJECT(mime_part));
+            g_object_unref(mime_part);
         } else {
             mime_root = mime_part;
         }
@@ -1420,14 +1407,12 @@ libbalsa_message_create_mime_message(LibBalsaMessage *message,
 
        pubkey_part = lb_create_pubkey_part(message, parent, error);
        if (pubkey_part == NULL) {
-            if (mime_root != NULL) {
-                g_object_unref(G_OBJECT(mime_root));
-            }
+            g_clear_object(&mime_root);
             return LIBBALSA_MESSAGE_CREATE_ERROR;
        }
         if (mime_root != NULL) {
             g_mime_multipart_add(GMIME_MULTIPART(mime_root), GMIME_OBJECT(pubkey_part));
-            g_object_unref(G_OBJECT(pubkey_part));
+            g_object_unref(pubkey_part);
         } else {
             mime_root = GMIME_OBJECT(pubkey_part);
         }
@@ -1456,7 +1441,7 @@ libbalsa_message_create_mime_message(LibBalsaMessage *message,
             param = param->next;
         }
         g_mime_message_set_mime_part(mime_message, mime_root);
-        g_object_unref(G_OBJECT(mime_root));
+        g_object_unref(mime_root);
     }
     message_add_references(message, mime_message);
 
@@ -1701,19 +1686,19 @@ libbalsa_fill_msg_queue_item_from_queu(LibBalsaMessage  *message,
         /* filter out unwanted headers */
         filter = g_mime_filter_header_new();
         g_mime_stream_filter_add(GMIME_STREAM_FILTER(filter_stream), filter);
-        g_object_unref(G_OBJECT(filter));
+        g_object_unref(filter);
 
         /* add CRLF, encode dot */
         filter = g_mime_filter_crlf_new(TRUE, TRUE);
         g_mime_stream_filter_add(GMIME_STREAM_FILTER(filter_stream), filter);
-        g_object_unref(G_OBJECT(filter));
+        g_object_unref(filter);
 
         /* write to a new stream */
         mqi->stream = g_mime_stream_mem_new();
         g_mime_stream_write_to_stream(filter_stream, mqi->stream);
-        g_object_unref(G_OBJECT(filter_stream));
+        g_object_unref(filter_stream);
         g_mime_stream_reset(mqi->stream);
-        g_object_unref(G_OBJECT(msg_stream));
+        g_object_unref(msg_stream);
 
         g_object_ref(G_OBJECT(mqi->orig));
         result = LIBBALSA_MESSAGE_CREATE_OK;
diff --git a/libnetclient/net-client.c b/libnetclient/net-client.c
index 3af38c1c0..574716601 100644
--- a/libnetclient/net-client.c
+++ b/libnetclient/net-client.c
@@ -468,7 +468,7 @@ net_client_set_cert_from_file(NetClient *client, const gchar *pem_path, GError *
                result = net_client_set_cert_from_pem(client, pem_buf, error);
                g_free(pem_buf);
        }
-       g_object_unref(G_OBJECT(pem_file));
+       g_object_unref(pem_file);
        return result;
 }
 
@@ -495,7 +495,7 @@ net_client_start_tls(NetClient *client, GError **error)
                        result = g_tls_connection_handshake(G_TLS_CONNECTION(priv->tls_conn), NULL, error);
                        if (result) {
                                
g_filter_input_stream_set_close_base_stream(G_FILTER_INPUT_STREAM(priv->istream), FALSE);
-                               g_object_unref(G_OBJECT(priv->istream));                /* unref the plain 
connection's stream */
+                               g_object_unref(priv->istream);          /* unref the plain connection's 
stream */
                                priv->istream = 
g_data_input_stream_new(g_io_stream_get_input_stream(G_IO_STREAM(priv->tls_conn)));
                                g_data_input_stream_set_newline_type(priv->istream, 
G_DATA_STREAM_NEWLINE_TYPE_CR_LF);
                                priv->ostream = g_io_stream_get_output_stream(G_IO_STREAM(priv->tls_conn));
diff --git a/src/ab-main.c b/src/ab-main.c
index 0fb06e935..c7ab8ab59 100644
--- a/src/ab-main.c
+++ b/src/ab-main.c
@@ -1165,9 +1165,8 @@ main(int argc, char *argv[])
     gtk_main();
 
     /* Proper shutdown here */
-    for (l = contacts_app.address_book_list; l; l = l->next)
-        if (l->data)
-            g_object_unref(l->data);
+    for (l = contacts_app.address_book_list; l != NULL; l = l->next)
+        g_clear_object(&l->data);
     g_list_free(contacts_app.address_book_list);
 
     return 0;
diff --git a/src/ab-window.c b/src/ab-window.c
index 88d0e6aab..9b38c0bf6 100644
--- a/src/ab-window.c
+++ b/src/ab-window.c
@@ -454,7 +454,7 @@ balsa_ab_window_get_recipients(BalsaAbWindow * ab)
                            LIST_COLUMN_ADDRESS, &address,
                            LIST_COLUMN_WHICH, &which_multiple, -1);
         text = libbalsa_address_to_gchar(address, which_multiple);
-       g_object_unref(G_OBJECT(address));
+       g_object_unref(address);
         if (text) {
             if (str->len > 0)
                 g_string_append(str, ", ");
@@ -523,7 +523,7 @@ balsa_ab_window_swap_real(GtkTreeModel * model, GtkTreePath * path,
      * already reffed it, so it won't be finalized, even if there
      * were no other outstanding refs. */
     gtk_list_store_remove(GTK_LIST_STORE(model), &iter);
-    g_object_unref(G_OBJECT(address));
+    g_object_unref(address);
     g_free(name);
     g_free(address_string);
 }
@@ -600,7 +600,7 @@ balsa_ab_window_activate_address(GtkTreeView * view,
                            LIST_COLUMN_ADDRESS, &address,
                            LIST_COLUMN_WHICH, &which_multiple, -1);
         addr = libbalsa_address_to_gchar(address, which_multiple);
-       g_object_unref(G_OBJECT(address));
+       g_object_unref(address);
         (void) balsa_compose_window_compose_with_address(addr);
         g_free(addr);
     }
diff --git a/src/balsa-message.c b/src/balsa-message.c
index a59c6d0ef..7ba3cf355 100644
--- a/src/balsa-message.c
+++ b/src/balsa-message.c
@@ -754,7 +754,7 @@ balsa_message_init(BalsaMessage * bm)
 
     g_signal_connect(bm->treeview, "popup-menu",
                      G_CALLBACK(tree_menu_popup_key_cb), bm);
-    g_object_unref (G_OBJECT (model));
+    g_object_unref (model);
     gtk_tree_selection_set_mode (selection, GTK_SELECTION_MULTIPLE);
     gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (bm->treeview), FALSE);
 
@@ -824,7 +824,7 @@ balsa_message_destroy(GObject * object)
         g_clear_pointer(&bm->treeview, gtk_widget_destroy);
     }
 
-    g_clear_pointer(&bm->save_all_list, g_list_free);
+    libbalsa_clear_list(&bm->save_all_list, g_object_unref);
     g_clear_object(&bm->save_all_popup);
     g_clear_object(&bm->parts_popup);
     g_clear_object(&bm->bm_widget);
@@ -906,8 +906,7 @@ tree_activate_row_cb(GtkTreeView *treeview, GtkTreePath *arg1,
 
     gtk_stack_set_visible_child_name(GTK_STACK(bm->stack), "content");
     select_part(bm, info);
-    if (info)
-        g_object_unref(info);
+    g_clear_object(&info);
 }
 
 static void
@@ -918,10 +917,8 @@ collect_selected_info(GtkTreeModel * model, GtkTreePath * path,
     BalsaPartInfo *info;
 
     gtk_tree_model_get(model, iter, PART_INFO_COLUMN, &info, -1);
-    if (info) {
-        g_object_unref(info);
+    if (info != NULL)
         *info_list = g_list_append(*info_list, info);
-    }
 }
 
 static void
@@ -931,7 +928,7 @@ tree_mult_selection_popup(BalsaMessage * bm, const GdkEvent * event,
     gint selected;
 
     /* destroy left-over select list and popup... */
-    g_clear_pointer(&bm->save_all_list, g_list_free);
+    libbalsa_clear_list(&bm->save_all_list, g_object_unref);
     g_clear_object(&bm->save_all_popup);
 
     /* collect all selected info blocks */
@@ -954,7 +951,7 @@ tree_mult_selection_popup(BalsaMessage * bm, const GdkEvent * event,
                                          NULL);
             }
         }
-        g_clear_pointer(&bm->save_all_list, g_list_free);
+        libbalsa_clear_list(&bm->save_all_list, g_object_unref);
     } else if (selected > 1) {
         GtkWidget *menu_item;
 
@@ -1225,7 +1222,7 @@ balsa_message_set_embedded_hdr(GtkTreeModel * model, GtkTreePath * path,
                                                     info->body->embhdrs,
                                                     info->body->parts,
                                                     info->body->embhdrs->subject);
-       g_object_unref(G_OBJECT(info));
+       g_object_unref(info);
     }
 
     return FALSE;
@@ -1476,7 +1473,7 @@ display_part(BalsaMessage * bm, LibBalsaMessageBody * body,
     }
 
     if (content_icon)
-       g_object_unref(G_OBJECT(content_icon));
+       g_object_unref(content_icon);
     g_free(content_desc);
     g_free(content_type);
 }
@@ -2445,7 +2442,7 @@ handle_mdn_request(GtkWindow *parent, LibBalsaMessage *message)
                                 _("Sending the disposition notification failed: %s"),
                                 error ? error->message : "?");
        g_error_free(error);
-        g_object_unref(G_OBJECT(mdn));
+        g_object_unref(mdn);
     }
 }
 
@@ -2595,8 +2592,8 @@ mdn_dialog_response(GtkWidget * dialog, gint response, gpointer user_data)
         if (error)
             g_error_free(error);
     }
-    g_object_unref(G_OBJECT(send_msg));
-    g_object_unref(G_OBJECT(mdn_ident));
+    g_object_unref(send_msg);
+    g_object_unref(mdn_ident);
     gtk_widget_destroy(dialog);
 }
 
@@ -3195,7 +3192,7 @@ message_recheck_crypto_cb(GtkWidget * button, BalsaMessage * bm)
 
     g_object_ref(G_OBJECT(message));
     if (!libbalsa_message_body_ref(message, TRUE, TRUE)) {
-       g_object_unref(G_OBJECT(message));
+       g_object_unref(message);
         return;
     }
 
@@ -3226,7 +3223,7 @@ message_recheck_crypto_cb(GtkWidget * button, BalsaMessage * bm)
     if (!gtk_tree_model_get_iter_first (gtk_tree_view_get_model(GTK_TREE_VIEW(bm->treeview)),
                                         &iter)) {
        libbalsa_message_body_unref(message);
-       g_object_unref(G_OBJECT(message));
+       g_object_unref(message);
         return;
     }
 
@@ -3242,7 +3239,7 @@ message_recheck_crypto_cb(GtkWidget * button, BalsaMessage * bm)
         balsa_message_grab_focus(bm);
 
     libbalsa_message_body_unref(message);
-    g_object_unref(G_OBJECT(message));
+    g_object_unref(message);
 }
 
 #endif  /* HAVE_GPGME */
diff --git a/src/balsa-mime-widget-message.c b/src/balsa-mime-widget-message.c
index 9253b89b2..91da23b84 100644
--- a/src/balsa-mime-widget-message.c
+++ b/src/balsa-mime-widget-message.c
@@ -395,7 +395,7 @@ extbody_send_mail(GtkWidget * button, LibBalsaMessageBody * mime_body)
                             _("Sending the external body request failed: %s"),
                             err ? err->message : "?");
     g_error_free(err);
-    g_object_unref(G_OBJECT(message));
+    g_object_unref(message);
 }
 
 
diff --git a/src/balsa-mime-widget-text.c b/src/balsa-mime-widget-text.c
index 4c66c8940..2158a5407 100644
--- a/src/balsa-mime-widget-text.c
+++ b/src/balsa-mime-widget-text.c
@@ -1132,9 +1132,9 @@ balsa_gtk_html_popup(GtkWidget * html, BalsaMessage * bm)
      * GdkEvent is no longer current; instead it is preserved and passed
      * to us: */
     event = g_object_get_data(G_OBJECT(html), LIBBALSA_HTML_POPUP_EVENT);
-    if (!event)
+    if (event == NULL)
         event = current_event = gtk_get_current_event();
-    if (event)
+    if (event != NULL)
         gtk_menu_popup_at_pointer(GTK_MENU(menu),
                                   (GdkEvent *) event);
     else
@@ -1142,8 +1142,7 @@ balsa_gtk_html_popup(GtkWidget * html, BalsaMessage * bm)
                                  GTK_WIDGET(bm),
                                  GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,
                                  NULL);
-    if (current_event)
-        g_object_unref(current_event);
+    g_clear_object(&current_event);
 
     return TRUE;
 }
diff --git a/src/balsa-mime-widget-vcalendar.c b/src/balsa-mime-widget-vcalendar.c
index 6e7baa017..75f0109d3 100644
--- a/src/balsa-mime-widget-vcalendar.c
+++ b/src/balsa-mime-widget-vcalendar.c
@@ -348,7 +348,6 @@ vevent_reply(GObject * button, GtkWidget * box)
        libbalsa_information(LIBBALSA_INFORMATION_ERROR,
                             _("Sending the iTIP calendar reply failed: %s"),
                             error ? error->message : "?");
-    if (error)
-       g_error_free(error);
-    g_object_unref(G_OBJECT(message));
+    g_clear_error(&error);
+    g_object_unref(message);
 }
diff --git a/src/balsa-print-object-decor.c b/src/balsa-print-object-decor.c
index dc57aca8e..d4511511f 100644
--- a/src/balsa-print-object-decor.c
+++ b/src/balsa-print-object-decor.c
@@ -245,7 +245,7 @@ balsa_print_object_decor_draw(BalsaPrintObject *self,
             cairo_move_to(cairo_ctx, balsa_print_object_get_c_at_x(self) + 1.5 * C_LABEL_SEP,
                           c_y_hor_line - 0.5 * P_TO_C(p_label_height));
             pango_cairo_show_layout(cairo_ctx, layout);
-            g_object_unref(G_OBJECT(layout));
+            g_object_unref(layout);
             cairo_move_to(cairo_ctx, balsa_print_object_get_c_at_x(
                               self) + 2.0 * C_LABEL_SEP + P_TO_C(p_label_width),
                           c_y_hor_line);
diff --git a/src/balsa-print-object-default.c b/src/balsa-print-object-default.c
index 4aacd0110..0442e09ab 100644
--- a/src/balsa-print-object-default.c
+++ b/src/balsa-print-object-default.c
@@ -239,7 +239,7 @@ balsa_print_object_default_draw(BalsaPrintObject *self,
                   balsa_print_object_get_c_at_y(self) + (c_max_height -
                                                          pod->c_text_height) * 0.5);
     pango_cairo_show_layout(cairo_ctx, layout);
-    g_object_unref(G_OBJECT(layout));
+    g_object_unref(layout);
 }
 
 
@@ -601,7 +601,7 @@ balsa_print_object_calendar(GList               *list,
         list = g_list_append(list, new_pod);
     }
     g_list_free(par_parts);
-    g_object_unref(G_OBJECT(test_layout));
+    g_object_unref(test_layout);
 
     return list;
 }
diff --git a/src/balsa-print-object-header.c b/src/balsa-print-object-header.c
index 6b71f1391..e7dc279d9 100644
--- a/src/balsa-print-object-header.c
+++ b/src/balsa-print-object-header.c
@@ -295,7 +295,7 @@ balsa_print_object_header_new_real(GList                  *list,
         this_chunk = this_chunk->next;
     }
     g_list_free(chunks);
-    g_object_unref(G_OBJECT(test_layout));
+    g_object_unref(test_layout);
 
     return list;
 }
@@ -394,7 +394,7 @@ balsa_print_object_header_crypto(GList               *list,
 
     /* split the headers into a list fitting on one or more pages */
     chunks = split_for_layout(test_layout, textbuf, NULL, psetup, FALSE, NULL);
-    g_object_unref(G_OBJECT(test_layout));
+    g_object_unref(test_layout);
     g_free(textbuf);
 
     /* create a list of objects */
@@ -466,7 +466,7 @@ balsa_print_object_header_draw(BalsaPrintObject *self,
     cairo_move_to(cairo_ctx, balsa_print_object_get_c_at_x(self),
                   balsa_print_object_get_c_at_y(self));
     pango_cairo_show_layout(cairo_ctx, layout);
-    g_object_unref(G_OBJECT(layout));
+    g_object_unref(layout);
 
     /* print a face image */
     if (po->face) {
diff --git a/src/balsa-print-object-text.c b/src/balsa-print-object-text.c
index 03bd89bef..3b421c705 100644
--- a/src/balsa-print-object-text.c
+++ b/src/balsa-print-object-text.c
@@ -260,7 +260,7 @@ balsa_print_object_text_plain(GList               *list,
                              psetup, FALSE, &attr_offs);
         if (pango_attr_list)
             pango_attr_list_unref(pango_attr_list);
-        g_object_unref(G_OBJECT(layout));
+        g_object_unref(layout);
         g_string_free(level_buf, TRUE);
 
         /* each part is a new text object */
@@ -357,7 +357,7 @@ balsa_print_object_text(GList               *list,
     first_page = psetup->page_count - 1;
     c_at_y     = psetup->c_y_pos;
     par_parts  = split_for_layout(layout, textbuf, NULL, psetup, FALSE, NULL);
-    g_object_unref(G_OBJECT(layout));
+    g_object_unref(layout);
     pango_font_description_free(font);
     g_free(textbuf);
 
@@ -435,7 +435,7 @@ balsa_print_object_text_draw(BalsaPrintObject *self,
                       self) + pot->cite_level * C_LABEL_SEP,
                   balsa_print_object_get_c_at_y(self));
     pango_cairo_show_layout(cairo_ctx, layout);
-    g_object_unref(G_OBJECT(layout));
+    g_object_unref(layout);
     if (pot->cite_level > 0) {
         guint n;
 
diff --git a/src/compose-window.c b/src/compose-window.c
index 610a25d0e..9e38a2efb 100644
--- a/src/compose-window.c
+++ b/src/compose-window.c
@@ -504,10 +504,8 @@ balsa_attach_info_finalize(GObject *object)
     }
 
     /* clean up memory */
-    if (info->popup_menu)
-        gtk_widget_destroy(info->popup_menu);
-    if (info->file_uri)
-        g_object_unref(G_OBJECT(info->file_uri));
+    g_clear_pointer(&info->popup_menu, gtk_widget_destroy);
+    g_clear_object(&info->file_uri);
     g_free(info->force_mime_type);
     g_free(info->charset);
     libbalsa_message_headers_destroy(info->headers);
@@ -1526,6 +1524,7 @@ remove_attachment(GtkWidget       *menu_item,
     GtkTreeModel *model;
     GtkTreeSelection *selection;
     BalsaAttachInfo *test_info;
+    gboolean is_info;
 
     g_return_if_fail(info->bm != NULL);
 
@@ -1536,12 +1535,10 @@ remove_attachment(GtkWidget       *menu_item,
 
     /* make sure we got the right element */
     gtk_tree_model_get(model, &iter, ATTACH_INFO_COLUMN, &test_info, -1);
-    if (test_info != info) {
-        if (test_info)
-            g_object_unref(test_info);
+    is_info = test_info == info;
+    g_clear_object(&test_info);
+    if (!is_info)
         return;
-    }
-    g_object_unref(test_info);
 
     /* remove the attachment */
     gtk_list_store_remove(GTK_LIST_STORE(model), &iter);
@@ -1572,6 +1569,7 @@ change_attach_mode(GtkWidget       *menu_item,
     GtkTreeModel *model;
     GtkTreeSelection *selection;
     BalsaAttachInfo *test_info;
+    gboolean is_info;
 
     g_return_if_fail(info->bm != NULL);
 
@@ -1582,12 +1580,10 @@ change_attach_mode(GtkWidget       *menu_item,
 
     /* make sure we got the right element */
     gtk_tree_model_get(model, &iter, ATTACH_INFO_COLUMN, &test_info, -1);
-    if (test_info != info) {
-        if (test_info)
-            g_object_unref(test_info);
+    is_info = test_info == info;
+    g_clear_object(&test_info);
+    if (!is_info)
         return;
-    }
-    g_object_unref(test_info);
 
     /* verify that the user *really* wants to attach as reference */
     if ((info->mode != new_mode) && (new_mode == LIBBALSA_ATTACH_AS_EXTBODY)) {
diff --git a/src/folder-conf.c b/src/folder-conf.c
index da5aade36..d0ecdb4ed 100644
--- a/src/folder-conf.c
+++ b/src/folder-conf.c
@@ -108,8 +108,7 @@ folder_conf_response(GtkDialog * dialog, int response,
                               err->message);
             g_error_free(err);
         }
-       if (cdd->mbnode)
-           g_object_unref(cdd->mbnode);
+       g_clear_object(&cdd->mbnode);
         return;
     case GTK_RESPONSE_OK:
         if(!cdd->ok(cdd))
@@ -572,8 +571,7 @@ folder_selection_func(GtkTreeSelection * selection, GtkTreeModel * model,
 static void
 browse_button_data_free(BrowseButtonData *bbd)
 {
-    if (bbd->mbnode)
-       g_object_unref(bbd->mbnode);
+    g_clear_object(&bbd->mbnode);
     g_free(bbd);
 }
 
diff --git a/src/message-window.c b/src/message-window.c
index b9797a2ef..437affac7 100644
--- a/src/message-window.c
+++ b/src/message-window.c
@@ -956,6 +956,5 @@ message_window_new(LibBalsaMailbox * mailbox, guint msgno)
     gtk_widget_show(window);
 
     mw_set_message(mw, message);
-    if (message != NULL)
-        g_object_unref(message);
+    g_clear_object(&message);
 }
diff --git a/src/print-gtk.c b/src/print-gtk.c
index 07b01525a..d3b382a36 100644
--- a/src/print-gtk.c
+++ b/src/print-gtk.c
@@ -91,7 +91,7 @@ print_header_footer(GtkPrintContext * context, cairo_t * cairo_ctx,
     g_free(pagebuf);
     cairo_move_to(cairo_ctx, pdata->setup.c_x0, pdata->c_header_y);
     pango_cairo_show_layout(cairo_ctx, layout);
-    g_object_unref(G_OBJECT(layout));
+    g_object_unref(layout);
 
     /* footer (if available) */
     if (pdata->footer) {
@@ -106,7 +106,7 @@ print_header_footer(GtkPrintContext * context, cairo_t * cairo_ctx,
        pango_layout_set_text(layout, pdata->footer, -1);
        cairo_move_to(cairo_ctx, pdata->setup.c_x0, pdata->c_footer_y);
        pango_cairo_show_layout(cairo_ctx, layout);
-       g_object_unref(G_OBJECT(layout));
+       g_object_unref(layout);
     }
 }
 
@@ -322,7 +322,7 @@ begin_print(GtkPrintOperation * operation, GtkPrintContext * context,
        /* remember in the context */
        pdata->footer = g_string_free(footer_string, FALSE);
     }
-    g_object_unref(G_OBJECT(layout));
+    g_object_unref(layout);
 
     /* add the message headers */
     pdata->setup.c_y_pos = 0.0;        /* to simplify calculating the layout... */
@@ -743,11 +743,10 @@ message_print(LibBalsaMessage * msg, GtkWindow * parent)
                          _("Error printing message: %s"), err->message);
 
     /* clean up */
-    if (err)
-       g_error_free(err);
+    g_clear_error(&err);
     g_list_free_full(print_data->print_parts, g_object_unref);
     g_free(print_data->footer);
     g_free(print_data);
-    g_object_unref(G_OBJECT(print));
-    g_object_unref(G_OBJECT(msg));
+    g_object_unref(print);
+    g_object_unref(msg);
 }
diff --git a/src/save-restore.c b/src/save-restore.c
index 9858b26f0..81f59821a 100644
--- a/src/save-restore.c
+++ b/src/save-restore.c
@@ -565,6 +565,7 @@ config_global_load(void)
     gboolean def_used;
     guint filter_mask;
     static gboolean new_user = FALSE;
+    GtkPageSetup *page_setup;
 
     config_address_books_load();
 
@@ -825,9 +826,10 @@ config_global_load(void)
     libbalsa_conf_push_group("Printing");
 
     /* ... Printing */
-    if (balsa_app.page_setup)
-       g_object_unref(G_OBJECT(balsa_app.page_setup));
-    balsa_app.page_setup = restore_gtk_page_setup();
+    page_setup = restore_gtk_page_setup();
+    g_set_object(&balsa_app.page_setup, page_setup);
+    g_clear_object(&page_setup);
+
     balsa_app.margin_left = libbalsa_conf_get_double("LeftMargin");
     balsa_app.margin_top = libbalsa_conf_get_double("TopMargin");
     balsa_app.margin_right = libbalsa_conf_get_double("RightMargin");
diff --git a/src/toolbar-factory.c b/src/toolbar-factory.c
index 7150b02a7..4da886aab 100644
--- a/src/toolbar-factory.c
+++ b/src/toolbar-factory.c
@@ -773,9 +773,7 @@ tm_popup_context_menu_cb(GtkWidget    *toolbar,
                                  GDK_GRAVITY_SOUTH,
                                  NULL);
     }
-
-    if (event != NULL)
-        g_object_unref(event);
+    g_clear_object(&event);
 
     return TRUE;
 }
diff --git a/src/toolbar-prefs.c b/src/toolbar-prefs.c
index b8f1bb9b7..206fdcc38 100644
--- a/src/toolbar-prefs.c
+++ b/src/toolbar-prefs.c
@@ -822,20 +822,20 @@ tp_store_set(GtkListStore * store, GtkTreeIter * iter, gint item)
 
     text = g_strdup(balsa_toolbar_button_text(item));
     replace_nl_with_space(text);
-    pixbuf =
-        (item > 0
-         ? gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
-                                    balsa_icon_id(toolbar_buttons[item].pixmap_id),
-                                    24, 0, NULL)
-         : NULL);
+
+    if (item > 0) {
+        pixbuf =
+            gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
+                                     balsa_icon_id(toolbar_buttons[item].pixmap_id),
+                                     24, 0, NULL);
+    }
     gtk_list_store_set(store, iter,
                        TP_TEXT_COLUMN, text,
                        TP_ICON_COLUMN, pixbuf,
                        TP_ITEM_COLUMN, item,
                        -1);
     g_free(text);
-    if (pixbuf)
-        g_object_unref(pixbuf);
+    g_clear_object(&pixbuf);
 }
 
 /* Add an item to the current list.



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