In gmime 3.0 this function is "transfer none", so no deallocation is
needed (or permitted)
---
 lib/index.cc       | 2 +-
 util/gmime-extra.h | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/index.cc b/lib/index.cc
index d2472896..70607069 100644
--- a/lib/index.cc
+++ b/lib/index.cc
@@ -450,7 +450,7 @@ _notmuch_message_index_file (notmuch_message_t *message,
     addresses = g_mime_message_get_from (mime_message);
     if (addresses) {
        _index_address_list (message, "from", addresses);
-       g_object_unref (addresses);
+       g_mime_2_6_unref (addresses);
     }
 
     addresses = g_mime_message_get_all_recipients (mime_message);
diff --git a/util/gmime-extra.h b/util/gmime-extra.h
index d744c4e4..7688129a 100644
--- a/util/gmime-extra.h
+++ b/util/gmime-extra.h
@@ -13,6 +13,8 @@ GMimeStream *g_mime_stream_stdout_new(void);
 #define GMIME_ADDRESS_TYPE_CC GMIME_RECIPIENT_TYPE_CC
 #define GMIME_ADDRESS_TYPE_BCC GMIME_RECIPIENT_TYPE_BCC
 
+#define g_mime_2_6_unref(obj) g_object_unref (obj)
+
 #else /* GMime >= 3.0 */
 typedef GMimeAddressType GMimeRecipientType;
 
@@ -51,6 +53,7 @@ typedef GMimeTrust GMimeCertificateTrust;
 #define GMIME_CERTIFICATE_TRUST_FULLY GMIME_TRUST_FULL
 #define GMIME_CERTIFICATE_TRUST_ULTIMATE GMIME_TRUST_ULTIMATE
 
+#define g_mime_2_6_unref(obj) /*ignore*/
 #endif
 
 /**
-- 
2.11.0

_______________________________________________
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch

Reply via email to