Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kcalendarcore for openSUSE:Factory checked in at 2022-01-11 21:15:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kcalendarcore (Old) and /work/SRC/openSUSE:Factory/.kcalendarcore.new.1892 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kcalendarcore" Tue Jan 11 21:15:59 2022 rev:28 rq:945035 version:5.90.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kcalendarcore/kcalendarcore.changes 2021-12-13 20:43:41.936479953 +0100 +++ /work/SRC/openSUSE:Factory/.kcalendarcore.new.1892/kcalendarcore.changes 2022-01-11 21:18:22.668921192 +0100 @@ -1,0 +2,14 @@ +Mon Jan 3 12:47:16 UTC 2022 - Christophe Giboudeaux <[email protected]> + +- Update to 5.90.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.90.0 +- Changes since 5.89.0: + * Make it compiles against qt6 + * Add unittest for timeSpec-only change of dtStart/dtEnd + * Compare timeSpec() for the end date/time too. + * ICalFormat: reduce calls to dtStart()/dtEnd(), use the local vars + * Fix timezone information being lost when creating events + +------------------------------------------------------------------- Old: ---- kcalendarcore-5.89.0.tar.xz kcalendarcore-5.89.0.tar.xz.sig New: ---- kcalendarcore-5.90.0.tar.xz kcalendarcore-5.90.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kcalendarcore.spec ++++++ --- /var/tmp/diff_new_pack.qXF5Fa/_old 2022-01-11 21:18:23.268921614 +0100 +++ /var/tmp/diff_new_pack.qXF5Fa/_new 2022-01-11 21:18:23.272921616 +0100 @@ -16,21 +16,21 @@ # -%define _tar_path 5.89 +%define _tar_path 5.90 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} -%bcond_without lang +%bcond_without released Name: kcalendarcore -Version: 5.89.0 +Version: 5.90.0 Release: 0 Summary: Library to access and handle calendar data License: LGPL-2.0-or-later Group: System/GUI/KDE URL: https://www.kde.org Source: %{name}-%{version}.tar.xz -%if %{with lang} +%if %{with released} Source1: %{name}-%{version}.tar.xz.sig Source2: frameworks.keyring %endif ++++++ kcalendarcore-5.89.0.tar.xz -> kcalendarcore-5.90.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/CMakeLists.txt new/kcalendarcore-5.90.0/CMakeLists.txt --- old/kcalendarcore-5.89.0/CMakeLists.txt 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/CMakeLists.txt 2022-01-01 13:11:52.000000000 +0100 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "5.89.0") # handled by release scripts +set(KF_VERSION "5.90.0") # handled by release scripts project(KCalendarCore VERSION ${KF_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 5.89.0 NO_MODULE) +find_package(ECM 5.90.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) @@ -47,7 +47,7 @@ ) ########### Find packages ########### -find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Gui) +find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Gui) set(LibIcal_MIN_VERSION "3.0") # TODO remove our FindLibIcal.cmake in favor of upstream LibIcalConfig.cmake once the following issues are resolved: @@ -78,7 +78,7 @@ add_subdirectory(src) if(BUILD_TESTING) - find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Test) + find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Test) add_subdirectory(autotests) endif() @@ -107,7 +107,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kcalendarcore_version.h - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF} COMPONENT Devel ) if (NOT KCALENDARCORE_NO_DEPRECATED_NAMESPACE) ecm_setup_version(PROJECT VARIABLE_PREFIX KCALCORE @@ -115,13 +115,13 @@ ) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kcalcore_version.h - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF} COMPONENT Devel ) endif() if (NOT WIN32) ecm_generate_pkgconfig_file(BASE_NAME KF5CalendarCore - INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KCalendarCore/ + INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KCalendarCore/ DEPS "Qt5Core Qt5Gui" INSTALL) endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/KF5CalendarCoreConfig.cmake.in new/kcalendarcore-5.90.0/KF5CalendarCoreConfig.cmake.in --- old/kcalendarcore-5.89.0/KF5CalendarCoreConfig.cmake.in 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/KF5CalendarCoreConfig.cmake.in 2022-01-01 13:11:52.000000000 +0100 @@ -1,8 +1,8 @@ @PACKAGE_INIT@ include(CMakeFindDependencyMacro) -find_dependency(Qt5Core @REQUIRED_QT_VERSION@) -find_dependency(Qt5Gui @REQUIRED_QT_VERSION@) +find_dependency(Qt@QT_MAJOR_VERSION@Core @REQUIRED_QT_VERSION@) +find_dependency(Qt@QT_MAJOR_VERSION@Gui @REQUIRED_QT_VERSION@) if (NOT @BUILD_SHARED_LIBS@) list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_CURRENT_LIST_DIR}) find_dependency(LibIcal @LibIcal_MIN_VERSION@) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/autotests/CMakeLists.txt new/kcalendarcore-5.90.0/autotests/CMakeLists.txt --- old/kcalendarcore-5.89.0/autotests/CMakeLists.txt 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/autotests/CMakeLists.txt 2022-01-01 13:11:52.000000000 +0100 @@ -1,6 +1,6 @@ include(ECMMarkAsTest) -find_package(Qt5Test ${REQUIRED_QT_VERSION} CONFIG REQUIRED) +find_package(Qt${QT_MAJOR_VERSION}Test ${REQUIRED_QT_VERSION} CONFIG REQUIRED) # needed by loadcalendar file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/cal DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) @@ -10,7 +10,7 @@ add_executable(${_testname} ${_testname}.cpp) add_test(NAME ${_testname} COMMAND ${_testname}) ecm_mark_as_test(${_testname}) - target_link_libraries(${_testname} KF5CalendarCore Qt5::Test LibIcal) + target_link_libraries(${_testname} KF5CalendarCore Qt${QT_MAJOR_VERSION}::Test LibIcal) endforeach() endmacro() @@ -66,7 +66,7 @@ # TODO: check if this can build with msvc now (and if it works on Windows) if(NOT MSVC) macro_unit_tests(testicaltimezones) - target_link_libraries(testicaltimezones Qt5::Core KF5::CalendarCore) + target_link_libraries(testicaltimezones Qt${QT_MAJOR_VERSION}::Core KF5::CalendarCore) endif() ########### Tests ####################### diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/autotests/testevent.cpp new/kcalendarcore-5.90.0/autotests/testevent.cpp --- old/kcalendarcore-5.89.0/autotests/testevent.cpp 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/autotests/testevent.cpp 2022-01-01 13:11:52.000000000 +0100 @@ -10,6 +10,7 @@ #include "todo.h" #include <QTest> +#include <QTimeZone> QTEST_MAIN(EventTest) Q_DECLARE_METATYPE(KCalendarCore::Incidence::DateTimeRole) @@ -247,6 +248,22 @@ } } +void EventTest::testDtStartChange() +{ + QDate dt = QDate::currentDate(); + Event event1; + event1.setDtStart(QDateTime(dt, QTime(1, 0, 0), QTimeZone("Europe/Paris"))); + event1.resetDirtyFields(); + + event1.setDtStart(QDateTime(dt, QTime(1, 0, 0))); + QCOMPARE(event1.dirtyFields(), QSet<IncidenceBase::Field>{IncidenceBase::FieldDtStart}); + event1.resetDirtyFields(); + + event1.setDtStart(QDateTime(dt, QTime(1, 0, 0), QTimeZone("Europe/Paris"))); + QCOMPARE(event1.dirtyFields(), QSet<IncidenceBase::Field>{IncidenceBase::FieldDtStart}); + event1.resetDirtyFields(); +} + void EventTest::testDtEndChange() { QDate dt = QDate::currentDate(); @@ -259,15 +276,24 @@ QVERIFY(event1.dirtyFields().empty()); event1.setDtEnd(QDateTime(dt, {}).addDays(2)); - QCOMPARE(event1.dirtyFields(), QSet<IncidenceBase::Field>() << IncidenceBase::FieldDtEnd); + QCOMPARE(event1.dirtyFields(), QSet<IncidenceBase::Field>{IncidenceBase::FieldDtEnd}); event1.resetDirtyFields(); event1.setDtEnd(QDateTime()); - QCOMPARE(event1.dirtyFields(), QSet<IncidenceBase::Field>() << IncidenceBase::FieldDtEnd); + QCOMPARE(event1.dirtyFields(), QSet<IncidenceBase::Field>{IncidenceBase::FieldDtEnd}); event1.resetDirtyFields(); event1.setDtEnd(QDateTime(dt, {}).addDays(2)); - QCOMPARE(event1.dirtyFields(), QSet<IncidenceBase::Field>() << IncidenceBase::FieldDtEnd); + QCOMPARE(event1.dirtyFields(), QSet<IncidenceBase::Field>{IncidenceBase::FieldDtEnd}); + event1.resetDirtyFields(); + + event1.setDtEnd(QDateTime(dt, QTime(1, 0, 0), QTimeZone("Europe/Paris"))); + QCOMPARE(event1.dirtyFields(), QSet<IncidenceBase::Field>{IncidenceBase::FieldDtEnd}); + event1.resetDirtyFields(); + + event1.setDtEnd(QDateTime(dt, QTime(1, 0, 0), Qt::LocalTime)); + QCOMPARE(event1.dirtyFields(), QSet<IncidenceBase::Field>{IncidenceBase::FieldDtEnd}); + event1.resetDirtyFields(); } void EventTest::testIsMultiDay_data() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/autotests/testevent.h new/kcalendarcore-5.90.0/autotests/testevent.h --- old/kcalendarcore-5.89.0/autotests/testevent.h 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/autotests/testevent.h 2022-01-01 13:11:52.000000000 +0100 @@ -27,6 +27,7 @@ void testSerializer_data(); void testSerializer(); void testDurationDtEnd(); + void testDtStartChange(); void testDtEndChange(); void testIsMultiDay_data(); void testIsMultiDay(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/autotests/testincidence.cpp new/kcalendarcore-5.90.0/autotests/testincidence.cpp --- old/kcalendarcore-5.89.0/autotests/testincidence.cpp 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/autotests/testincidence.cpp 2022-01-01 13:11:52.000000000 +0100 @@ -97,7 +97,9 @@ // Set GEO, thoroughly. inc.setGeoLatitude(90.0); inc.setGeoLongitude(180.0); +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) inc.setHasGeo(true); +#endif QCOMPARE(inc.hasGeo(), true); QCOMPARE(inc.geoLatitude(), 90.0); QCOMPARE(inc.geoLongitude(), 180.0); @@ -114,45 +116,55 @@ inc.resetDirtyFields(); inc.setGeoLatitude(INVALID_LATLON); inc.setGeoLongitude(INVALID_LATLON); +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) inc.setHasGeo(false); +#endif QCOMPARE(inc.hasGeo(), false); QCOMPARE(inc.geoLatitude(), INVALID_LATLON); QCOMPARE(inc.geoLongitude(), INVALID_LATLON); QCOMPARE(inc.dirtyFields(), (QSet{IncidenceBase::FieldGeoLatitude, IncidenceBase::FieldGeoLongitude})); // Error handling. +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) inc.setHasGeo(true); +#endif inc.setGeoLatitude(90.0); inc.setGeoLongitude(180.0); +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) inc.setHasGeo(false); +#endif QCOMPARE(inc.geoLatitude(), INVALID_LATLON); QCOMPARE(inc.geoLongitude(), INVALID_LATLON); - +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) inc.setHasGeo(true); +#endif inc.setGeoLatitude(90.0); inc.setGeoLongitude(180.0); inc.setGeoLatitude(INVALID_LATLON); QCOMPARE(inc.hasGeo(), false); QCOMPARE(inc.geoLatitude(), INVALID_LATLON); QCOMPARE(inc.geoLongitude(), INVALID_LATLON); - +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) inc.setHasGeo(true); +#endif inc.setGeoLatitude(90.0); inc.setGeoLongitude(180.0); inc.setGeoLongitude(INVALID_LATLON); QCOMPARE(inc.hasGeo(), false); QCOMPARE(inc.geoLatitude(), INVALID_LATLON); QCOMPARE(inc.geoLongitude(), INVALID_LATLON); - +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) inc.setHasGeo(true); +#endif inc.setGeoLatitude(90.0); inc.setGeoLongitude(180.0); inc.setGeoLatitude(NAN); QCOMPARE(inc.hasGeo(), false); QCOMPARE(inc.geoLatitude(), INVALID_LATLON); QCOMPARE(inc.geoLongitude(), INVALID_LATLON); - +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) inc.setHasGeo(true); +#endif inc.setGeoLatitude(90.0); inc.setGeoLongitude(180.0); inc.setGeoLongitude(NAN); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/autotests/testtodo.cpp new/kcalendarcore-5.90.0/autotests/testtodo.cpp --- old/kcalendarcore-5.89.0/autotests/testtodo.cpp 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/autotests/testtodo.cpp 2022-01-01 13:11:52.000000000 +0100 @@ -301,7 +301,9 @@ todo5->setStatus(Incidence::StatusDraft); todo5->setSecrecy(Incidence::SecrecyPrivate); todo5->setRelatedTo(QStringLiteral("uid1"), Incidence::RelTypeParent); +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) todo5->setHasGeo(true); +#endif todo5->setGeoLatitude(40); todo5->setGeoLongitude(40); todo5->setOrganizer(QStringLiteral("[email protected]")); @@ -312,7 +314,9 @@ todo6->setStatus(Incidence::StatusDraft); todo6->setSecrecy(Incidence::SecrecyPrivate); todo6->setRelatedTo(QStringLiteral("uid1"), Incidence::RelTypeParent); +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) todo6->setHasGeo(true); +#endif todo6->setGeoLatitude(40); todo6->setGeoLongitude(40); todo6->setUid(QStringLiteral("uid22")); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/src/CMakeLists.txt new/kcalendarcore-5.90.0/src/CMakeLists.txt --- old/kcalendarcore-5.89.0/src/CMakeLists.txt 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/src/CMakeLists.txt 2022-01-01 13:11:52.000000000 +0100 @@ -111,13 +111,13 @@ target_compile_definitions(KF5CalendarCore INTERFACE "-DKCalCore=KCalendarCore") endif() -target_include_directories(KF5CalendarCore INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KCalendarCore>") +target_include_directories(KF5CalendarCore INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KCalendarCore>") target_include_directories(KF5CalendarCore PUBLIC "$<BUILD_INTERFACE:${KCalendarCore_SOURCE_DIR}/src;${KCalendarCore_BINARY_DIR}/src>") target_link_libraries(KF5CalendarCore PUBLIC - Qt5::Core - Qt5::Gui + Qt${QT_MAJOR_VERSION}::Core + Qt${QT_MAJOR_VERSION}::Gui PRIVATE LibIcal ) @@ -181,13 +181,13 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kcalendarcore_export.h ${KCalendarCore_HEADERS} - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KCalendarCore/kcalendarcore + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCalendarCore/kcalendarcore COMPONENT Devel ) install(FILES ${KCalendarCore_CamelCase_HEADERS} - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KCalendarCore/KCalendarCore + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCalendarCore/KCalendarCore COMPONENT Devel ) @@ -195,13 +195,13 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kcalendarcore_export.h ${KCalCore_HEADERS} - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KCalendarCore/kcalcore + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCalendarCore/kcalcore COMPONENT Devel ) install(FILES ${KCalCore_CamelCase_HEADERS} - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KCalendarCore/KCalCore + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCalendarCore/KCalCore COMPONENT Devel ) endif() @@ -212,7 +212,7 @@ DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} ) -ecm_generate_pri_file(BASE_NAME KCalendarCore LIB_NAME KF5CalendarCore DEPS "Core" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KCalendarCore/KCalendarCore) +ecm_generate_pri_file(BASE_NAME KCalendarCore LIB_NAME KF5CalendarCore DEPS "Core" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KCalendarCore/KCalendarCore) install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) if(BUILD_QCH) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/src/event.cpp new/kcalendarcore-5.90.0/src/event.cpp --- old/kcalendarcore-5.89.0/src/event.cpp 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/src/event.cpp 2022-01-01 13:11:52.000000000 +0100 @@ -110,7 +110,7 @@ return; } - if (d->mDtEnd != dtEnd || hasDuration() == dtEnd.isValid()) { + if (d->mDtEnd != dtEnd || d->mDtEnd.timeSpec() != dtEnd.timeSpec() || hasDuration() == dtEnd.isValid()) { update(); d->mDtEnd = dtEnd; d->mMultiDayValid = false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/src/icalformat_p.cpp new/kcalendarcore-5.90.0/src/icalformat_p.cpp --- old/kcalendarcore-5.89.0/src/icalformat_p.cpp 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/src/icalformat_p.cpp 2022-01-01 13:11:52.000000000 +0100 @@ -252,13 +252,13 @@ icalproperty *prop = nullptr; icaltimetype start; - QDateTime dt = event->dtStart(); - if (dt.isValid()) { + const QDateTime dtStart = event->dtStart(); + if (dtStart.isValid()) { if (event->allDay()) { - start = writeICalDate(event->dtStart().date()); + start = writeICalDate(dtStart.date()); prop = icalproperty_new_dtstart(start); } else { - prop = writeICalDateTimeProperty(ICAL_DTSTART_PROPERTY, event->dtStart(), tzUsedList); + prop = writeICalDateTimeProperty(ICAL_DTSTART_PROPERTY, dtStart, tzUsedList); } icalcomponent_add_property(vevent, prop); } @@ -267,14 +267,14 @@ // End time. // RFC2445 says that if DTEND is present, it has to be greater than DTSTART. icaltimetype end; - QDateTime dt = event->dtEnd(); + const QDateTime dtEnd = event->dtEnd(); if (event->allDay()) { // +1 day because end date is non-inclusive. - end = writeICalDate(dt.date().addDays(1)); + end = writeICalDate(dtEnd.date().addDays(1)); icalcomponent_add_property(vevent, icalproperty_new_dtend(end)); } else { - if (dt != event->dtStart()) { - icalcomponent_add_property(vevent, writeICalDateTimeProperty(ICAL_DTEND_PROPERTY, dt, tzUsedList)); + if (dtEnd != dtStart) { + icalcomponent_add_property(vevent, writeICalDateTimeProperty(ICAL_DTEND_PROPERTY, dtEnd, tzUsedList)); } } } @@ -1721,7 +1721,9 @@ icalgeotype geo = icalproperty_get_geo(p); incidence->setGeoLatitude(geo.lat); incidence->setGeoLongitude(geo.lon); +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) incidence->setHasGeo(true); +#endif break; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/src/incidence.cpp new/kcalendarcore-5.90.0/src/incidence.cpp --- old/kcalendarcore-5.89.0/src/incidence.cpp 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/src/incidence.cpp 2022-01-01 13:11:52.000000000 +0100 @@ -942,7 +942,7 @@ // For internal consistency, return false if either coordinate is invalid. return d->mGeoLatitude != INVALID_LATLON && d->mGeoLongitude != INVALID_LATLON; } - +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) void Incidence::setHasGeo(bool hasGeo) { if (mReadOnly) { @@ -959,7 +959,7 @@ } // If hasGeo is true, the caller should set latitude and longitude to legal values.. } - +#endif float Incidence::geoLatitude() const { // For internal consistency, both coordinates are considered invalid if either is. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/src/incidence.h new/kcalendarcore-5.90.0/src/incidence.h --- old/kcalendarcore-5.89.0/src/incidence.h 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/src/incidence.h 2022-01-01 13:11:52.000000000 +0100 @@ -62,7 +62,9 @@ Q_PROPERTY(QString description READ description WRITE setDescription) Q_PROPERTY(QString summary READ summary WRITE setSummary) Q_PROPERTY(QString location READ location WRITE setLocation) +#if KCALENDARCORE_BUILD_DEPRECATED_SINCE(5, 89) Q_PROPERTY(bool hasGeo READ hasGeo WRITE setHasGeo) +#endif Q_PROPERTY(float geoLatitude READ geoLatitude WRITE setGeoLatitude) Q_PROPERTY(float geoLongitude READ geoLongitude WRITE setGeoLongitude) Q_PROPERTY(QStringList categories READ categories WRITE setCategories) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-5.89.0/src/incidencebase.cpp new/kcalendarcore-5.90.0/src/incidencebase.cpp --- old/kcalendarcore-5.89.0/src/incidencebase.cpp 2021-12-04 17:56:29.000000000 +0100 +++ new/kcalendarcore-5.90.0/src/incidencebase.cpp 2022-01-01 13:11:52.000000000 +0100 @@ -251,7 +251,7 @@ qCWarning(KCALCORE_LOG) << "Invalid dtStart"; } - if (d->mDtStart != dtStart) { + if (d->mDtStart != dtStart || d->mDtStart.timeSpec() != dtStart.timeSpec()) { update(); d->mDtStart = dtStart; d->mDirtyFields.insert(FieldDtStart);
