SL-3704 Give plugins some time to terminate
requestExit() doesn't close CEF, command sets CEF into closing state which will be processed on update()master
parent
6abf2ca503
commit
8213cc896c
|
|
@ -225,6 +225,18 @@ void LLPluginProcessChild::idle(void)
|
|||
}
|
||||
setState(STATE_UNLOADED);
|
||||
}
|
||||
|
||||
if (mInstance)
|
||||
{
|
||||
// Provide some time to the plugin
|
||||
// example: CEF on "cleanup" sets shutdown request, but it still needs idle loop to actually shutdown
|
||||
LLPluginMessage message("base", "idle");
|
||||
message.setValueReal("time", PLUGIN_IDLE_SECONDS);
|
||||
sendMessageToPlugin(message);
|
||||
|
||||
mInstance->idle();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case STATE_UNLOADED:
|
||||
|
|
|
|||
|
|
@ -460,7 +460,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
|
|||
}
|
||||
else if (message_name == "cleanup")
|
||||
{
|
||||
mVolumeCatcher.setVolume(0); // Hack: masks CEF exit issues
|
||||
mCEFLib->requestExit();
|
||||
}
|
||||
else if (message_name == "force_exit")
|
||||
|
|
|
|||
Loading…
Reference in New Issue