[geary] Fix: don't use time_t as property in GLib.Object.



commit 383ee159928386e7ed9b7265f8c5863514a0dab7
Author: Niels De Graef <nielsdegraef gmail com>
Date:   Fri Sep 15 00:12:01 2017 +0200

    Fix: don't use time_t as property in GLib.Object.
    
    This isn't actually supported by GLib and as such is going to be
    checked on a stricter basis by valac. Together with --fatal-warnings,
    this gives errors on newer valac versions.

 src/engine/imap-db/imap-db-database.vala        |    2 +-
 src/engine/imap-db/imap-db-message-row.vala     |    2 +-
 src/engine/imap/message/imap-internal-date.vala |   10 +++++++---
 3 files changed, 9 insertions(+), 5 deletions(-)
---
diff --git a/src/engine/imap-db/imap-db-database.vala b/src/engine/imap-db/imap-db-database.vala
index 3fe0387..11e6058 100644
--- a/src/engine/imap-db/imap-db-database.vala
+++ b/src/engine/imap-db/imap-db-database.vala
@@ -295,7 +295,7 @@ private class Geary.ImapDB.Database : Geary.Db.VersionedDatabase {
                     
                     try {
                         time_t as_time_t = (internaldate != null ?
-                            Geary.Imap.InternalDate.decode(internaldate).as_time_t : -1);
+                            Geary.Imap.InternalDate.decode(internaldate).to_time_t() : -1);
                         
                         Db.Statement update = cx.prepare(
                             "UPDATE MessageTable SET internaldate_time_t=? WHERE id=?");
diff --git a/src/engine/imap-db/imap-db-message-row.vala b/src/engine/imap-db/imap-db-message-row.vala
index c27e755..9d4b0d1 100644
--- a/src/engine/imap-db/imap-db-message-row.vala
+++ b/src/engine/imap-db/imap-db-message-row.vala
@@ -246,7 +246,7 @@ private class Geary.ImapDB.MessageRow {
         if (email.fields.is_all_set(Geary.Email.Field.PROPERTIES)) {
             Geary.Imap.EmailProperties? imap_properties = (Geary.Imap.EmailProperties) email.properties;
             internaldate = (imap_properties != null) ? imap_properties.internaldate.serialize() : null;
-            internaldate_time_t = (imap_properties != null) ? imap_properties.internaldate.as_time_t : -1;
+            internaldate_time_t = (imap_properties != null) ? imap_properties.internaldate.to_time_t() : -1;
             rfc822_size = (imap_properties != null) ? imap_properties.rfc822_size.value : -1;
             
             fields = fields.set(Geary.Email.Field.PROPERTIES);
diff --git a/src/engine/imap/message/imap-internal-date.vala b/src/engine/imap/message/imap-internal-date.vala
index 0cfb8ee..3240ba0 100644
--- a/src/engine/imap/message/imap-internal-date.vala
+++ b/src/engine/imap/message/imap-internal-date.vala
@@ -28,18 +28,15 @@ public class Geary.Imap.InternalDate : Geary.MessageData.AbstractMessageData, Ge
     };
     
     public DateTime value { get; private set; }
-    public time_t as_time_t { get; private set; }
     public string? original { get; private set; default = null; }
     
     private InternalDate(string original, DateTime datetime) {
         this.original = original;
         value = datetime;
-        as_time_t = Time.datetime_to_time_t(datetime);
     }
     
     public InternalDate.from_date_time(DateTime datetime) throws ImapError {
         value = datetime;
-        as_time_t = Time.datetime_to_time_t(datetime);
     }
     
     public static InternalDate decode(string internaldate) throws ImapError {
@@ -93,6 +90,13 @@ public class Geary.Imap.InternalDate : Geary.MessageData.AbstractMessageData, Ge
         
         return new InternalDate(internaldate, datetime);
     }
+
+    /**
+     * Returns the value of the InternalDate as a time_t representation.
+     */
+    public time_t to_time_t () {
+        return Time.datetime_to_time_t(this.value);
+    }
     
     /**
      * Returns the {@link InternalDate} as a {@link Parameter}.


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