Dmitry Timoshkov : taskschd: ITaskService:: GetFolder should fail if not connected to the server.

Alexandre Julliard julliard at winehq.org
Thu Feb 6 13:25:31 CST 2014


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

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Wed Feb  5 15:07:44 2014 +0900

taskschd: ITaskService::GetFolder should fail if not connected to the server.

---

 dlls/taskschd/task.c            |    5 +++++
 dlls/taskschd/tests/scheduler.c |    3 +++
 2 files changed, 8 insertions(+)

diff --git a/dlls/taskschd/task.c b/dlls/taskschd/task.c
index c424700..09fe32a 100644
--- a/dlls/taskschd/task.c
+++ b/dlls/taskschd/task.c
@@ -113,10 +113,15 @@ static HRESULT WINAPI TaskService_Invoke(ITaskService *iface, DISPID dispid, REF
 
 static HRESULT WINAPI TaskService_GetFolder(ITaskService *iface, BSTR path, ITaskFolder **folder)
 {
+    TaskService *task_svc = impl_from_ITaskService(iface);
+
     TRACE("%p,%s,%p\n", iface, debugstr_w(path), folder);
 
     if (!folder) return E_POINTER;
 
+    if (!task_svc->connected)
+        return HRESULT_FROM_WIN32(ERROR_ONLY_IF_CONNECTED);
+
     return TaskFolder_create(path, NULL, folder, FALSE);
 }
 
diff --git a/dlls/taskschd/tests/scheduler.c b/dlls/taskschd/tests/scheduler.c
index 3499d5e..be36069 100644
--- a/dlls/taskschd/tests/scheduler.c
+++ b/dlls/taskschd/tests/scheduler.c
@@ -142,6 +142,9 @@ static void test_GetFolder(void)
         return;
     }
 
+    hr = ITaskService_GetFolder(service, NULL, &folder);
+    ok(hr == HRESULT_FROM_WIN32(ERROR_ONLY_IF_CONNECTED), "expected ERROR_ONLY_IF_CONNECTED, got %#x\n", hr);
+
     V_VT(&v_null) = VT_NULL;
 
     hr = ITaskService_Connect(service, v_null, v_null, v_null, v_null);




More information about the wine-cvs mailing list