Answers

Question and Answer:

  Home  Brew

⟩ Why do we get memory errors such as "memheap.c 0696" when using IDISPLAY_BitBlt() to draw a bitmap image?

Ensure that you are freeing the memory allocated by CONVERTBMP. Check the last Boolean parameter of CONVERTBMP. If True, a reallocation was done and the memory must be freed using SYSFREE.

For example:

pBmp = CONVERTBMP (pDataBytes, &imageInfo, &bVal);

IDISPLAY_BitBlt (pIDisplay, xDest, yDest, cxDest,

cyDest, pBmp, xSrc, ySrc, dwRopCode);

IDISPLAY_Update (pIDisplay);

if(bVal) //free only if realloc was done

SYSFREE (pBmp);

 168 views

More Questions for you: