Hi,
Very strange. Exception 5 is typically used when accessing uninitialized memory areas.
I tried changing the MaskDemo (which is shipped with GapiDraw) so that both surface use rectangles. No crash. I also looked through the source code for Intersect.
Please verify the parameter "POINT* pIntersection". This is a return value, and it must point to an initialized memory space. Using an uninitialized pointer here could easily cause GapiDraw to crash. Please report back again if all parameters are indeed correct, so I can have another look at it before I release the next GapiDraw tomorrow.
/Johan