calendar-server: Notify HasCalendar changes when updating views

The HasCalendar property reflects whether there are any views, and views
change either when clients appear/disappear or when the time range changes.

However we currently only emit the PropertiesChanged signal for the former,
fix that.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1300
This commit is contained in:
Florian Müllner 2020-06-04 22:14:15 +02:00 committed by Georges Basile Stavracas Neto
parent e0a8cb565e
commit 12c7f693d0

View File

@ -721,6 +721,9 @@ static void
app_update_views (App *app) app_update_views (App *app)
{ {
GSList *link, *clients; GSList *link, *clients;
gboolean had_views, has_views;
had_views = app->live_views != NULL;
for (link = app->live_views; link; link = g_slist_next (link)) for (link = app->live_views; link; link = g_slist_next (link))
{ {
@ -745,6 +748,11 @@ app_update_views (App *app)
app->live_views = g_slist_prepend (app->live_views, view); app->live_views = g_slist_prepend (app->live_views, view);
} }
has_views = app->live_views != NULL;
if (has_views != had_views)
app_notify_has_calendars (app);
g_slist_free_full (clients, g_object_unref); g_slist_free_full (clients, g_object_unref);
} }