From cc5aceb4f0a0de8cd07b15b1181f86dbcdf66a82 Mon Sep 17 00:00:00 2001 From: Robert Shearman Date: Mon, 3 Jul 2006 13:49:10 +0100 Subject: [PATCH] advapi32: Fix the service function being called when extended is either set or not set (reported by Andrey Turkin). --- dlls/advapi32/service.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c index 2ceb8a2d664..10b3c676fca 100644 --- a/dlls/advapi32/service.c +++ b/dlls/advapi32/service.c @@ -610,16 +610,16 @@ static BOOL service_handle_control(HANDLE pipe, service_data *service, if (service_accepts_control(service, dwControl)) { - if (service->extended && service->handler.handler) - { - service->handler.handler(dwControl); - ret = ERROR_SUCCESS; - } - else if (service->handler.handler_ex) + if (service->extended && service->handler.handler_ex) { service->handler.handler_ex(dwControl, 0, NULL, service->context); ret = ERROR_SUCCESS; } + else if (service->handler.handler) + { + service->handler.handler(dwControl); + ret = ERROR_SUCCESS; + } } return WriteFile(pipe, &ret, sizeof ret, &count, NULL); }