[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