diff -rb msvc14_debug64/Plugins/org.blueberry.core.jobs/src/berryJob.cpp msvc14_debug32/Plugins/org.blueberry.core.jobs/src/berryJob.cpp 127a128,132 > void Job::AddJobChangeListener(IJobChangeListener* listener) > { > InternalJob::AddJobChangeListener(listener); > } > diff -rb msvc14_debug64/Plugins/org.blueberry.core.jobs/src/internal/berryJobManager.cpp msvc14_debug32/Plugins/org.blueberry.core.jobs/src/internal/berryJobManager.cpp 874c874,877 < Schedule(ptr_job, rescheduleDelay, reschedule); --- > { > ptr_job->Remove(); > //Schedule(ptr_job, rescheduleDelay, reschedule); > } 1090a1094 > 1091a1096 > 1118c1123 < if (ptr_next == 0) --- > if (ptr_next == 0 || ptr_next.GetPointer() == nullptr) diff -rb msvc14_debug64/Plugins/org.blueberry.core.jobs/src/internal/berryJobQueue.cpp msvc14_debug32/Plugins/org.blueberry.core.jobs/src/internal/berryJobQueue.cpp 139a140 > InternalJob::Pointer previous = InternalJob::Pointer(dummy->Previous()); 141,142c142,148 < return dummy->Previous() == dummy ? InternalJob::Pointer(nullptr) < : dummy->Previous(); --- > if (previous == dummy) > return InternalJob::Pointer(nullptr); > else > return previous; > > //return dummy->Previous() == dummy ? InternalJob::Pointer(nullptr) > // : dummy->Previous(); diff -rb msvc14_debug64/Plugins/org.blueberry.core.jobs/src/internal/berryWorker.cpp msvc14_debug32/Plugins/org.blueberry.core.jobs/src/internal/berryWorker.cpp 53c53 < ptr_currentWorker->ptr_currentJob->Run(ptr_currentWorker->ptr_currentJob->GetProgressMonitor()); --- > result = ptr_currentWorker->ptr_currentJob->Run(ptr_currentWorker->ptr_currentJob->GetProgressMonitor());