From c1943e5efb18a0786a538237eee4bee8a7330e56 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Fri, 8 Oct 2021 23:56:43 +0300 Subject: SL-16161 Don't process new plugin messages on shutdown Some pending messages might try to update non-existing view or cause a pop up, neither should be avaliable by this point, so just don't process them --- indra/llplugin/llpluginprocessparent.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'indra/llplugin') diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp index 73327ce2ee..7a704b71f3 100644 --- a/indra/llplugin/llpluginprocessparent.cpp +++ b/indra/llplugin/llpluginprocessparent.cpp @@ -192,6 +192,7 @@ void LLPluginProcessParent::shutdown() && state != STATE_ERROR) { (*it).second->setState(STATE_GOODBYE); + (*it).second->mOwner = NULL; } if (state != STATE_DONE) { @@ -407,7 +408,10 @@ void LLPluginProcessParent::idle(void) mMessagePipe->pumpOutput(); // Only do input processing here if this instance isn't in a pollset. - if(!mPolledInput) + // If we are shutting down plugin, owner is null and we can't process + // input, we are here only to send shutdown_plugin message + if(!mPolledInput + && mState != STATE_GOODBYE) { mMessagePipe->pumpInput(); } -- cgit v1.2.3