ramensoftware / windhawk-mods

The official collection of Windhawk mods
222 stars 43 forks source link

[Classic Explorer navigation bar] Duplicated navigation bar when using Ribbon UI #717

Closed PinkSerenity closed 1 month ago

PinkSerenity commented 1 month ago

@m417z

Screenshot 2024-06-02 135903 Clicking on directories in the navigation bar does not open them either, even if both bars update to match the path of the clicked folder. I assume the issue is that 24H2 is not available yet for my system, so the update that fixed the navigation bar missing there (#700) duplicated it for me. I'm reporting it anyway, but I understand if you don't want to fix it for a soon deprecated version.

Edition: Windows 11 Pro Version: 23H2 Build: 22631.3672

Debug log:

14:11:40.239 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::ModDebugLoggingScope]: >>> Entering LoadedMod::LoadedMod
14:11:40.239 15156 explorer.exe  [WH] [LoadedMod::LoadedMod]: Windows 10.0.22631
14:11:40.239 15156 explorer.exe  [WH] [LoadedMod::LoadedMod]: Windhawk v1.4.1
14:11:40.239 15156 explorer.exe  [WH] [LoadedMod::LoadedMod]: Mod id: explorer-frame-classic
14:11:40.239 15156 explorer.exe  [WH] [LoadedMod::LoadedMod]: Mod version: 1.0.3
14:11:40.240 15156 explorer.exe  [WH] [LoadedMod::LoadedMod]: Mod base address: 00007FFC35CA0000
14:11:40.240 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::~ModDebugLoggingScope]: <<< Exiting LoadedMod::LoadedMod
14:11:40.240 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::ModDebugLoggingScope]: >>> Entering LoadedMod::Initialize
14:11:40.241 15156 explorer.exe  [WH] [explorer-frame-classic] [643:Wh_ModInit]: >
14:11:40.241 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::ModDebugLoggingScope]: >>> Entering LoadedMod::GetStringSetting
14:11:40.241 15156 explorer.exe  [WH] [LoadedMod::GetStringSetting]: valueName: explorerStyle
14:11:40.241 15156 explorer.exe  [WH] [LoadedMod::GetStringSetting]: valueNameFormatted: explorerStyle
14:11:40.242 15156 explorer.exe  [WH] [LoadedMod::GetStringSetting]: value: classicRibbonUI
14:11:40.242 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::~ModDebugLoggingScope]: <<< Exiting LoadedMod::GetStringSetting
14:11:40.242 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::ModDebugLoggingScope]: >>> Entering LoadedMod::FreeStringSetting
14:11:40.242 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::~ModDebugLoggingScope]: <<< Exiting LoadedMod::FreeStringSetting
14:11:40.242 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::ModDebugLoggingScope]: >>> Entering LoadedMod::GetStringValue
14:11:40.242 15156 explorer.exe  [WH] [LoadedMod::GetStringValue]: valueName: symbol-cache-explorerframe.dll
14:11:40.243 15156 explorer.exe  [WH] [LoadedMod::GetStringValue]: value: 1#3056518797#2768896#bool __cdecl CanShowModernNavBar(void)#1744308#public: static bool __cdecl CachedExplorerExtensionState::IsModernNavBarAvailable(void)#
14:11:40.243 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::~ModDebugLoggingScope]: <<< Exiting LoadedMod::GetStringValue
14:11:40.244 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::ModDebugLoggingScope]: >>> Entering LoadedMod::SetFunctionHook
14:11:40.244 15156 explorer.exe  [WH] [LoadedMod::SetFunctionHook]: Target: 00007FFBFCF29DB4
14:11:40.244 15156 explorer.exe  [WH] [LoadedMod::SetFunctionHook]: Hook: 00007FFC35CA16E0
14:11:40.244 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::~ModDebugLoggingScope]: <<< Exiting LoadedMod::SetFunctionHook
14:11:40.244 15156 explorer.exe  [WH] [explorer-frame-classic] [237:operator()]: Hooked 00007FFBFCF29DB4: bool __cdecl CanShowModernNavBar(void)
14:11:40.244 15156 explorer.exe  [WH] [explorer-frame-classic] [307:HookSymbols]: Optional symbol 1 doesn't exist (from cache)
14:11:40.244 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::ModDebugLoggingScope]: >>> Entering LoadedMod::GetStringValue
14:11:40.245 15156 explorer.exe  [WH] [LoadedMod::GetStringValue]: valueName: symbol-cache-FileExplorerExtensions.dll
14:11:40.245 15156 explorer.exe  [WH] [LoadedMod::GetStringValue]: value: 1#1712876515#3276800#public: virtual int __cdecl winrt::impl::produce<struct winrt::FileExplorerExtensions::factory_implementation::CommandBarExtension,struct winrt::WindowsUdk::UI::Shell::IFileExplorerCommandBarExtensionStatics>::GetHeight(struct winrt::Windows::Foundation::Size,struct winrt::Windows::Foundation::Size *)#620064#public: void __cdecl winrt::FileExplorerExtensions::implementation::NavigationBarControl::OnApplyTemplate(void)#705028
14:11:40.245 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::~ModDebugLoggingScope]: <<< Exiting LoadedMod::GetStringValue
14:11:40.245 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::ModDebugLoggingScope]: >>> Entering LoadedMod::SetFunctionHook
14:11:40.245 15156 explorer.exe  [WH] [LoadedMod::SetFunctionHook]: Target: 00007FFBF34C7620
14:11:40.245 15156 explorer.exe  [WH] [LoadedMod::SetFunctionHook]: Hook: 00007FFC35CA1680
14:11:40.245 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::~ModDebugLoggingScope]: <<< Exiting LoadedMod::SetFunctionHook
14:11:40.245 15156 explorer.exe  [WH] [explorer-frame-classic] [237:operator()]: Hooked 00007FFBF34C7620: public: virtual int __cdecl winrt::impl::produce<struct winrt::FileExplorerExtensions::factory_implementation::CommandBarExtension,struct winrt::WindowsUdk::UI::Shell::IFileExplorerCommandBarExtensionStatics>::GetHeight(struct winrt::Windows::Foundation::Size,struct winrt::Windows::Foundation::Size *)
14:11:40.245 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::ModDebugLoggingScope]: >>> Entering LoadedMod::SetFunctionHook
14:11:40.245 15156 explorer.exe  [WH] [LoadedMod::SetFunctionHook]: Target: 00007FFBF34DC204
14:11:40.245 15156 explorer.exe  [WH] [LoadedMod::SetFunctionHook]: Hook: 00007FFC35CA1620
14:11:40.245 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::~ModDebugLoggingScope]: <<< Exiting LoadedMod::SetFunctionHook
14:11:40.245 15156 explorer.exe  [WH] [explorer-frame-classic] [237:operator()]: Hooked 00007FFBF34DC204: public: void __cdecl winrt::FileExplorerExtensions::implementation::NavigationBarControl::OnApplyTemplate(void)
14:11:40.245 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::ModDebugLoggingScope]: >>> Entering LoadedMod::SetFunctionHook
14:11:40.245 15156 explorer.exe  [WH] [LoadedMod::SetFunctionHook]: Target: 00007FFC409BFBC0
14:11:40.245 15156 explorer.exe  [WH] [LoadedMod::SetFunctionHook]: Hook: 00007FFC35CA1780
14:11:40.245 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::~ModDebugLoggingScope]: <<< Exiting LoadedMod::SetFunctionHook
14:11:40.245 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::~ModDebugLoggingScope]: <<< Exiting LoadedMod::Initialize
14:11:40.250 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::ModDebugLoggingScope]: >>> Entering LoadedMod::AfterInit
14:11:40.250 15156 explorer.exe  [WH] [`anonymous-namespace'::ModDebugLoggingScope::~ModDebugLoggingScope]: <<< Exiting LoadedMod::AfterInit
14:11:41.159 15156 explorer.exe  [WH] [explorer-frame-classic] [558:CoCreateInstance_Hook]: >
14:11:41.159 15156 explorer.exe  [WH] [explorer-frame-classic] [558:CoCreateInstance_Hook]: >
...
m417z commented 1 month ago

I haven't encountered this bug.

the update that fixed the navigation bar missing there (https://github.com/ramensoftware/windhawk-mods/issues/700) duplicated it for me

Nope, the recent change is only relevant for the "classic navigation bar" option (not classic ribbon UI), and it also has no effect in pre-24H2 versions (you can see it in the log: "Optional symbol 1 doesn't exist").

Any idea how I can reproduce it? Do you have any other customization tools?

PinkSerenity commented 1 month ago

Any idea how I can reproduce it? Do you have any other customization tools?

Oh, I'm sorry, you're right. I had a very old trial of StartAllBack where the license has run out. All of its features got deactivated, so I kinda forgot about it, but it seems that there were still some leftovers. Uninstalling that fixed it. Thank you very much.