mirror of
https://github.com/love2d/love.git
synced 2026-08-15 07:41:11 +02:00
No more crashes when there is no memory for newImageData (issue #209)
This commit is contained in:
@@ -88,7 +88,28 @@ namespace devil
|
||||
// Bind the image.
|
||||
ilBindImage(image);
|
||||
|
||||
ilTexImage(width, height, 1, bpp, IL_RGBA, IL_UNSIGNED_BYTE, 0);
|
||||
bool success = ilTexImage(width, height, 1, bpp, IL_RGBA, IL_UNSIGNED_BYTE, 0);
|
||||
int err = ilGetError();
|
||||
if (err != IL_NO_ERROR){
|
||||
switch (err) {
|
||||
case IL_ILLEGAL_OPERATION:
|
||||
throw love::Exception("Error: Illegal operation");
|
||||
break;
|
||||
case IL_INVALID_PARAM:
|
||||
throw love::Exception("Error: invalid parameters");
|
||||
break;
|
||||
case IL_OUT_OF_MEMORY:
|
||||
throw love::Exception("Error: out of memory");
|
||||
break;
|
||||
default:
|
||||
throw love::Exception("Error: unknown error");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!success) {
|
||||
throw love::Exception("Could not decode image data.");
|
||||
}
|
||||
|
||||
// Set to black.
|
||||
memset((void*)ilGetData(), 0, width*height*4);
|
||||
|
||||
Reference in New Issue
Block a user