From 01b1e411bdb042dbc99668e3b6689da799c7828a Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Mon, 19 Feb 2018 16:11:56 +0100 Subject: Remove StartupSpecialSystemDirectory() workaround. The SHGetKnownFolderPath function declaration is exposed since [85edb1c711f7816ed1a30edd07b37d314fac216a] so we no longer need to GetProcAddress("SHGetKnownFolderPath") and we can call it directly. Also remove a redundant #include . --- xpcom/build/XPCOMInit.cpp | 2 -- xpcom/io/SpecialSystemDirectory.cpp | 28 ++-------------------------- xpcom/io/SpecialSystemDirectory.h | 3 --- 3 files changed, 2 insertions(+), 31 deletions(-) (limited to 'xpcom') diff --git a/xpcom/build/XPCOMInit.cpp b/xpcom/build/XPCOMInit.cpp index c72ea48d7..895e295b1 100644 --- a/xpcom/build/XPCOMInit.cpp +++ b/xpcom/build/XPCOMInit.cpp @@ -584,8 +584,6 @@ NS_InitXPCOM2(nsIServiceManager** aResult, NS_StartupLocalFile(); - StartupSpecialSystemDirectory(); - nsDirectoryService::RealInit(); bool value; diff --git a/xpcom/io/SpecialSystemDirectory.cpp b/xpcom/io/SpecialSystemDirectory.cpp index 9ce8eb85b..347ed186a 100644 --- a/xpcom/io/SpecialSystemDirectory.cpp +++ b/xpcom/io/SpecialSystemDirectory.cpp @@ -12,7 +12,6 @@ #if defined(XP_WIN) #include -#include #include #include #include @@ -51,40 +50,17 @@ using mozilla::IsWin7OrLater; #endif #endif -#ifdef XP_WIN -typedef HRESULT (WINAPI* nsGetKnownFolderPath)(GUID& rfid, - DWORD dwFlags, - HANDLE hToken, - PWSTR* ppszPath); - -static nsGetKnownFolderPath gGetKnownFolderPath = nullptr; -#endif - -void -StartupSpecialSystemDirectory() -{ -#if defined (XP_WIN) - // SHGetKnownFolderPath is only available on Windows Vista - // so that we need to use GetProcAddress to get the pointer. - HMODULE hShell32DLLInst = GetModuleHandleW(L"shell32.dll"); - if (hShell32DLLInst) { - gGetKnownFolderPath = (nsGetKnownFolderPath) - GetProcAddress(hShell32DLLInst, "SHGetKnownFolderPath"); - } -#endif -} - #if defined (XP_WIN) static nsresult GetKnownFolder(GUID* aGuid, nsIFile** aFile) { - if (!aGuid || !gGetKnownFolderPath) { + if (!aGuid) { return NS_ERROR_FAILURE; } PWSTR path = nullptr; - gGetKnownFolderPath(*aGuid, 0, nullptr, &path); + SHGetKnownFolderPath(*aGuid, 0, nullptr, &path); if (!path) { return NS_ERROR_FAILURE; diff --git a/xpcom/io/SpecialSystemDirectory.h b/xpcom/io/SpecialSystemDirectory.h index dd3d88379..7c7f8fa42 100644 --- a/xpcom/io/SpecialSystemDirectory.h +++ b/xpcom/io/SpecialSystemDirectory.h @@ -16,9 +16,6 @@ #include "prenv.h" #endif -extern void StartupSpecialSystemDirectory(); - - enum SystemDirectories { OS_DriveDirectory = 1, OS_TemporaryDirectory = 2, -- cgit v1.2.3