summaryrefslogtreecommitdiff
path: root/indra/newview/llvelopack.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2026-04-21 22:50:55 +0300
committerGitHub <noreply@github.com>2026-04-21 22:50:55 +0300
commit638c7f7bea1a1d345980fa385a36201f5b6cc64e (patch)
treecaab5630c16dff02794ad816d06e9c788f5870e3 /indra/newview/llvelopack.cpp
parent4d400489662fcab5d255629d14a7a64385a89893 (diff)
#5629 Velopack allows uninstall while the viewer is running (#5662)
Velopack's uninstall can't be canceled, so instead it now checks for presense of a running window, makes sure window matches velopack's path, then sends a shutdown message. Window gets the message, verifies path, initiates shutdown.
Diffstat (limited to 'indra/newview/llvelopack.cpp')
-rw-r--r--indra/newview/llvelopack.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/indra/newview/llvelopack.cpp b/indra/newview/llvelopack.cpp
index 8975f7d369..d34d43cc48 100644
--- a/indra/newview/llvelopack.cpp
+++ b/indra/newview/llvelopack.cpp
@@ -43,6 +43,7 @@
#include "Velopack.h"
#if LL_WINDOWS
+#include "llappviewerwin32.h"
#include <windows.h>
#include <shlobj.h>
#include <shobjidl.h>
@@ -666,8 +667,12 @@ static void on_before_uninstall(void* user_data, const char* app_version)
unregister_protocol_handler(PROTOCOL_SECONDLIFE);
unregister_protocol_handler(PROTOCOL_GRID_INFO);
- unregister_uninstall_info();
remove_shortcuts(app_name);
+
+ std::wstring install_dir = get_install_dir();
+ LLAppViewerWin32::sendShutdownToOtherInstances(install_dir);
+
+ unregister_uninstall_info();
}
static void on_log_message(void* user_data, const char* level, const char* message)