• Advertisement

Archived

This topic is now archived and is closed to further replies.

auxDIBImageLoad memory failer

This topic is 2306 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

anyone have a problem with freeing the memory after calling auxDIBImageLoad ? i have a map that has 7 textures and it loads fine. Then i make a map that has 8 textures and bam i get illeagal ops in the GDI32.DLL when i try to free the memory myself. this is the code:
GLuint Model::LoadGLTexture( const char *filename ){
	AUX_RGBImageRec *pImage;
	GLuint texture = 0;
	pImage = LoadBMP(filename);
	if ( pImage != NULL && pImage->data != NULL ){
		glGenTextures(1, &texture);
		glBindTexture(GL_TEXTURE_2D, texture);
		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR);
		gluBuild2DMipmaps(GL_TEXTURE_2D, 3, pImage->sizeX, pImage->sizeY, GL_RGB, GL_UNSIGNED_BYTE, pImage->data);
		free(pImage->data); <-- THIS IS THE LINE
		free(pImage);
	}
	return texture;
}
 
i checked the address of pImage->data and there is legitimate data there. If i remove that line it works great.. but i fear of a tremendeous memory leak if i remove that line for good. could someone tell me if it is necessary to free that data? and if it is, then why does it crash after 7 textures are loaded?

Share this post


Link to post
Share on other sites
Advertisement
Hey guys,
I just posted an update to the texture loading with glaux, as it is really old and actually deprecated.

[url="http://nehe.gamedev.net/tutorial/lesson_06_texturing_update/47002/"][url="http://nehe.gamedev.net/tutorial/lesson_06_texturing_update/47002/"]Lesson 06 Texturing Update[/url][/url]

Using this library should fix your problems.
Hope that helps :)

Share this post


Link to post
Share on other sites

  • Advertisement