engine: Fix GLib.Timezone deprecation warning in GLib 2.68
This commit is contained in:
parent
fa99f13900
commit
42fa8c9f0a
2 changed files with 20 additions and 8 deletions
|
|
@ -53,7 +53,7 @@ valac = meson.get_compiler('vala')
|
|||
# Required libraries and other dependencies
|
||||
#
|
||||
|
||||
target_glib = '2.66'
|
||||
target_glib = '2.68'
|
||||
target_gtk = '3.24.23'
|
||||
target_vala = '0.48.18'
|
||||
target_webkit = '2.30'
|
||||
|
|
|
|||
|
|
@ -79,14 +79,26 @@ public class Geary.Imap.InternalDate : Geary.MessageData.AbstractMessageData, Ge
|
|||
if (month < 0)
|
||||
throw new ImapError.PARSE_ERROR("Invalid INTERNALDATE \"%s\": bad month", internaldate);
|
||||
|
||||
// TODO: verify timezone
|
||||
GLib.TimeZone? timezone = null;
|
||||
if (tz[0] != '\0') {
|
||||
string tz_string = (string) tz;
|
||||
try {
|
||||
timezone = new GLib.TimeZone.identifier(tz_string);
|
||||
} catch (GLib.Error err) {
|
||||
warning("Invalid INTERNALDATE timezone \"%s\", %s", tz_string, err.message);
|
||||
}
|
||||
}
|
||||
if (timezone == null) {
|
||||
// If no timezone listed, ISO 8601 says to use local time.
|
||||
timezone = new GLib.TimeZone.local();
|
||||
}
|
||||
|
||||
// if no timezone listed, ISO 8601 says to use local time
|
||||
TimeZone timezone = (tz[0] != '\0') ? new TimeZone((string) tz) : new TimeZone.local();
|
||||
|
||||
// assemble into DateTime, which validates the time as well (this is why we want to keep
|
||||
// original around, for other reasons) ... month is 1-based in DateTime
|
||||
DateTime datetime = new DateTime(timezone, year, month + 1, day, hour, min, sec);
|
||||
// assemble into DateTime, which validates the time as well
|
||||
// (this is why we want to keep original around, for other
|
||||
// reasons) ... month is 1-based in DateTime
|
||||
var datetime = new GLib.DateTime(
|
||||
timezone, year, month + 1, day, hour, min, sec
|
||||
);
|
||||
|
||||
return new InternalDate(internaldate, datetime);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue