summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/datebookdb.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/library/datebookdb.cpp b/library/datebookdb.cpp
index 000ff71..188d8e1 100644
--- a/library/datebookdb.cpp
+++ b/library/datebookdb.cpp
@@ -93,11 +93,14 @@ bool nextOccurance(const Event &e, const QDate &from, QDateTime &next)
for this round */
// firstOfWeek = 0; this is already done at decl.
while(!((1 << firstOfWeek) & e.repeatPattern().days))
- firstOfWeek++;
+ firstOfWeek++;
+
+
/* there is at least one 'day', or there would be no event */
while(!((1 << (dayOfWeek % 7)) & e.repeatPattern().days))
- dayOfWeek++;
+ dayOfWeek++;
+
dayOfWeek = dayOfWeek % 7; /* the actual day of week */
dayOfWeek -= e.start().date().dayOfWeek() -1;
@@ -891,6 +894,13 @@ void DateBookDB::loadFile( const QString &strFile )
#endif
}
// "post processing" (dates, times, alarm, recurrence)
+
+ // other half of 1169 fixlet without getting into regression
+ // if rp.days == 0 and rp.type == Event::Weekly
+ if ( rp.type == Event::Weekly && rp.days == 0 )
+ rp.days = Event::day( e.start().date().dayOfWeek() );
+
+
// start date/time
e.setRepeat( rp.type != Event::NoRepeat, rp );