CVS commit by jahrens: When no todo was available, kpilotDaemon crashed during the sync due to a wrong iterator in TodoConduitPrivate::getNextIncidence() M +12 -13 todo-conduit.cc 1.52 M +4 -5 vcal-conduit.cc 1.103 --- kdepim/kpilot/conduits/vcalconduit/todo-conduit.cc #1.51:1.52 @@ -121,12 +121,14 @@ KCal::Incidence *TodoConduitPrivate::fin KCal::Incidence *TodoConduitPrivate::getNextIncidence() { + FUNCTIONSETUP; if (reading) { ++fAllTodosIterator; - if ( fAllTodosIterator == fAllTodos.end() ) return 0; - } else { + } + else { reading=true; fAllTodosIterator = fAllTodos.begin(); } - return *fAllTodosIterator; + + return(fAllTodosIterator == fAllTodos.end()) ? 0L : *fAllTodosIterator; } @@ -135,5 +137,5 @@ KCal::Incidence *TodoConduitPrivate::get KCal::Incidence *TodoConduitPrivate::getNextModifiedIncidence() { -FUNCTIONSETUP; + FUNCTIONSETUP; KCal::Todo*e=0L; if (!reading) @@ -159,8 +161,5 @@ FUNCTIONSETUP; } - if ( fAllTodosIterator == fAllTodos.end() ) - return 0; - else - return *fAllTodosIterator; + return (fAllTodosIterator == fAllTodos.end()) ? 0L : *fAllTodosIterator; } --- kdepim/kpilot/conduits/vcalconduit/vcal-conduit.cc #1.102:1.103 @@ -116,6 +117,5 @@ KCal::Incidence *VCalConduitPrivate::get } // At end of list, or empty list. - if ( fAllEventsIterator == fAllEvents.end() ) return 0; - return *fAllEventsIterator; + return (fAllEventsIterator == fAllEvents.end()) ? 0L : *fAllEventsIterator; } @@ -144,6 +144,5 @@ KCal::Incidence *VCalConduitPrivate::get e=*fAllEventsIterator; } - if ( fAllEventsIterator == fAllEvents.end() ) return 0; - else return *fAllEventsIterator; + return (fAllEventsIterator == fAllEvents.end()) ? 0L : *fAllEventsIterator; }