diff options
Diffstat (limited to 'kresources/kolab/kcal/event.cpp')
-rw-r--r-- | kresources/kolab/kcal/event.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/kresources/kolab/kcal/event.cpp b/kresources/kolab/kcal/event.cpp index 0f25eb73d..e1d58a13c 100644 --- a/kresources/kolab/kcal/event.cpp +++ b/kresources/kolab/kcal/event.cpp @@ -190,7 +190,9 @@ void Event::setFields( const KCal::Event* event ) { Incidence::setFields( event ); - if ( event->hasEndDate() ) { + // note: if hasEndDate() is false and hasDuration() is true + // dtEnd() returns start+duration + if ( event->hasEndDate() || event->hasDuration() ) { if ( event->doesFloat() ) { // This is a floating event. Don't timezone move this one mFloatingStatus = AllDay; @@ -199,8 +201,9 @@ void Event::setFields( const KCal::Event* event ) mFloatingStatus = HasTime; setEndDate( localToUTC( event->dtEnd() ) ); } - } else + } else { mHasEndDate = false; + } setTransparency( event->transparency() ); } |