mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT
This is relevant wrt. case insensitive identifiers. Closes GH-7391.
This commit is contained in:
parent
116fa65482
commit
bdf53cc91f
2 changed files with 7 additions and 5 deletions
4
NEWS
4
NEWS
|
@ -2,7 +2,9 @@ PHP NEWS
|
||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||
?? ??? ????, PHP 8.1.0RC1
|
?? ??? ????, PHP 8.1.0RC1
|
||||||
|
|
||||||
|
- COM:
|
||||||
|
. Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. (Dmitry
|
||||||
|
Maksimov)
|
||||||
|
|
||||||
19 Aug 2021, PHP 8.1.0beta3
|
19 Aug 2021, PHP 8.1.0beta3
|
||||||
|
|
||||||
|
|
|
@ -229,7 +229,7 @@ PHP_METHOD(com, __construct)
|
||||||
/* we got the object and it lives ! */
|
/* we got the object and it lives ! */
|
||||||
|
|
||||||
/* see if it has TypeInfo available */
|
/* see if it has TypeInfo available */
|
||||||
if (FAILED(IDispatch_GetTypeInfo(V_DISPATCH(&obj->v), 0, LANG_NEUTRAL, &obj->typeinfo)) && typelib_name) {
|
if (FAILED(IDispatch_GetTypeInfo(V_DISPATCH(&obj->v), 0, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), &obj->typeinfo)) && typelib_name) {
|
||||||
/* load up the library from the named file */
|
/* load up the library from the named file */
|
||||||
TL = php_com_load_typelib_via_cache(typelib_name, obj->code_page);
|
TL = php_com_load_typelib_via_cache(typelib_name, obj->code_page);
|
||||||
|
|
||||||
|
@ -338,7 +338,7 @@ HRESULT php_com_invoke_helper(php_com_dotnet_object *obj, DISPID id_member,
|
||||||
EXCEPINFO e = {0};
|
EXCEPINFO e = {0};
|
||||||
|
|
||||||
hr = IDispatch_Invoke(V_DISPATCH(&obj->v), id_member,
|
hr = IDispatch_Invoke(V_DISPATCH(&obj->v), id_member,
|
||||||
&IID_NULL, LOCALE_SYSTEM_DEFAULT, flags, disp_params, v, &e, &arg_err);
|
&IID_NULL, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), flags, disp_params, v, &e, &arg_err);
|
||||||
|
|
||||||
if (silent == 0 && FAILED(hr)) {
|
if (silent == 0 && FAILED(hr)) {
|
||||||
char *source = NULL, *desc = NULL, *msg = NULL;
|
char *source = NULL, *desc = NULL, *msg = NULL;
|
||||||
|
@ -430,7 +430,7 @@ HRESULT php_com_get_id_of_name(php_com_dotnet_object *obj, char *name,
|
||||||
hr = ITypeInfo_GetIDsOfNames(obj->typeinfo, &olename, 1, dispid);
|
hr = ITypeInfo_GetIDsOfNames(obj->typeinfo, &olename, 1, dispid);
|
||||||
if (FAILED(hr)) {
|
if (FAILED(hr)) {
|
||||||
HRESULT hr1 = hr;
|
HRESULT hr1 = hr;
|
||||||
hr = IDispatch_GetIDsOfNames(V_DISPATCH(&obj->v), &IID_NULL, &olename, 1, LOCALE_SYSTEM_DEFAULT, dispid);
|
hr = IDispatch_GetIDsOfNames(V_DISPATCH(&obj->v), &IID_NULL, &olename, 1, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), dispid);
|
||||||
if (SUCCEEDED(hr) && hr1 != E_NOTIMPL) {
|
if (SUCCEEDED(hr) && hr1 != E_NOTIMPL) {
|
||||||
/* fall back on IDispatch direct */
|
/* fall back on IDispatch direct */
|
||||||
ITypeInfo_Release(obj->typeinfo);
|
ITypeInfo_Release(obj->typeinfo);
|
||||||
|
@ -438,7 +438,7 @@ HRESULT php_com_get_id_of_name(php_com_dotnet_object *obj, char *name,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
hr = IDispatch_GetIDsOfNames(V_DISPATCH(&obj->v), &IID_NULL, &olename, 1, LOCALE_SYSTEM_DEFAULT, dispid);
|
hr = IDispatch_GetIDsOfNames(V_DISPATCH(&obj->v), &IID_NULL, &olename, 1, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), dispid);
|
||||||
}
|
}
|
||||||
efree(olename);
|
efree(olename);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue