Dmitry Timoshkov : taskschd: Make ITaskDefinition a part of IRegisteredTask implementation.

Alexandre Julliard julliard at winehq.org
Thu Feb 20 10:08:11 CST 2014


Module: wine
Branch: master
Commit: 734417a4813acb56d63ad1f66afacf163b85ac3b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=734417a4813acb56d63ad1f66afacf163b85ac3b

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Wed Feb 19 12:13:03 2014 +0900

taskschd: Make ITaskDefinition a part of IRegisteredTask implementation.

---

 dlls/taskschd/regtask.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/dlls/taskschd/regtask.c b/dlls/taskschd/regtask.c
index 7ed3c2a..b7eea52 100644
--- a/dlls/taskschd/regtask.c
+++ b/dlls/taskschd/regtask.c
@@ -37,6 +37,7 @@ typedef struct
     IRegisteredTask IRegisteredTask_iface;
     LONG ref;
     WCHAR *path;
+    ITaskDefinition *taskdef;
 } RegisteredTask;
 
 static inline RegisteredTask *impl_from_IRegisteredTask(IRegisteredTask *iface)
@@ -58,6 +59,7 @@ static ULONG WINAPI regtask_Release(IRegisteredTask *iface)
     if (!ref)
     {
         TRACE("destroying %p\n", iface);
+        ITaskDefinition_Release(regtask->taskdef);
         heap_free(regtask->path);
         heap_free(regtask);
     }
@@ -262,6 +264,8 @@ HRESULT RegisteredTask_create(const WCHAR *path, const WCHAR *name, ITaskDefinit
     regtask->IRegisteredTask_iface.lpVtbl = &RegisteredTask_vtbl;
     regtask->path = heap_strdupW(path);
     regtask->ref = 1;
+    ITaskDefinition_AddRef(definition);
+    regtask->taskdef = definition;
     *obj = &regtask->IRegisteredTask_iface;
 
     TRACE("created %p\n", *obj);




More information about the wine-cvs mailing list