[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: Re: branches/KDE/3.5/kdepim/kontact/plugins/korganizer
From: Allen Winter <winter () kde ! org>
Date: 2006-11-04 14:24:21
Message-ID: 200611040924.21608.winter () kde ! org
[Download RAW message or body]
On Saturday, November 4, 2006 05:43:43 AM Bram Schoenmakers wrote:
> 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).
>
Hi Bram,
Thanks for fixing my evilness.
Would you please also forward port to trunk.
-Allen
> 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
>
>
>
-- and now a word from our sponsor
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic