array_mark = NULL;
stream_end = s->p + size;
stream_get_mark(s, stream_start);
- offsets = (uint8**) xmalloc(size / 2);
- lengths = (uint16*) xmalloc(size / 2);
+ offsets = (uint8**) xmalloc(sizeof(uint8*) * size / 2);
+ lengths = (uint16*) xmalloc(sizeof(uint16) * size / 2);
operations = (uint8*) xmalloc(size / 2);
while (s->p < stream_end)
bmp = bmps[j];
glyph = glyphs[j];
+ if (bmp == NULL || glyph == NULL)
+ continue;
+
gdi_BitBlt(gdi->drawing->hdc, glyph->x + x, glyph->y + y, bmp->bitmap->width,
bmp->bitmap->height, bmp->hdc, 0, 0, GDI_DSPDxax);