From 734417a4813acb56d63ad1f66afacf163b85ac3b Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Wed, 19 Feb 2014 12:13:03 +0900 Subject: [PATCH] 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 7ed3c2a4eb1..b7eea52fd8d 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 = ®task->IRegisteredTask_iface; TRACE("created %p\n", *obj);