Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1:Test
kdepim4
r900343.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File r900343.diff of Package kdepim4
Subject: ktimetracker: fix crash when deleting the last task From: wstephenson@suse.de Bug: kde:173543 Patch-upstream: 900343 --- ktimetracker/taskview.cpp (revision 900342) +++ ktimetracker/taskview.cpp (revision 900343) @@ -930,6 +930,7 @@ void TaskView::deleteTaskBatch( Task* ta _idleTimeDetector->stopIdleDetection(); emit timersInactive(); } + task->delete_recursive(); emit tasksChanged( d->mActiveTasks ); } @@ -968,7 +969,7 @@ void TaskView::deleteTask( Task* task ) for (int n=delendum.size()-1; n>=0; --n) deleteTaskBatch(itemAt(delendum[n])); } - d->mStorage->buildTaskView(this); + //d->mStorage->buildTaskView(this); } void TaskView::markTaskAsComplete() --- ktimetracker/task.cpp (revision 900342) +++ ktimetracker/task.cpp (revision 900343) @@ -142,6 +142,16 @@ Task::~Task() delete mTimer; } +void Task::delete_recursive() +{ + while ( this->child(0) ) + { + Task* t=(Task*) this->child(0); + t->delete_recursive(); + } + delete this; +} + void Task::setRunning( bool on, KarmStorage* storage, const QDateTime &when ) // This is the back-end, the front-end is StartTimerFor() { --- ktimetracker/task.h (revision 900342) +++ ktimetracker/task.h (revision 900343) @@ -86,6 +86,8 @@ class Task : public QObject, public QTre /** Return unique iCalendar Todo ID for this task. */ QString uid() const; + void delete_recursive(); + int depth(); /** Index: ktimetracker/taskview.cpp =================================================================== Index: ktimetracker/task.cpp =================================================================== Index: ktimetracker/task.h ===================================================================
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor