You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
lodepng crashes the function ntdll!RtlUserThreadStart() from ntdll.dll when I try to create a PNG image.
This is my C code to save 8-bit indexed color screenshots. Lodepng.cpp was also renamed to .c to ensure C compatibility:
#include "lodepng.h"
void WritePNGfile (const char *filename, const byte *image, unsigned width, unsigned height)
{
LodePNGState pngstate;
byte *png;
size_t pngsize;
unsigned error;
// initialize state data
lodepng_state_init (&pngstate);
// generate PNG palette
for(int i = 0; i < 256; i++)
{
byte r = palette_screentint[i].r; // palette_screenbase
byte g = palette_screentint[i].g;
byte b = palette_screentint[i].b;
byte a = (i == TRANSPARENT_COLOR) ? 0 : 255;
// palette must be added both to input and output color mode, because
// in this sample both the raw image and the expected PNG image use that palette.
lodepng_palette_add (&pngstate.info_raw , r, g, b, a);
lodepng_palette_add (&pngstate.info_png.color, r, g, b, a);
}
// customize state
// both the raw image and the encoded image must get colorType 3 (palette).
pngstate.info_raw.colortype = LCT_PALETTE;
pngstate.info_raw.bitdepth = 8;
pngstate.encoder.auto_convert = 0; // we specify ourselves exactly what output PNG color mode we want
pngstate.info_png.color.colortype = LCT_PALETTE; // if you comment this line, and create the above palette in info_raw instead, then you get the same image in a RGBA PNG.
pngstate.info_png.color.bitdepth = 8;
// encode and save
error = lodepng_encode (&png, &pngsize, image, width, height, &pngstate);
if (error)
Con_Printf ("error %u: %s\n", error, lodepng_error_text (error));
else
lodepng_save_file (png, pngsize, filename);
// finish
lodepng_state_cleanup (&pngstate);
free (png);
}
This code compiles without warnings, but crashes. When looking at the debug info, the only thing I got was the mention of ntdll!RtlUserThreadStart().
My program is single-threaded, and compiled with the TDM-GCC 32-bit x86 compiler.
The text was updated successfully, but these errors were encountered:
lodepng crashes the function ntdll!RtlUserThreadStart() from ntdll.dll when I try to create a PNG image.
This is my C code to save 8-bit indexed color screenshots. Lodepng.cpp was also renamed to .c to ensure C compatibility:
This code compiles without warnings, but crashes. When looking at the debug info, the only thing I got was the mention of ntdll!RtlUserThreadStart().
My program is single-threaded, and compiled with the TDM-GCC 32-bit x86 compiler.
The text was updated successfully, but these errors were encountered: