!7 Update to 43.1

From: @dwl301 
Reviewed-by: @zhang__3125 
Signed-off-by: @zhang__3125
This commit is contained in:
openeuler-ci-bot 2023-02-16 09:49:30 +00:00 committed by Gitee
commit aa28a59c49
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 90 additions and 6 deletions

41
269.patch Normal file
View File

@ -0,0 +1,41 @@
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

34
270.patch Normal file
View File

@ -0,0 +1,34 @@
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-43.1.tar.xz Normal file

Binary file not shown.

View File

@ -1,16 +1,22 @@
%global libical_version 3.0.5
%global gsettings_desktop_schemas_version 3.21.2
%global edataserver_version 3.33.2
%global edataserver_version 3.45.1
%global glib2_version 2.67.5
%global gtk4_version 4.6.0
Name: gnome-calendar
Version: 42.2
Version: 43.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}/42/%{name}-%{version}.tar.xz
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
BuildRequires: gcc gettext gtk-doc meson pkgconfig(geocode-glib-1.0)
BuildRequires: pkgconfig(libdazzle-1.0)
@ -25,8 +31,8 @@ BuildRequires: pkgconfig(libecal-2.0) >= %{edataserver_version}
BuildRequires: pkgconfig(libedataserver-1.2) >= %{edataserver_version}
BuildRequires: pkgconfig(libgeoclue-2.0)
BuildRequires: pkgconfig(libical) >= %{libical_version}
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: /usr/bin/appstream-util
BuildRequires: pkgconfig(libsoup-3.0)
BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
Requires: evolution-data-server%{?_isa} >= %{edataserver_version}
@ -49,7 +55,7 @@ effort.
%install
%meson_install
%find_lang gnome-calendar
%find_lang %{name}
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Calendar.desktop
@ -72,6 +78,9 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/org.gnome
%{_datadir}/gnome-shell/search-providers/org.gnome.Calendar.search-provider.ini
%changelog
* Mon Jan 02 2023 lin zhang <lin.zhang@turbolinux.com.cn> - 43.1-1
- Update to 43.1
* Mon Jun 20 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 42.2-1
- Update to 42.2