Jump to content
  • Advertisement

Archived

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

SonicMouse

auxDIBImageLoad memory failer

This topic is 2489 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
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!