Browse Source

Start10: Remove the need to CoInitialize() in PatchStartTileData()

pull/3235/head 22621.3527.65.1_0976666
Amrsatrio 2 years ago
parent
commit
097666676a
  1. 4
      CHANGELOG.md
  2. 4
      ExplorerPatcher/StartMenuSettings.cpp
  3. 8
      ExplorerPatcher/dllmain.c

4
CHANGELOG.md

@ -9,8 +9,8 @@ Tested on OS builds 22621.3296, 22621.3447, and 22621.3527. (Note: 22621 and 226
##### 1 ##### 1
* Taskbar10: The Windows 10 taskbar option is now no longer available on 26002+. (#3053, e57a6b0) * Taskbar10: The Windows 10 taskbar option is now no longer available on 26002+. (#3053, e57a6b0)
* This is to comply with Microsoft's removal of the stock Windows 10 taskbar in explorer.exe of said builds. * This is to comply with Microsoft's removal of the stock Windows 10 taskbar in `explorer.exe` of said builds.
* Start10: Fixed Pin to Start with a 50/50 chance of success on 226xx.3420+ (22H2, 23H2) and 25169+ (24H2). (232fe6b) * Start10: Fixed Pin to Start on 226xx.3420+ (22H2, 23H2) and 25169+ (24H2). (232fe6b)
* Start10: Reverted the menu closing delay fix when EP is injected only into `StartMenuExperienceHost.exe` for now. (e59c34c) * Start10: Reverted the menu closing delay fix when EP is injected only into `StartMenuExperienceHost.exe` for now. (e59c34c)
## 22621.3296.64 ## 22621.3296.64

4
ExplorerPatcher/StartMenuSettings.cpp

@ -634,6 +634,7 @@ namespace ABI::WindowsInternal::Shell::UnifiedTile::CuratedTileCollections
}; };
} }
#if 0
HRESULT StartTileData_Windows__Internal__ApplicationModel__StartPinnableSurface__GetUnifiedIdentifierForAumid( HRESULT StartTileData_Windows__Internal__ApplicationModel__StartPinnableSurface__GetUnifiedIdentifierForAumid(
void* _this, void* _this,
const WCHAR* pszAumid, const WCHAR* pszAumid,
@ -898,6 +899,7 @@ HRESULT PatchStartPinnableSurface(HMODULE hModule, ABI::Windows::Internal::Appli
return S_OK; return S_OK;
} }
#endif
namespace VerbGlyphs::SegoeMDL2Assets namespace VerbGlyphs::SegoeMDL2Assets
{ {
@ -1208,7 +1210,7 @@ extern "C" {
void PatchStartTileDataFurther(HMODULE hModule, BOOL bSMEH) void PatchStartTileDataFurther(HMODULE hModule, BOOL bSMEH)
{ {
// ComPtr<ABI::Windows::Internal::ApplicationModel::IPinnableSurfaceFactory> pPinnableSurfaceFactory; // ComPtr<ABI::Windows::Internal::ApplicationModel::IPinnableSurfaceFactory> pPinnableSurfaceFactory;
PatchStartPinnableSurface(hModule, nullptr /*&pPinnableSurfaceFactory*/); // We might not need to patch this but just in case // PatchStartPinnableSurface(hModule, nullptr /*&pPinnableSurfaceFactory*/);
// if (bSMEH) // if (bSMEH)
// pPinnableSurfaceFactory->AddRef(); // Pin in memory so that StartTileData.dll doesn't get unloaded // pPinnableSurfaceFactory->AddRef(); // Pin in memory so that StartTileData.dll doesn't get unloaded

8
ExplorerPatcher/dllmain.c

@ -11048,10 +11048,14 @@ static void PatchStartTileData(BOOL bSMEH)
VnPatchIAT(hStartTileData, "api-ms-win-core-winrt-l1-1-0.dll", "RoGetActivationFactory", AppResolver_StartTileData_RoGetActivationFactory); VnPatchIAT(hStartTileData, "api-ms-win-core-winrt-l1-1-0.dll", "RoGetActivationFactory", AppResolver_StartTileData_RoGetActivationFactory);
if (!bSMEH)
return;
if ((global_rovi.dwBuildNumber >= 22621 && global_rovi.dwBuildNumber <= 22635) && global_ubr >= 3420 if ((global_rovi.dwBuildNumber >= 22621 && global_rovi.dwBuildNumber <= 22635) && global_ubr >= 3420
|| global_rovi.dwBuildNumber >= 25169) || global_rovi.dwBuildNumber >= 25169)
{ {
HRESULT hr = CoInitialize(NULL); PatchStartTileDataFurther(hStartTileData, bSMEH);
/*HRESULT hr = CoInitialize(NULL);
if (SUCCEEDED(hr)) if (SUCCEEDED(hr))
{ {
PatchStartTileDataFurther(hStartTileData, bSMEH); PatchStartTileDataFurther(hStartTileData, bSMEH);
@ -11059,7 +11063,7 @@ static void PatchStartTileData(BOOL bSMEH)
if (hr == S_OK) if (hr == S_OK)
{ {
CoUninitialize(); CoUninitialize();
} }*/
} }
} }
#endif #endif

Loading…
Cancel
Save