update to version 44.1

This commit is contained in:
lwg K 2023-11-24 10:33:48 +08:00
parent aa28a59c49
commit 664e266c05
5 changed files with 5 additions and 83 deletions

View File

@ -1,41 +0,0 @@
From 21e5396bf5d6fe6101bb1c773632e8722fe2f3bb Mon Sep 17 00:00:00 2001
From: Milan Crha <mcrha@redhat.com>
Date: Mon, 31 Oct 2022 10:57:40 +0100
Subject: [PATCH] event-editor: Fix possible use-after-free of recurrence until
date
The GcalDateSelector returns an internal instance, while the 'until' date/time
is meant to be an own instance, which is freed by the GcalRecurrence instance
in its free function. That means the 'until' date/time is supposed to be reffed
when being assigned into the GcalRecurrence structure.
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/892
---
src/gui/event-editor/gcal-schedule-section.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gui/event-editor/gcal-schedule-section.c b/src/gui/event-editor/gcal-schedule-section.c
index 2aed8e30..6a051909 100644
--- a/src/gui/event-editor/gcal-schedule-section.c
+++ b/src/gui/event-editor/gcal-schedule-section.c
@@ -616,7 +616,7 @@ gcal_schedule_section_apply (GcalEventEditorSection *section)
recur->limit_type = gtk_combo_box_get_active (GTK_COMBO_BOX (self->repeat_duration_combo));
if (recur->limit_type == GCAL_RECURRENCE_UNTIL)
- recur->limit.until = gcal_date_selector_get_date (GCAL_DATE_SELECTOR (self->until_date_selector));
+ recur->limit.until = g_date_time_ref (gcal_date_selector_get_date (GCAL_DATE_SELECTOR (self->until_date_selector)));
else if (recur->limit_type == GCAL_RECURRENCE_COUNT)
recur->limit.count = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (self->number_of_occurrences_spin));
@@ -821,7 +821,7 @@ gcal_schedule_section_recurrence_changed (GcalScheduleSection *self)
recurrence->frequency = gtk_combo_box_get_active (GTK_COMBO_BOX (self->repeat_combo));
recurrence->limit_type = gtk_combo_box_get_active (GTK_COMBO_BOX (self->repeat_duration_combo));
if (recurrence->limit_type == GCAL_RECURRENCE_UNTIL)
- recurrence->limit.until = gcal_date_selector_get_date (GCAL_DATE_SELECTOR (self->until_date_selector));
+ recurrence->limit.until = g_date_time_ref (gcal_date_selector_get_date (GCAL_DATE_SELECTOR (self->until_date_selector)));
else if (recurrence->limit_type == GCAL_RECURRENCE_COUNT)
recurrence->limit.count = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (self->number_of_occurrences_spin));
--
GitLab

View File

@ -1,34 +0,0 @@
From 36623c8339256d706187f694ee45a73e3997daae Mon Sep 17 00:00:00 2001
From: Milan Crha <mcrha@redhat.com>
Date: Wed, 2 Nov 2022 09:01:11 +0100
Subject: [PATCH] gcal-recurrence: Handle invalid 'until' time
When the until's time part is invalid, the libical claims the time
as valid, but the conversion into the GDateTime fails and returns NULL.
Such events, which claim to have until-date recurrence, but NULL 'until'
cannot be edited, because they cause a crash of the application.
More information can be found downstream at:
https://bugzilla.redhat.com/show_bug.cgi?id=2135772
Related to https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/892
---
src/core/gcal-recurrence.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/core/gcal-recurrence.c b/src/core/gcal-recurrence.c
index 91a152c5..3d271036 100644
--- a/src/core/gcal-recurrence.c
+++ b/src/core/gcal-recurrence.c
@@ -229,6 +229,8 @@ gcal_recurrence_parse_recurrence_rules (ECalComponent *comp)
{
recur->limit_type = GCAL_RECURRENCE_UNTIL;
recur->limit.until = gcal_date_time_from_icaltime (until);
+ if (!recur->limit.until)
+ recur->limit_type = GCAL_RECURRENCE_FOREVER;
}
else
{
--
GitLab

Binary file not shown.

BIN
gnome-calendar-44.1.tar.xz Normal file

Binary file not shown.

View File

@ -5,18 +5,12 @@
%global gtk4_version 4.6.0
Name: gnome-calendar
Version: 43.1
Version: 44.1
Release: 1
Summary: A simple and beautiful calendar application for GNOME.
License: GPLv3+
URL: https://wiki.gnome.org/Apps/Calendar
Source0: https://download.gnome.org/sources/%{name}/43/%{name}-%{version}.tar.xz
# Backported from upstream
# https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/269
Patch0: 269.patch
# https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/270
Patch1: 270.patch
Source0: https://download.gnome.org/sources/%{name}/44/%{name}-%{version}.tar.xz
BuildRequires: gcc gettext gtk-doc meson pkgconfig(geocode-glib-1.0)
BuildRequires: pkgconfig(libdazzle-1.0)
@ -78,6 +72,9 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/org.gnome
%{_datadir}/gnome-shell/search-providers/org.gnome.Calendar.search-provider.ini
%changelog
* Fri Nov 24 2023 lwg <liweiganga@uniontech.com> - 44.1-1
- update to version 44.1
* Mon Jan 02 2023 lin zhang <lin.zhang@turbolinux.com.cn> - 43.1-1
- Update to 43.1