Skip to content

Commit 440d76e

Browse files
committed
Isolate Win11 XAML TAP lifetime from StartMenuDLL
1 parent 192b2e3 commit 440d76e

8 files changed

Lines changed: 1029 additions & 931 deletions

File tree

‎Src/StartMenu/StartMenuDLL/Win11StartButton.cpp‎

Lines changed: 61 additions & 931 deletions
Large diffs are not rendered by default.

‎Src/StartMenu/StartMenuHelper/StartMenuHelper.cpp‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include "resource.h"
66
#include "StartMenuHelper_h.h"
77
#include "dllmain.h"
8+
#include "Win11StartButtonTap.h"
89
#include "ResourceHelper.h"
910
#include "Settings.h"
1011
#include "StringUtils.h"
@@ -206,6 +207,11 @@ static void StartStartMenu( void )
206207
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
207208
{
208209
WaitDllInitThread();
210+
211+
HRESULT tapResult = GetWin11StartButtonTapClassObject(rclsid, riid, ppv);
212+
if (tapResult != CLASS_E_CLASSNOTAVAILABLE)
213+
return tapResult;
214+
209215
if (rclsid==g_EmulationClsid)
210216
{
211217
LogToFile(STARTUP_LOG,L"StartMenuHelper: DllGetClassObject1");

‎Src/StartMenu/StartMenuHelper/StartMenuHelper.vcxproj‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@
109109
<ClCompile Include="ModernSettingsShellFolder.cpp" />
110110
<ClCompile Include="StartMenuExt.cpp" />
111111
<ClCompile Include="StartMenuHelper.cpp" />
112+
<ClCompile Include="Win11StartButtonTap.cpp" />
112113
<ClCompile Include="StartMenuHelper_i.c">
113114
<PrecompiledHeader>NotUsing</PrecompiledHeader>
114115
</ClCompile>
@@ -138,6 +139,7 @@
138139
<ClInclude Include="Resource.h" />
139140
<ClInclude Include="StartMenuExt.h" />
140141
<ClInclude Include="StartMenuHelper_h.h" />
142+
<ClInclude Include="Win11StartButtonTap.h" />
141143
<ClInclude Include="stdafx.h" />
142144
<ClInclude Include="targetver.h" />
143145
</ItemGroup>

‎Src/StartMenu/StartMenuHelper/StartMenuHelper.vcxproj.filters‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@
4343
<ClCompile Include="ModernSettingsContextMenu.cpp">
4444
<Filter>Source Files</Filter>
4545
</ClCompile>
46+
<ClCompile Include="Win11StartButtonTap.cpp">
47+
<Filter>Source Files</Filter>
48+
</ClCompile>
4649
</ItemGroup>
4750
<ItemGroup>
4851
<Midl Include="StartMenuHelper.idl">
@@ -100,6 +103,9 @@
100103
<ClInclude Include="ModernSettingsContextMenu.h">
101104
<Filter>Header Files</Filter>
102105
</ClInclude>
106+
<ClInclude Include="Win11StartButtonTap.h">
107+
<Filter>Header Files</Filter>
108+
</ClInclude>
103109
</ItemGroup>
104110
<ItemGroup>
105111
<ResourceCompile Include="StartMenuHelper.rc">

‎Src/StartMenu/StartMenuHelper/StartMenuHelper32.def‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,6 @@ EXPORTS
88
DllRegisterServer PRIVATE
99
DllUnregisterServer PRIVATE
1010
DllInstall PRIVATE
11+
StartWin11StartButtonTap
12+
UpdateWin11StartButtonTap
13+
StopWin11StartButtonTap

‎Src/StartMenu/StartMenuHelper/StartMenuHelper64.def‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,6 @@ EXPORTS
88
DllRegisterServer PRIVATE
99
DllUnregisterServer PRIVATE
1010
DllInstall PRIVATE
11+
StartWin11StartButtonTap
12+
UpdateWin11StartButtonTap
13+
StopWin11StartButtonTap

0 commit comments

Comments
 (0)