[PATCH 10/12] mstask: Implement ITask::Terminate().

Dmitry Timoshkov dmitry at baikal.ru
Thu May 10 23:36:45 CDT 2018


Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
 dlls/mstask/task.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/dlls/mstask/task.c b/dlls/mstask/task.c
index fa84f4e9ed..9cdf92e319 100644
--- a/dlls/mstask/task.c
+++ b/dlls/mstask/task.c
@@ -283,11 +283,17 @@ static HRESULT WINAPI MSTASK_ITask_Run(ITask *iface)
     return IPersistFile_Save(&This->IPersistFile_iface, NULL, FALSE);
 }
 
-static HRESULT WINAPI MSTASK_ITask_Terminate(
-        ITask* iface)
+static HRESULT WINAPI MSTASK_ITask_Terminate(ITask *iface)
 {
-    FIXME("(%p): stub\n", iface);
-    return E_NOTIMPL;
+    TaskImpl *This = impl_from_ITask(iface);
+
+    TRACE("(%p)\n", iface);
+
+    if (!This->instance_count)
+        return SCHED_E_TASK_NOT_RUNNING;
+
+    This->flags |= 0x08000000;
+    return IPersistFile_Save(&This->IPersistFile_iface, NULL, FALSE);
 }
 
 static HRESULT WINAPI MSTASK_ITask_EditWorkItem(
-- 
2.16.3




More information about the wine-devel mailing list