Dmitry Timoshkov : mstask: Implement ITask::Terminate().

Alexandre Julliard julliard at winehq.org
Fri May 11 13:22:27 CDT 2018


Module: wine
Branch: master
Commit: 00261db37e5157f4328bb137b91b80da6e0a1e75
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=00261db37e5157f4328bb137b91b80da6e0a1e75

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Fri May 11 12:36:45 2018 +0800

mstask: Implement ITask::Terminate().

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 fa84f4e..9cdf92e 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(




More information about the wine-cvs mailing list