diff options
| author | callum_linden <none@none> | 2015-11-11 09:53:51 -0800 | 
|---|---|---|
| committer | callum_linden <none@none> | 2015-11-11 09:53:51 -0800 | 
| commit | f563ef61004c70c05c2ca78a8fbdd85ed1dbf1a6 (patch) | |
| tree | 3e277ec117821267743691b89dcb76d6ff39e153 | |
| parent | ca8478454e02d15337329872def5593a9ece21d6 (diff) | |
Add callback for when CEF asks to shutdown
| -rw-r--r-- | indra/media_plugins/cef/media_plugin_cef.cpp | 16 | 
1 files changed, 13 insertions, 3 deletions
| diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index 86157bf852..d14254d3d7 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -62,6 +62,7 @@ private:  	void onStatusMessageCallback(std::string value);  	void onTitleChangeCallback(std::string title);  	void onLoadStartCallback(); +	void onRequestExitCallback();  	void onLoadEndCallback(int httpStatusCode);  	void onAddressChangeCallback(std::string url);  	void onNavigateURLCallback(std::string url, std::string target); @@ -128,7 +129,6 @@ MediaPluginBase(host_send_func, host_user_data)  //  MediaPluginCEF::~MediaPluginCEF()  { -	mLLCEFLib->requestExit();  }  //////////////////////////////////////////////////////////////////////////////// @@ -201,6 +201,16 @@ void MediaPluginCEF::onLoadStartCallback()  ////////////////////////////////////////////////////////////////////////////////  // +void MediaPluginCEF::onRequestExitCallback() +{ +	mLLCEFLib->shutdown(); + +	LLPluginMessage message("base", "goodbye"); +	sendMessage(message); +} + +//////////////////////////////////////////////////////////////////////////////// +//  void MediaPluginCEF::onLoadEndCallback(int httpStatusCode)  {  	LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "navigate_complete"); @@ -344,8 +354,7 @@ void MediaPluginCEF::receiveMessage(const char* message_string)  			}  			else if (message_name == "cleanup")  			{ -                LLPluginMessage message("base", "goodbye"); -                sendMessage(message); +				mLLCEFLib->requestExit();  			}  			else if (message_name == "shm_added")  			{ @@ -401,6 +410,7 @@ void MediaPluginCEF::receiveMessage(const char* message_string)  				mLLCEFLib->setOnNavigateURLCallback(boost::bind(&MediaPluginCEF::onNavigateURLCallback, this, _1, _2));  				mLLCEFLib->setOnHTTPAuthCallback(boost::bind(&MediaPluginCEF::onHTTPAuthCallback, this, _1, _2, _3, _4));  				mLLCEFLib->setOnCursorChangedCallback(boost::bind(&MediaPluginCEF::onCursorChangedCallback, this, _1, _2)); +				mLLCEFLib->setOnRequestExitCallback(boost::bind(&MediaPluginCEF::onRequestExitCallback, this));  				LLCEFLib::LLCEFLibSettings settings;  				settings.initial_width = 1024; | 
