diff options
| author | AndreyL ProductEngine <alihatskiy@productengine.com> | 2019-06-22 03:16:39 +0300 | 
|---|---|---|
| committer | AndreyL ProductEngine <alihatskiy@productengine.com> | 2019-06-22 03:16:39 +0300 | 
| commit | 13580377c40dc6fe52281a2139442641a57f7e4b (patch) | |
| tree | 2dbd805f8ea3b17a02b690b86d97bed99e4898ce | |
| parent | 6700f2907aa63b1a5b683518b9fe9c4b4e6bc02e (diff) | |
| parent | 6f95100f7e33e6cd6e5bc462b1577c3a45fd964c (diff) | |
Merged in lindenlab/viewer-release
| -rwxr-xr-x | .hgtags | 1 | ||||
| -rwxr-xr-x | doc/contributions.txt | 1 | ||||
| -rw-r--r-- | indra/llwindow/llwindowwin32.cpp | 32 | ||||
| -rw-r--r-- | indra/llwindow/llwindowwin32.h | 5 | ||||
| -rw-r--r-- | indra/newview/VIEWER_VERSION.txt | 2 | 
5 files changed, 34 insertions, 7 deletions
| @@ -549,3 +549,4 @@ a3143db58a0f6b005232bf9018e7fef17ff9ec90 6.1.0-release  82a89165e5929a6c3073d6cd60a543cb395f147b 6.2.0-release  706bdc7e25c6e6b8fb56f4a13fcce2936e70a79c 6.2.1-release  ec09daf1899c1c01c4ba0ba950fae572f2a612a8 6.2.2-release +ab2ec5c5423b277d23fd0511ce50c15123ff2e03 6.2.3-release diff --git a/doc/contributions.txt b/doc/contributions.txt index 29fc71510b..0c68ae3100 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -1324,6 +1324,7 @@ Sovereign Engineer      STORM-2143      STORM-2148      MAINT-7343 +    SL-11079  SpacedOut Frye  	VWR-34  	VWR-45 diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index a24f168ab1..66b8bf8aee 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -425,6 +425,9 @@ LLWindowWin32::LLWindowWin32(LLWindowCallbacks* callbacks,  	mKeyVirtualKey = 0;  	mhDC = NULL;  	mhRC = NULL; +	memset(mCurrentGammaRamp, 0, sizeof(mCurrentGammaRamp)); +	memset(mPrevGammaRamp, 0, sizeof(mPrevGammaRamp)); +	mCustomGammaSet = FALSE;  	if (!SystemParametersInfo(SPI_GETMOUSEVANISH, 0, &mMouseVanish, 0))  	{ @@ -3000,13 +3003,34 @@ F32 LLWindowWin32::getGamma()  BOOL LLWindowWin32::restoreGamma()  { -	return SetDeviceGammaRamp(mhDC, mPrevGammaRamp); +	if (mCustomGammaSet != FALSE) +	{ +        LL_DEBUGS("Window") << "Restoring gamma" << LL_ENDL; +		mCustomGammaSet = FALSE; +		return SetDeviceGammaRamp(mhDC, mPrevGammaRamp); +	} +	return TRUE;  }  BOOL LLWindowWin32::setGamma(const F32 gamma)  {  	mCurrentGamma = gamma; +	//Get the previous gamma ramp to restore later. +	if (mCustomGammaSet == FALSE) +	{ +        if (!gGLManager.mIsIntel) // skip for Intel GPUs (see SL-11341) +        { +            LL_DEBUGS("Window") << "Getting the previous gamma ramp to restore later" << LL_ENDL; +            if(GetDeviceGammaRamp(mhDC, mPrevGammaRamp) == FALSE) +            { +                LL_WARNS("Window") << "Failed to get the previous gamma ramp" << LL_ENDL; +                return FALSE; +            } +        } +		mCustomGammaSet = TRUE; +	} +  	LL_DEBUGS("Window") << "Setting gamma to " << gamma << LL_ENDL;  	for ( int i = 0; i < 256; ++i ) @@ -3018,9 +3042,9 @@ BOOL LLWindowWin32::setGamma(const F32 gamma)  		if ( value > 0xffff )  			value = 0xffff; -		mCurrentGammaRamp [ 0 * 256 + i ] =  -			mCurrentGammaRamp [ 1 * 256 + i ] =  -				mCurrentGammaRamp [ 2 * 256 + i ] = ( WORD )value; +		mCurrentGammaRamp[0][i] = +			mCurrentGammaRamp[1][i] = +			mCurrentGammaRamp[2][i] = (WORD) value;  	};  	return SetDeviceGammaRamp ( mhDC, mCurrentGammaRamp ); diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h index d72623a6f4..9cd16eb993 100644 --- a/indra/llwindow/llwindowwin32.h +++ b/indra/llwindow/llwindowwin32.h @@ -184,8 +184,9 @@ protected:  	F32			mCurrentGamma;  	U32			mFSAASamples; -	WORD		mPrevGammaRamp[256*3]; -	WORD		mCurrentGammaRamp[256*3]; +	WORD		mPrevGammaRamp[3][256]; +	WORD		mCurrentGammaRamp[3][256]; +	BOOL		mCustomGammaSet;  	LPWSTR		mIconResource;  	BOOL		mMousePositionModified; diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index bee9433817..42cc526d6c 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -6.2.3 +6.2.4 | 
