Jacek Caban : wininet: Allow INTERNET_OPTION_SETTINGS_CHANGED on all handle types.
Alexandre Julliard
julliard at winehq.org
Thu May 3 18:04:02 CDT 2018
Module: wine
Branch: master
Commit: d9dd9023fd5793c93db29d738a8577122f6aff2a
URL: https://source.winehq.org/git/wine.git/?a=commit;h=d9dd9023fd5793c93db29d738a8577122f6aff2a
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu May 3 17:14:21 2018 +0200
wininet: Allow INTERNET_OPTION_SETTINGS_CHANGED on all handle types.
Based on patch by Michael Müller.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wininet/internet.c | 11 +++++------
dlls/wininet/tests/internet.c | 9 +++++++++
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index 699962c..be02a50 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -2600,6 +2600,10 @@ BOOL WINAPI InternetQueryOptionA(HINTERNET hInternet, DWORD dwOption,
DWORD INET_SetOption(object_header_t *hdr, DWORD option, void *buf, DWORD size)
{
switch(option) {
+ case INTERNET_OPTION_SETTINGS_CHANGED:
+ FIXME("INTERNETOPTION_SETTINGS_CHANGED semi-stub\n");
+ collect_connections(COLLECT_CONNECTIONS);
+ return ERROR_SUCCESS;
case INTERNET_OPTION_CALLBACK:
WARN("Not settable option %u\n", option);
return ERROR_INTERNET_OPTION_NOT_SETTABLE;
@@ -2652,11 +2656,6 @@ static DWORD set_global_option(DWORD option, void *buf, DWORD size)
connect_timeout = *(ULONG*)buf;
return ERROR_SUCCESS;
- case INTERNET_OPTION_SETTINGS_CHANGED:
- FIXME("INTERNETOPTION_SETTINGS_CHANGED semi-stub\n");
- collect_connections(COLLECT_CONNECTIONS);
- return ERROR_SUCCESS;
-
case INTERNET_OPTION_SUPPRESS_BEHAVIOR:
FIXME("INTERNET_OPTION_SUPPRESS_BEHAVIOR stub\n");
@@ -2667,7 +2666,7 @@ static DWORD set_global_option(DWORD option, void *buf, DWORD size)
return ERROR_SUCCESS;
}
- return ERROR_INTERNET_INVALID_OPTION;
+ return INET_SetOption(NULL, option, buf, size);
}
/***********************************************************************
diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c
index 3201dd9..79282a1 100644
--- a/dlls/wininet/tests/internet.c
+++ b/dlls/wininet/tests/internet.c
@@ -1165,6 +1165,15 @@ static void test_InternetSetOption(void)
ok(ret == FALSE, "InternetSetOption should've failed\n");
ok(GetLastError() == ERROR_INVALID_PARAMETER, "GetLastError() = %x\n", GetLastError());
+ ret = InternetSetOptionA(req, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0);
+ ok(ret == TRUE, "InternetSetOption should've succeeded\n");
+
+ ret = InternetSetOptionA(con, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0);
+ ok(ret == TRUE, "InternetSetOption should've succeeded\n");
+
+ ret = InternetSetOptionA(ses, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0);
+ ok(ret == TRUE, "InternetSetOption should've succeeded\n");
+
ret = InternetCloseHandle(req);
ok(ret == TRUE, "InternetCloseHandle failed: 0x%08x\n", GetLastError());
ret = InternetCloseHandle(con);
More information about the wine-cvs
mailing list