diff options
| -rw-r--r-- | indra/newview/llstartup.cpp | 32 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.cpp | 22 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.h | 1 | 
3 files changed, 37 insertions, 18 deletions
| diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index e4bf668275..9855326093 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2557,22 +2557,32 @@ void init_start_screen(S32 location_id)  	else if(!start_image_bmp->load(temp_str) )  	{  		LL_WARNS("AppInit") << "Bitmap load failed" << LL_ENDL; -		return; +		gStartTexture = NULL;  	} +	else +	{ +		gStartImageWidth = start_image_bmp->getWidth(); +		gStartImageHeight = start_image_bmp->getHeight(); -	gStartImageWidth = start_image_bmp->getWidth(); -	gStartImageHeight = start_image_bmp->getHeight(); +		LLPointer<LLImageRaw> raw = new LLImageRaw; +		if (!start_image_bmp->decode(raw, 0.0f)) +		{ +			LL_WARNS("AppInit") << "Bitmap decode failed" << LL_ENDL; +			gStartTexture = NULL; +		} +		else +		{ +			raw->expandToPowerOfTwo(); +			gStartTexture = LLViewerTextureManager::getLocalTexture(raw.get(), FALSE) ; +		} +	} -	LLPointer<LLImageRaw> raw = new LLImageRaw; -	if (!start_image_bmp->decode(raw, 0.0f)) +	if(gStartTexture.isNull())  	{ -		LL_WARNS("AppInit") << "Bitmap decode failed" << LL_ENDL; -		gStartTexture = NULL; -		return; +		gStartTexture = LLViewerTexture::sBlackImagep ; +		gStartImageWidth = gStartTexture->getWidth() ; +		gStartImageHeight = gStartTexture->getHeight() ;  	} - -	raw->expandToPowerOfTwo(); -	gStartTexture = LLViewerTextureManager::getLocalTexture(raw.get(), FALSE) ;  } diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 5fcc57bc91..70509f9a9f 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -66,6 +66,7 @@  // statics  LLPointer<LLViewerTexture>        LLViewerTexture::sNullImagep = NULL; +LLPointer<LLViewerTexture>        LLViewerTexture::sBlackImagep = NULL;  LLPointer<LLViewerFetchedTexture> LLViewerFetchedTexture::sMissingAssetImagep = NULL;  LLPointer<LLViewerFetchedTexture> LLViewerFetchedTexture::sWhiteImagep = NULL;  LLPointer<LLViewerFetchedTexture> LLViewerFetchedTexture::sDefaultImagep = NULL; @@ -295,17 +296,23 @@ LLViewerFetchedTexture* LLViewerTextureManager::getFetchedTextureFromHost(const  void LLViewerTextureManager::init()  { -	LLPointer<LLImageRaw> raw = new LLImageRaw(1,1,3); -	raw->clear(0x77, 0x77, 0x77, 0xFF); -	LLViewerTexture::sNullImagep = LLViewerTextureManager::getLocalTexture(raw.get(), TRUE) ; - -#if 1 -	LLPointer<LLViewerFetchedTexture> imagep = LLViewerTextureManager::getFetchedTexture(IMG_DEFAULT); -	LLViewerFetchedTexture::sDefaultImagep = imagep; +	{ +		LLPointer<LLImageRaw> raw = new LLImageRaw(1,1,3); +		raw->clear(0x77, 0x77, 0x77, 0xFF); +		LLViewerTexture::sNullImagep = LLViewerTextureManager::getLocalTexture(raw.get(), TRUE) ; +	}  	const S32 dim = 128;  	LLPointer<LLImageRaw> image_raw = new LLImageRaw(dim,dim,3);  	U8* data = image_raw->getData(); +	 +	memset(data, 0, dim * dim * 3) ; +	LLViewerTexture::sBlackImagep = LLViewerTextureManager::getLocalTexture(image_raw.get(), TRUE) ; + +#if 1 +	LLPointer<LLViewerFetchedTexture> imagep = LLViewerTextureManager::getFetchedTexture(IMG_DEFAULT); +	LLViewerFetchedTexture::sDefaultImagep = imagep; +	  	for (S32 i = 0; i<dim; i++)  	{  		for (S32 j = 0; j<dim; j++) @@ -359,6 +366,7 @@ void LLViewerTextureManager::cleanup()  	LLImageGL::sDefaultGLTexture = NULL ;  	LLViewerTexture::sNullImagep = NULL; +	LLViewerTexture::sBlackImagep = NULL;  	LLViewerFetchedTexture::sDefaultImagep = NULL;	  	LLViewerFetchedTexture::sSmokeImagep = NULL;  	LLViewerFetchedTexture::sMissingAssetImagep = NULL; diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h index c5b8c8923a..de528927b4 100644 --- a/indra/newview/llviewertexture.h +++ b/indra/newview/llviewertexture.h @@ -330,6 +330,7 @@ public:  	static BOOL sUseTextureAtlas ;  	static LLPointer<LLViewerTexture> sNullImagep; // Null texture for non-textured objects. +	static LLPointer<LLViewerTexture> sBlackImagep;	// Texture to show NOTHING (pure black)  }; | 
