| Summary: | Incidence::removeRelation does nothing, really | ||
|---|---|---|---|
| Product: | [Applications] kontact | Reporter: | Thorsten Staerk <dev> |
| Component: | calendar | Assignee: | kdepim bugs <pim-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | CVS | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
I fixed this for trunk, see http://websvn.kde.org/trunk/KDE/kdepimlibs/kcal/incidence.cpp?r1=663415&r2=675345 >I fixed this for trunk
Excellent. Can you backport that to 3.5 branch as well?
Or should someone else do that? (probably the KCal maintainer, whoever that is)
I can backport it to trunk, I just wanted to have a "go ahead" from someone. Thanks. SVN commit 687820 by tstaerk:
Really remove relatedUids.
BUGS:147602
--This linie, and those below, will be ignored--
M libkcal/incidence.cpp
M +3 -0 incidence.cpp
--- branches/KDE/3.5/kdepim/libkcal/incidence.cpp #687819:687820
@@ -321,9 +321,12 @@
}
void Incidence::removeRelation(Incidence *event)
+// Remove the relation of our incident. E.g. if you have a task t and a
+// subtask, the subtask will have its relation to the task t.
{
mRelations.removeRef(event);
// if (event->getRelatedTo() == this) event->setRelatedTo(0);
+ mRelatedToUid=QString();
}
|
Version: (using KDE Devel) Installed from: Compiled sources OS: Linux When calling Incidence::removeRelation, nothing seems to happen. I wrote a test case for this: /* test case for Incidence::removeRelation (c) 2007 by Thorsten Staerk This test case associates a todo with another, removes this relation and shows if the removal was successful. Compile it like this: g++ -I/opt/kde3/include -I/usr/lib/qt3/include -lqt-mt -L/usr/lib/qt3/lib -lkcal -L/opt/kde3/lib main.cpp */ #include <libkcal/todo.h> #include <kdebug.h> class KCal::Incidence; int main() { KCal::Todo* i=new KCal::Todo(); KCal::Todo* b=new KCal::Todo(); b->setRelatedTo(i); kdDebug() << "b is now related to " << b->relatedTo() << endl; b->removeRelation(i); kdDebug() << "I expect the following to be empty: " << b->relatedTo() << endl; } b->relatedTo stays something even after b->removeRelation.