# # # patch "NEWS" # from [edafe5bdf2a1facd04e238f22159d3454a6ab7fc] # to [736197843833684e7cb400ecaf694f269f3c2501] # # patch "src/model/AutomateCommand.cpp" # from [961b064e1e5ceb07843f9fe0b1f88d985f21de08] # to [a446924d0adc71e158a902fbd893aad1980bd35d] # ============================================================ --- NEWS edafe5bdf2a1facd04e238f22159d3454a6ab7fc +++ NEWS 736197843833684e7cb400ecaf694f269f3c2501 @@ -4,7 +4,10 @@ xxxx-xx-xx (1.0rc2) - bugfix: long-running background processes like f.e. netsync operations or file history fetching are now properly stopped if the specific dialog is closed - + - bugfix: if a running thread should be aborted from within an automate + command and the thread in question no longer exists, a warning is + now issued + 2010-02-15 (1.0rc1) NOTE: You need monotone 0.46 or later for this version - new: create new monotone databases and setup new project with a newly ============================================================ --- src/model/AutomateCommand.cpp 961b064e1e5ceb07843f9fe0b1f88d985f21de08 +++ src/model/AutomateCommand.cpp a446924d0adc71e158a902fbd893aad1980bd35d @@ -104,9 +104,16 @@ void AutomateCommand::abortThreads() // We should find a clean and nice way to only abort the currently // running task and to restart the mtn process proceeding with the // left items in the task queue... - MonotoneThreadPtr thread = APP->manager()->getThreadByNumber(threadNumber); - thread->abort(); - thread->wait(); + try + { + MonotoneThreadPtr thread = APP->manager()->getThreadByNumber(threadNumber); + thread->abort(); + thread->wait(); + } + catch (GuitoneException & e) + { + W(QString("could not stop thread %1: %2").arg(threadNumber).arg(e.what())); + } } connectedThreads.clear();