I moved a weekly-recurring event to half an hour later, korganizer asked if that was for this instance or for all, I clicked on All, and korganizer crashed.
If it matters, I had previously duplicated an event recurring on thursdays (by copy/pasting it), then modified that event to be on mondays rather than thursdays.
And then I moved its start time as described anove.
#0 EventViews::AgendaItem::firstMultiItem() const (this=0x0) at /d/kde/src/5/kde/pim/eventviews/src/agenda/agendaitem.h:171
#1 EventViews::Agenda::endItemAction() (this=0x1111a40) at /d/kde/src/5/kde/pim/eventviews/src/agenda/agenda.cpp:1217
#2 0x00007fd9580c4804 in EventViews::Agenda::eventFilter_mouse(QObject*, QMouseEvent*) (this=0x1111a40, object=<optimized out>, me=0x7ffe802f14d0) at /d/kde/src/5/kde/pim/eventviews/src/agenda/agenda.cpp:703
#3 0x00007fd9552ccda9 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (receiver=0x7fd948019120, event=0x7ffe802f14d0) at /d/qt/5/kde/qtbase/src/corelib/kernel/qcoreapplication.cpp:1190
#4 0x00007fd9560a981d in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=0xcb42d0, receiver=0x7fd948019120, e=0x7ffe802f14d0) at /d/qt/5/kde/qtbase/src/widgets/kernel/qapplication.cpp:3626
#5 0x00007fd9560a73d2 in QApplication::notify(QObject*, QEvent*) (this=0x7ffe802f2610, receiver=0x7fd948019120, e=0x7ffe802f14d0) at /d/qt/5/kde/qtbase/src/widgets/kernel/qapplication.cpp:3076
#6 0x00007fd9552cc984 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fd948019120, event=0x7ffe802f14d0) at /d/qt/5/kde/qtbase/src/corelib/kernel/qcoreapplication.cpp:1064
#7 0x00007fd9552cd356 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) (receiver=0x7fd948019120, event=0x7ffe802f14d0) at /d/qt/5/kde/qtbase/src/corelib/kernel/qcoreapplication.cpp:1474
#8 0x00007fd9560a5fa3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) (receiver=0x7fd948019120, event=0x7ffe802f14d0, alienWidget=0x7fd948019120, nativeWidget=0xe3e7a0, buttonDown=0x7fd956810a10 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /d/qt/5/kde/qtbase/src/widgets/kernel/qapplication.cpp:2614
No crash :)
KDEPIM Version: git release/21.04 branch (eventviews commit 04450a2)
KDE Frameworks Version: 5.81.0
Qt Version: 5.15.2
The line of code is
1217 AgendaItem::QPtr placeItem = d->mActionItem->firstMultiItem();
and clearly d->mActionItem is null.
(In reply to David Faure from comment #1)
> The line of code is
> 1217 AgendaItem::QPtr placeItem = d->mActionItem->firstMultiItem();
> and clearly d->mActionItem is null.
And yet mActionItem must have been non-null at line 1147, and I don't see where an assignment happens.
Any chance you can reproduce this?
Hmm, many things can happen while a modal dialog is up (the question in showMoveRecurDialog). Like the disappearing+reappearing of events that happens often after I just created them (with the DAV resource at least).
A possibly relevant merge request was started @ https://invent.kde.org/pim/eventviews/-/merge_requests/23
Git commit 57d3025b146bb9cd3bef2c6eaef77f4970361c1a by Glen Ditchfield.
Committed on 21/04/2021 at 23:26.
Pushed by dfaure into branch 'release/21.04'.
Don't crash if an agenda item is deleted while it is being moved
When a recurring event is moved, a dialog box asks which instances to
move. Apparently `mActionItem` can be set to null by asynchronous
events while the dialog is up.
M +7 -0 src/agenda/agenda.cpp