mirror of
https://github.com/python/cpython.git
synced 2025-11-25 12:44:13 +00:00
Removed a Windows 9x trick used before LoadLibraryExW.
Windows 9x has long been unsupported and the result of GetFullPathName was not even being used in the first place.
This commit is contained in:
parent
51fcb811e3
commit
589f89e2ad
1 changed files with 8 additions and 17 deletions
|
|
@ -185,28 +185,19 @@ dl_funcptr _PyImport_GetDynLoadWindows(const char *shortname,
|
||||||
|
|
||||||
{
|
{
|
||||||
HINSTANCE hDLL = NULL;
|
HINSTANCE hDLL = NULL;
|
||||||
wchar_t pathbuf[260];
|
|
||||||
unsigned int old_mode;
|
unsigned int old_mode;
|
||||||
ULONG_PTR cookie = 0;
|
ULONG_PTR cookie = 0;
|
||||||
/* We use LoadLibraryEx so Windows looks for dependent DLLs
|
|
||||||
in directory of pathname first. However, Windows95
|
|
||||||
can sometimes not work correctly unless the absolute
|
|
||||||
path is used. If GetFullPathName() fails, the LoadLibrary
|
|
||||||
will certainly fail too, so use its error code */
|
|
||||||
|
|
||||||
/* Don't display a message box when Python can't load a DLL */
|
/* Don't display a message box when Python can't load a DLL */
|
||||||
old_mode = SetErrorMode(SEM_FAILCRITICALERRORS);
|
old_mode = SetErrorMode(SEM_FAILCRITICALERRORS);
|
||||||
|
|
||||||
if (GetFullPathNameW(PyUnicode_AS_UNICODE(pathname),
|
cookie = _Py_ActivateActCtx();
|
||||||
sizeof(pathbuf) / sizeof(pathbuf[0]),
|
/* We use LoadLibraryEx so Windows looks for dependent DLLs
|
||||||
pathbuf,
|
in directory of pathname first. */
|
||||||
NULL)) {
|
|
||||||
ULONG_PTR cookie = _Py_ActivateActCtx();
|
|
||||||
/* XXX This call doesn't exist in Windows CE */
|
/* XXX This call doesn't exist in Windows CE */
|
||||||
hDLL = LoadLibraryExW(PyUnicode_AS_UNICODE(pathname), NULL,
|
hDLL = LoadLibraryExW(PyUnicode_AS_UNICODE(pathname), NULL,
|
||||||
LOAD_WITH_ALTERED_SEARCH_PATH);
|
LOAD_WITH_ALTERED_SEARCH_PATH);
|
||||||
_Py_DeactivateActCtx(cookie);
|
_Py_DeactivateActCtx(cookie);
|
||||||
}
|
|
||||||
|
|
||||||
/* restore old error mode settings */
|
/* restore old error mode settings */
|
||||||
SetErrorMode(old_mode);
|
SetErrorMode(old_mode);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue