!7 Update to 43.1
From: @dwl301 Reviewed-by: @zhang__3125 Signed-off-by: @zhang__3125
This commit is contained in:
commit
aa28a59c49
41
269.patch
Normal file
41
269.patch
Normal 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
34
270.patch
Normal 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
BIN
gnome-calendar-43.1.tar.xz
Normal file
Binary file not shown.
@ -1,16 +1,22 @@
|
|||||||
%global libical_version 3.0.5
|
%global libical_version 3.0.5
|
||||||
%global gsettings_desktop_schemas_version 3.21.2
|
%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 glib2_version 2.67.5
|
||||||
%global gtk4_version 4.6.0
|
%global gtk4_version 4.6.0
|
||||||
|
|
||||||
Name: gnome-calendar
|
Name: gnome-calendar
|
||||||
Version: 42.2
|
Version: 43.1
|
||||||
Release: 1
|
Release: 1
|
||||||
Summary: A simple and beautiful calendar application for GNOME.
|
Summary: A simple and beautiful calendar application for GNOME.
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: https://wiki.gnome.org/Apps/Calendar
|
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: gcc gettext gtk-doc meson pkgconfig(geocode-glib-1.0)
|
||||||
BuildRequires: pkgconfig(libdazzle-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(libedataserver-1.2) >= %{edataserver_version}
|
||||||
BuildRequires: pkgconfig(libgeoclue-2.0)
|
BuildRequires: pkgconfig(libgeoclue-2.0)
|
||||||
BuildRequires: pkgconfig(libical) >= %{libical_version}
|
BuildRequires: pkgconfig(libical) >= %{libical_version}
|
||||||
BuildRequires: pkgconfig(libsoup-2.4)
|
BuildRequires: pkgconfig(libsoup-3.0)
|
||||||
BuildRequires: /usr/bin/appstream-util
|
BuildRequires: libappstream-glib
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
|
|
||||||
Requires: evolution-data-server%{?_isa} >= %{edataserver_version}
|
Requires: evolution-data-server%{?_isa} >= %{edataserver_version}
|
||||||
@ -49,7 +55,7 @@ effort.
|
|||||||
|
|
||||||
%install
|
%install
|
||||||
%meson_install
|
%meson_install
|
||||||
%find_lang gnome-calendar
|
%find_lang %{name}
|
||||||
|
|
||||||
%check
|
%check
|
||||||
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Calendar.desktop
|
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
|
%{_datadir}/gnome-shell/search-providers/org.gnome.Calendar.search-provider.ini
|
||||||
|
|
||||||
%changelog
|
%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
|
* Mon Jun 20 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 42.2-1
|
||||||
- Update to 42.2
|
- Update to 42.2
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user