From 000a0a362b198db4d91691cccbd7a81e3941ff63 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Sep 06 2020 20:28:32 +0000 Subject: Update to 3.37.92 --- diff --git a/.gitignore b/.gitignore index 3fdaaab..2019a1c 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,4 @@ /gnome-calendar-3.36.0.tar.xz /gnome-calendar-3.36.1.tar.xz /gnome-calendar-3.36.2.tar.xz +/gnome-calendar-3.37.92.tar.xz diff --git a/0001-calendar-monitor-Turn-completed-signal-into-a-boolea.patch b/0001-calendar-monitor-Turn-completed-signal-into-a-boolea.patch deleted file mode 100644 index a1435fc..0000000 --- a/0001-calendar-monitor-Turn-completed-signal-into-a-boolea.patch +++ /dev/null @@ -1,258 +0,0 @@ -From 78cb11c64d199b77761ba55bdd3d3e6b0dcb06af Mon Sep 17 00:00:00 2001 -From: Yuri Edward -Date: Mon, 6 Jul 2020 16:27:13 +0200 -Subject: [PATCH] calendar-monitor: Turn "completed" signal into a boolean - property - -And make GcalTimeline decrease the completed calendars counter when -any GcalCalendarMonitor goes from complete to incomplete. - -Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/625 ---- - src/core/gcal-calendar-monitor.c | 59 +++++++++++++++++++++++++------- - src/core/gcal-calendar-monitor.h | 2 ++ - src/core/gcal-timeline.c | 24 ++++++------- - 3 files changed, 59 insertions(+), 26 deletions(-) - -diff --git a/src/core/gcal-calendar-monitor.c b/src/core/gcal-calendar-monitor.c -index 6b409fc9..18ce70ab 100644 ---- a/src/core/gcal-calendar-monitor.c -+++ b/src/core/gcal-calendar-monitor.c -@@ -33,6 +33,7 @@ typedef struct - GcalCalendarMonitor *monitor; - GcalEvent *event; - gchar *event_id; -+ gboolean complete; - } IdleData; - - typedef enum -@@ -58,6 +59,7 @@ struct _GcalCalendarMonitor - - GAsyncQueue *messages; - GcalCalendar *calendar; -+ gboolean complete; - - /* - * These fields are only accessed on the monitor thread, and -@@ -92,7 +94,6 @@ enum - EVENT_ADDED, - EVENT_UPDATED, - EVENT_REMOVED, -- COMPLETED, - N_SIGNALS, - }; - -@@ -100,6 +101,7 @@ enum - { - PROP_0, - PROP_CALENDAR, -+ PROP_COMPLETE, - N_PROPS - }; - -@@ -244,12 +246,14 @@ remove_event_in_idle (GcalCalendarMonitor *self, - } - - static void --complete_in_idle (GcalCalendarMonitor *self) -+set_complete_in_idle (GcalCalendarMonitor *self, -+ gboolean complete) - { - IdleData *idle_data; - - idle_data = g_new0 (IdleData, 1); - idle_data->monitor = g_object_ref (self); -+ idle_data->complete = complete; - - g_main_context_invoke_full (self->main_context, - G_PRIORITY_DEFAULT_IDLE, -@@ -584,7 +588,7 @@ on_client_view_complete_cb (ECalClientView *view, - - self->monitor_thread.populated = TRUE; - -- complete_in_idle (self); -+ set_complete_in_idle (self, TRUE); - - g_debug ("Finished initial loading of calendar '%s'", gcal_calendar_get_name (self->calendar)); - -@@ -652,6 +656,8 @@ create_view (GcalCalendarMonitor *self) - - self->monitor_thread.view = g_steal_pointer (&view); - -+ set_complete_in_idle (self, FALSE); -+ - GCAL_EXIT; - } - -@@ -857,6 +863,19 @@ remove_all_events (GcalCalendarMonitor *self) - } - } - -+static void -+set_complete (GcalCalendarMonitor *self, -+ gboolean complete) -+{ -+ if (self->complete == complete) -+ return; -+ -+ GCAL_TRACE_MSG ("Setting complete to %s", complete ? "TRUE" : "FALSE"); -+ -+ self->complete = complete; -+ g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_COMPLETE]); -+} -+ - - /* - * Callbacks -@@ -959,7 +978,6 @@ on_calendar_visible_changed_cb (GcalCalendar *calendar, - static gboolean - complete_in_idle_cb (gpointer user_data) - { -- g_autoptr (GcalEvent) event = NULL; - GcalCalendarMonitor *self; - IdleData *idle_data; - -@@ -970,7 +988,8 @@ complete_in_idle_cb (gpointer user_data) - g_assert (idle_data->event == NULL); - g_assert (idle_data->event_id == NULL); - -- g_signal_emit (self, signals[COMPLETED], 0, event); -+ set_complete (self, idle_data->complete); -+ - GCAL_RETURN (G_SOURCE_REMOVE); - } - -@@ -1015,6 +1034,10 @@ gcal_calendar_monitor_get_property (GObject *object, - g_value_set_object (value, self->calendar); - break; - -+ case PROP_COMPLETE: -+ g_value_set_boolean (value, self->complete); -+ break; -+ - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - } -@@ -1039,6 +1062,7 @@ gcal_calendar_monitor_set_property (GObject *object, - self); - break; - -+ case PROP_COMPLETE: - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - } -@@ -1078,19 +1102,19 @@ gcal_calendar_monitor_class_init (GcalCalendarMonitorClass *klass) - 1, - GCAL_TYPE_EVENT); - -- signals[COMPLETED] = g_signal_new ("completed", -- GCAL_TYPE_CALENDAR_MONITOR, -- G_SIGNAL_RUN_FIRST, -- 0, NULL, NULL, NULL, -- G_TYPE_NONE, -- 0); -- - properties[PROP_CALENDAR] = g_param_spec_object ("calendar", - "Calendar", -- "Calendar to be monitores", -+ "Calendar to be monitored", - GCAL_TYPE_CALENDAR, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); - -+ -+ properties[PROP_COMPLETE] = g_param_spec_boolean ("complete", -+ "Complete", -+ "Whether", -+ FALSE, -+ G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); -+ - g_object_class_install_properties (object_class, N_PROPS, properties); - } - -@@ -1101,6 +1125,7 @@ gcal_calendar_monitor_init (GcalCalendarMonitor *self) - self->thread_context = g_main_context_new (); - self->main_context = g_main_context_ref_thread_default (); - self->messages = g_async_queue_new (); -+ self->complete = FALSE; - } - - GcalCalendarMonitor* -@@ -1198,3 +1223,11 @@ gcal_calendar_monitor_set_filter (GcalCalendarMonitor *self, - if (gcal_calendar_get_visible (self->calendar)) - notify_view_thread (self, FILTER_UPDATED); - } -+ -+gboolean -+gcal_calendar_monitor_is_complete (GcalCalendarMonitor *self) -+{ -+ g_return_val_if_fail (GCAL_IS_CALENDAR_MONITOR (self), FALSE); -+ -+ return self->complete; -+} -diff --git a/src/core/gcal-calendar-monitor.h b/src/core/gcal-calendar-monitor.h -index 402569a3..fb8577c9 100644 ---- a/src/core/gcal-calendar-monitor.h -+++ b/src/core/gcal-calendar-monitor.h -@@ -41,4 +41,6 @@ GcalEvent* gcal_calendar_monitor_get_cached_event (GcalCalendarMo - void gcal_calendar_monitor_set_filter (GcalCalendarMonitor *self, - const gchar *filter); - -+gboolean gcal_calendar_monitor_is_complete (GcalCalendarMonitor *self); -+ - G_END_DECLS -diff --git a/src/core/gcal-timeline.c b/src/core/gcal-timeline.c -index 228575f5..4a757af3 100644 ---- a/src/core/gcal-timeline.c -+++ b/src/core/gcal-timeline.c -@@ -204,17 +204,6 @@ reset_completed_calendars (GcalTimeline *self) - g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_COMPLETE]); - } - --static void --increase_completed_calendars (GcalTimeline *self) --{ -- self->completed_calendars++; -- -- g_assert (self->completed_calendars <= g_hash_table_size (self->calendars)); -- -- if (is_timeline_complete (self)) -- g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_COMPLETE]); --} -- - static void - add_event_to_subscriber (GcalTimelineSubscriber *subscriber, - GcalEvent *event) -@@ -591,11 +580,20 @@ on_calendar_monitor_event_removed_cb (GcalCalendarMonitor *monitor, - - static void - on_calendar_monitor_completed_cb (GcalCalendarMonitor *monitor, -+ GParamSpec *pspec, - GcalTimeline *self) - { - GCAL_ENTRY; - -- increase_completed_calendars (self); -+ if (gcal_calendar_monitor_is_complete (monitor)) -+ self->completed_calendars++; -+ else -+ self->completed_calendars--; -+ -+ g_assert (self->completed_calendars <= g_hash_table_size (self->calendars)); -+ -+ if (is_timeline_complete (self)) -+ g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_COMPLETE]); - - GCAL_EXIT; - } -@@ -953,7 +951,7 @@ gcal_timeline_add_calendar (GcalTimeline *self, - g_signal_connect (monitor, "event-added", G_CALLBACK (on_calendar_monitor_event_added_cb), self); - g_signal_connect (monitor, "event-updated", G_CALLBACK (on_calendar_monitor_event_updated_cb), self); - g_signal_connect (monitor, "event-removed", G_CALLBACK (on_calendar_monitor_event_removed_cb), self); -- g_signal_connect (monitor, "completed", G_CALLBACK (on_calendar_monitor_completed_cb), self); -+ g_signal_connect (monitor, "notify::complete", G_CALLBACK (on_calendar_monitor_completed_cb), self); - g_hash_table_insert (self->calendars, calendar, g_object_ref (monitor)); - - if (self->range) --- -2.28.0 - diff --git a/gnome-calendar.spec b/gnome-calendar.spec index fd1e65b..5583958 100644 --- a/gnome-calendar.spec +++ b/gnome-calendar.spec @@ -5,20 +5,16 @@ %global gtk3_version 3.22.20 Name: gnome-calendar -Version: 3.36.2 -Release: 5%{?dist} +Version: 3.37.92 +Release: 1%{?dist} Summary: Simple and beautiful calendar application designed to fit GNOME 3 License: GPLv3+ URL: https://wiki.gnome.org/Apps/Calendar -Source0: https://download.gnome.org/sources/%{name}/3.36/%{name}-%{version}.tar.xz +Source0: https://download.gnome.org/sources/%{name}/3.37/%{name}-%{version}.tar.xz # This is a backport of a crasher fix PR by mcatanzaro Patch0: 84.patch -# This is another crasher fix, by Yuri6037 -# https://bugzilla.redhat.com/show_bug.cgi?id=1872042 -# https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/142 -Patch1: 0001-calendar-monitor-Turn-completed-signal-into-a-boolea.patch BuildRequires: gcc BuildRequires: gettext @@ -87,6 +83,9 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/org.gnome %{_datadir}/gnome-shell/search-providers/org.gnome.Calendar.search-provider.ini %changelog +* Sun Sep 06 2020 Kalev Lember - 3.37.92-1 +- Update to 3.37.92 + * Mon Aug 24 2020 Adam Williamson - 3.36.2-5 - Backport another crasher fix (by Yuri6037) diff --git a/sources b/sources index f87bbe6..50d2795 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-calendar-3.36.2.tar.xz) = 83d0157a3958ff7f16af2f6a06c2c5fdd7ce19bb532c1cda0982ab37d78149f4c0ae252de937103baa56d105a1cf54c2e29174f6f3f969904071e187cf564c33 +SHA512 (gnome-calendar-3.37.92.tar.xz) = c20428b59542836b16413a81c94e74b549b1d5e2511d9c231f751a77b92b1f365e90b82197eff9eb8efd715cd717113124b3b6ab59345774d9fa66aaf766a773