[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/3.5/kdepim/kontact/plugins/korganizer
From: Bram Schoenmakers <bramschoenmakers () kde ! nl>
Date: 2006-11-04 10:43:43
Message-ID: 1162637023.533654.744.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 601750 by bram:
Fix commit 587417 by winterz to handle recurring events properly in the summary widget.
Data was written to events, which is evil (bug 136221).
Now, create a separate list to prevent implicit sharing.
BUG:136221
M +11 -5 summarywidget.cpp
--- branches/KDE/3.5/kdepim/kontact/plugins/korganizer/summarywidget.cpp #601749:601750
@@ -97,20 +97,26 @@
for ( dt=currentDate;
dt<=currentDate.addDays( days - 1 );
dt=dt.addDays(1) ) {
- KCal::Event::List events = mCalendar->events( dt );
KCal::Event *ev;
- KCal::Event::List::ConstIterator it;
+
+ KCal::Event::List events_orig = mCalendar->events( dt );
+ KCal::Event::List::ConstIterator it = events_orig.begin();
+
+ KCal::Event::List events;
+ events.setAutoDelete( true );
QDateTime qdt;
- // Find recurring events, replacing the QDate with the currentDate
- for ( it=events.begin(); it!=events.end(); ++it ) {
- ev = *it;
+ // prevent implicitely sharing while finding recurring events
+ // replacing the QDate with the currentDate
+ for ( ; it != events_orig.end(); ++it ) {
+ ev = (*it)->clone();
if ( ev->recursOn( dt ) ) {
qdt = ev->dtStart();
qdt.setDate( dt );
ev->setDtStart( qdt );
}
+ events.append( ev );
}
// sort the events for this date by summary
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic