summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermenu.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2025-02-24 22:43:31 +0200
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-02-25 22:10:08 +0200
commit056dc00ebe07ba5994a51c7b4eb38d887d4b9355 (patch)
tree4e1fcdd3ad820048557d0eaeeeb158cbf7613ac2 /indra/newview/llviewermenu.cpp
parent42e219fb0433e92b51dfbc8daad06044f41fa4c4 (diff)
#3591 More test coverage for crashes
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
-rw-r--r--indra/newview/llviewermenu.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index d92faf4d1b..6281ac1f9e 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -286,6 +286,8 @@ void force_error_software_exception();
void force_error_os_exception();
void force_error_driver_crash();
void force_error_coroutine_crash();
+void force_error_coroprocedure_crash();
+void force_error_work_queue_crash();
void force_error_thread_crash();
void handle_force_delete();
@@ -2634,6 +2636,24 @@ class LLAdvancedForceErrorCoroutineCrash : public view_listener_t
}
};
+class LLAdvancedForceErrorCoroprocedureCrash : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ force_error_coroprocedure_crash();
+ return true;
+ }
+};
+
+class LLAdvancedForceErrorWorkQueueCrash : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ force_error_work_queue_crash();
+ return true;
+ }
+};
+
class LLAdvancedForceErrorThreadCrash : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
@@ -8657,6 +8677,16 @@ void force_error_coroutine_crash()
LLAppViewer::instance()->forceErrorCoroutineCrash();
}
+void force_error_coroprocedure_crash()
+{
+ LLAppViewer::instance()->forceErrorCoroprocedureCrash();
+}
+
+void force_error_work_queue_crash()
+{
+ LLAppViewer::instance()->forceErrorWorkQueueCrash();
+}
+
void force_error_thread_crash()
{
LLAppViewer::instance()->forceErrorThreadCrash();
@@ -9861,6 +9891,8 @@ void initialize_menus()
view_listener_t::addMenu(new LLAdvancedForceErrorSoftwareExceptionCoro(), "Advanced.ForceErrorSoftwareExceptionCoro");
view_listener_t::addMenu(new LLAdvancedForceErrorDriverCrash(), "Advanced.ForceErrorDriverCrash");
view_listener_t::addMenu(new LLAdvancedForceErrorCoroutineCrash(), "Advanced.ForceErrorCoroutineCrash");
+ view_listener_t::addMenu(new LLAdvancedForceErrorCoroprocedureCrash(), "Advanced.ForceErrorCoroprocedureCrash");
+ view_listener_t::addMenu(new LLAdvancedForceErrorWorkQueueCrash(), "Advanced.ForceErrorWorkQueueCrash");
view_listener_t::addMenu(new LLAdvancedForceErrorThreadCrash(), "Advanced.ForceErrorThreadCrash");
view_listener_t::addMenu(new LLAdvancedForceErrorDisconnectViewer(), "Advanced.ForceErrorDisconnectViewer");