Fix crashes when e_cal_util_get_system_timezone() returns NULL
The return value is nullable, but gnome-calendar fails to check it. Because the nullable return value is inconvenient for us, we can instead add and use gcal_context_get_icaltimezone() to supplement the existing gcal_context_get_timezone(). We'll also need a function to convert from GTimeZone to ICalTimezone, gcal_timezone_to_icaltimezone(). Fixes #419
This commit is contained in:
@@ -177,14 +177,16 @@ gcal_search_engine_constructed (GObject *object)
|
||||
{
|
||||
GcalSearchEngine *self = (GcalSearchEngine *)object;
|
||||
GcalManager *manager;
|
||||
GTimeZone *zone;
|
||||
|
||||
G_OBJECT_CLASS (gcal_search_engine_parent_class)->constructed (object);
|
||||
|
||||
/* Setup the data model */
|
||||
self->data_model = e_cal_data_model_new (gcal_thread_submit_job);
|
||||
e_cal_data_model_set_expand_recurrences (self->data_model, TRUE);
|
||||
e_cal_data_model_set_timezone (self->data_model, e_cal_util_get_system_timezone ());
|
||||
|
||||
zone = gcal_context_get_timezone (self->context);
|
||||
e_cal_data_model_set_timezone (self->data_model, gcal_timezone_to_icaltimezone (zone));
|
||||
|
||||
manager = gcal_context_get_manager (self->context);
|
||||
g_signal_connect_object (manager, "calendar-added", G_CALLBACK (on_manager_calendar_added_cb), self, 0);
|
||||
|
||||
Reference in New Issue
Block a user