diff options
| author | Erik Kundiman <erik@megapahit.org> | 2026-09-22 14:47:19 +0800 |
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2026-09-22 14:47:19 +0800 |
| commit | 8557e9659ca5b71aabcbb21758be03a959c2098d (patch) | |
| tree | e9c2cb659b646169e8d0c502b0ff873fec05ac02 /indra/newview/llvelopack.cpp | |
| parent | 235a9d87ecf0447bd4aca3287548c715f1ada2ad (diff) | |
| parent | f767219366b8dbaeea95a22bd9953a587f473298 (diff) | |
Merge tag 'Second_Life_Release#f7672193-26.4' into 26.4
Diffstat (limited to 'indra/newview/llvelopack.cpp')
| -rw-r--r-- | indra/newview/llvelopack.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/indra/newview/llvelopack.cpp b/indra/newview/llvelopack.cpp index 927a5bbc2c..eb849ab52d 100644 --- a/indra/newview/llvelopack.cpp +++ b/indra/newview/llvelopack.cpp @@ -46,6 +46,7 @@ #if LL_WINDOWS #include "llappviewerwin32.h" #include <windows.h> +#include <shellapi.h> #include <shlobj.h> #include <shobjidl.h> #include <shlwapi.h> @@ -984,6 +985,19 @@ static void on_log_message(void* user_data, const char* level, const char* messa OutputDebugStringA("\n"); } +static void set_runtime_app_user_model_id() +{ + // Ensure taskbar grouping uses a stable ID independent of exe path + // (wrapper exe vs current\ exe). + const std::wstring app_user_model_id = get_app_user_model_id(); + HRESULT appid_hr = SetCurrentProcessExplicitAppUserModelID(app_user_model_id.c_str()); + if (FAILED(appid_hr)) + { + LL_WARNS("Velopack") << "SetCurrentProcessExplicitAppUserModelID failed: 0x" + << std::hex << appid_hr << LL_ENDL; + } +} + #elif LL_DARWIN // macOS-specific hooks @@ -1178,6 +1192,11 @@ static void ensure_update_manager(bool allow_downgrade) bool velopack_initialize() { +#if LL_WINDOWS + // Needs to be called on each run for consistent taskbar behavior. + set_runtime_app_user_model_id(); +#endif + vpkc_set_logger(on_log_message, nullptr); vpkc_app_set_auto_apply_on_startup(false); |
