diff options
| author | Linden Staff@LINDEN-E5E9EA17.lindenlab.com <Linden Staff@LINDEN-E5E9EA17.lindenlab.com> | 2011-03-30 16:28:41 -0700 | 
|---|---|---|
| committer | Linden Staff@LINDEN-E5E9EA17.lindenlab.com <Linden Staff@LINDEN-E5E9EA17.lindenlab.com> | 2011-03-30 16:28:41 -0700 | 
| commit | 3fc293b73b1c504920595a4de71da89f799c4513 (patch) | |
| tree | 6a129c284845cb58570511f6d08bdfa186159f29 | |
| parent | 5f4a85be9111793f25261b0551460e09e1656f18 (diff) | |
| parent | dfb243cd953423e69afb0e9ea48efc9047226763 (diff) | |
merge
| -rw-r--r-- | indra/newview/llappviewer.cpp | 40 | ||||
| -rw-r--r-- | indra/newview/llappviewer.h | 1 | 
2 files changed, 33 insertions, 8 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index f6fe7ecd01..c993acb283 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -78,7 +78,6 @@  #include "llvoicechannel.h"  #include "llvoavatarself.h"  #include "llsidetray.h" -#include "llfeaturemanager.h"  #include "llurlmatch.h"  #include "lltextutil.h"  #include "lllogininstance.h" @@ -755,7 +754,7 @@ bool LLAppViewer::init()  	//  	// Various introspection concerning the libs we're using - particularly -        // the libs involved in getting to a full login screen. +	// the libs involved in getting to a full login screen.  	//  	LL_INFOS("InitInfo") << "J2C Engine is: " << LLImageJ2C::getEngineInfo() << LL_ENDL;  	LL_INFOS("InitInfo") << "libcurl version is: " << LLCurl::getVersionString() << LL_ENDL; @@ -2731,6 +2730,20 @@ void LLAppViewer::checkForCrash(void)  } +// +// This function decides whether the client machine meets the minimum requirements to +// run in a maximized window, per the consensus of davep, boa and nyx on 3/30/2011. +// +bool LLAppViewer::meetsRequirementsForMaximizedStart() +{ +	bool maximizedOk = (LLFeatureManager::getInstance()->getGPUClass() >= GPU_CLASS_2); + +	const U32 one_gigabyte_kb = 1024 * 1024; +	maximizedOk &= (gSysMemory.getPhysicalMemoryKB() >= one_gigabyte_kb); + +	return maximizedOk; +} +  bool LLAppViewer::initWindow()  {  	LL_INFOS("AppInit") << "Initializing window..." << LL_ENDL; @@ -2750,7 +2763,8 @@ bool LLAppViewer::initWindow()  	const S32 NEVER_SUBMIT_REPORT = 2;  	bool use_watchdog = false;  	int watchdog_enabled_setting = gSavedSettings.getS32("WatchdogEnabled"); -	if(watchdog_enabled_setting == -1){ +	if(watchdog_enabled_setting == -1) +	{  		use_watchdog = !LLFeatureManager::getInstance()->isFeatureAvailable("WatchdogDisabled");  	}  	else @@ -2767,11 +2781,6 @@ bool LLAppViewer::initWindow()  	LLNotificationsUI::LLNotificationManager::getInstance(); -	if (gSavedSettings.getBOOL("WindowMaximized")) -	{ -		gViewerWindow->mWindow->maximize(); -	} -  	if (!gNoRender)  	{  		// @@ -2801,6 +2810,21 @@ bool LLAppViewer::initWindow()  		LLAppViewer::instance()->forceErrorLLError();  	} +	// +	// Determine if the window should start maximized on initial run based +	// on graphics capability +	// +	if (gSavedSettings.getBOOL("FirstLoginThisInstall") && meetsRequirementsForMaximizedStart()) +	{ +		LL_INFOS("AppInit") << "This client met the requirements for a maximized initial screen." << LL_ENDL; +		gSavedSettings.setBOOL("WindowMaximized", TRUE); +	} + +	if (gSavedSettings.getBOOL("WindowMaximized")) +	{ +		gViewerWindow->mWindow->maximize(); +	} +  	LLUI::sWindow = gViewerWindow->getWindow();  	// Show watch cursor diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h index 0226211735..61ee6a7cf1 100644 --- a/indra/newview/llappviewer.h +++ b/indra/newview/llappviewer.h @@ -187,6 +187,7 @@ protected:  	virtual std::string generateSerialNumber() = 0; // Platforms specific classes generate this. +	virtual bool meetsRequirementsForMaximizedStart(); // Used on first login to decide to launch maximized  private:  | 
