summaryrefslogtreecommitdiff
path: root/library
authoreilers <eilers>2003-03-24 17:24:44 (UTC)
committer eilers <eilers>2003-03-24 17:24:44 (UTC)
commit84372ba20c0b1b09c1606212ec66c9d04588b90e (patch) (side-by-side diff)
tree36c4d861596c80b537c765af3f0c16495a763cc6 /library
parent38d8d91e11c191f89429f4a3da8c1ada84b2a885 (diff)
downloadopie-84372ba20c0b1b09c1606212ec66c9d04588b90e.zip
opie-84372ba20c0b1b09c1606212ec66c9d04588b90e.tar.gz
opie-84372ba20c0b1b09c1606212ec66c9d04588b90e.tar.bz2
Small anti-crash fix: Sync with QtopiaDesktop caused a big mess. But this
mess should't crash datebook. Therefore this fix prevents datebook to hang if rweekdays=="0"
Diffstat (limited to 'library') (more/less context) (ignore whitespace changes)
-rw-r--r--library/datebookdb.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/library/datebookdb.cpp b/library/datebookdb.cpp
index a26fe8f..0fedfa8 100644
--- a/library/datebookdb.cpp
+++ b/library/datebookdb.cpp
@@ -820,49 +820,54 @@ void DateBookDB::loadFile( const QString &strFile )
e.setType( Event::Normal );
break;
case FAlarm:
alarmTime = value.toInt();
break;
case FSound:
alarmSound = value == "loud" ? Event::Loud : Event::Silent;
break;
// recurrence stuff
case FRType:
if ( value == "Daily" )
rp.type = Event::Daily;
else if ( value == "Weekly" )
rp.type = Event::Weekly;
else if ( value == "MonthlyDay" )
rp.type = Event::MonthlyDay;
else if ( value == "MonthlyDate" )
rp.type = Event::MonthlyDate;
else if ( value == "Yearly" )
rp.type = Event::Yearly;
else
rp.type = Event::NoRepeat;
break;
case FRWeekdays:
- rp.days = value.toInt();
+ // QtopiaDesktop 1.6 sometimes creates 'rweekdays="0"'
+ // when it goes mad. This causes datebook to crash.. (se)
+ if ( value.toInt() != 0 )
+ rp.days = value.toInt();
+ else
+ rp.days = 1;
break;
case FRPosition:
rp.position = value.toInt();
break;
case FRFreq:
rp.frequency = value.toInt();
break;
case FRHasEndDate:
rp.hasEndDate = value.toInt();
break;
case FREndDate: {
rp.endDateUTC = (time_t) value.toLong();
break;
}
case FRStart: {
e.setStart( (time_t) value.toLong() );
break;
}
case FREnd: {
e.setEnd( (time_t) value.toLong() );
break;
}
case FNote:
e.setNotes( value );