diff options
| -rw-r--r-- | indra/newview/llviewercontrol.cpp | 14 | ||||
| -rw-r--r-- | indra/viewer_components/updater/llupdaterservice.cpp | 17 | 
2 files changed, 25 insertions, 6 deletions
| diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index f579c433e1..f65811598f 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -70,6 +70,7 @@  #include "llpaneloutfitsinventory.h"  #include "llpanellogin.h"  #include "llpaneltopinfobar.h" +#include "llupdaterservice.h"  #ifdef TOGGLE_HACKED_GODLIKE_VIEWER  BOOL 				gHackGodmode = FALSE; @@ -488,6 +489,18 @@ bool toggle_show_object_render_cost(const LLSD& newvalue)  	return true;  } +void toggle_updater_service_active(LLControlVariable* control, const LLSD& new_value) +{ +    if(new_value.asBoolean()) +    { +        LLUpdaterService().startChecking(); +    } +    else +    { +        LLUpdaterService().stopChecking(); +    } +} +  ////////////////////////////////////////////////////////////////////////////  void settings_setup_listeners() @@ -635,6 +648,7 @@ void settings_setup_listeners()  	gSavedSettings.getControl("ShowNavbarFavoritesPanel")->getSignal()->connect(boost::bind(&toggle_show_favorites_panel, _2));  	gSavedSettings.getControl("ShowMiniLocationPanel")->getSignal()->connect(boost::bind(&toggle_show_mini_location_panel, _2));  	gSavedSettings.getControl("ShowObjectRenderingCost")->getSignal()->connect(boost::bind(&toggle_show_object_render_cost, _2)); +	gSavedSettings.getControl("UpdaterServiceActive")->getSignal()->connect(&toggle_updater_service_active);  	gSavedSettings.getControl("ForceShowGrid")->getSignal()->connect(boost::bind(&handleForceShowGrid, _2));  } diff --git a/indra/viewer_components/updater/llupdaterservice.cpp b/indra/viewer_components/updater/llupdaterservice.cpp index 6a40246497..58f2c7da76 100644 --- a/indra/viewer_components/updater/llupdaterservice.cpp +++ b/indra/viewer_components/updater/llupdaterservice.cpp @@ -175,12 +175,6 @@ void LLUpdaterServiceImpl::initialize(const std::string& protocol_version,  	mPath = path;  	mChannel = channel;  	mVersion = version; - -	// Check to see if an install is ready. -	if(!checkForInstall()) -	{ -		checkForResume(); -	}	  }  void LLUpdaterServiceImpl::setCheckPeriod(unsigned int seconds) @@ -198,6 +192,12 @@ void LLUpdaterServiceImpl::startChecking()  	mIsChecking = true; +    // Check to see if an install is ready. +	if(!checkForInstall()) +	{ +		checkForResume(); +	} +  	if(!mIsDownloading)  	{  		// Checking can only occur during the mainloop. @@ -214,6 +214,11 @@ void LLUpdaterServiceImpl::stopChecking()  		mIsChecking = false;  		mTimer.stop();  	} + +    if(mIsDownloading) +    { +        this->mUpdateDownloader.cancel(); +    }  }  bool LLUpdaterServiceImpl::isChecking() | 
