- render_w = X > Buf->Width - Buf->CursorBitmap->W ? Buf->Width - X : Buf->CursorBitmap->W;
- render_h = Y > Buf->Height - Buf->CursorBitmap->H ? Buf->Height - Y : Buf->CursorBitmap->H;
+ ASSERTC(Buf->Width, >, 0);
+ ASSERTC(Buf->Height, >, 0);
+ ASSERTC(Buf->CursorBitmap->W, >, 0);
+ ASSERTC(Buf->CursorBitmap->H, >, 0);
+
+ render_w = MIN(Buf->Width - X, Buf->CursorBitmap->W);
+ render_h = MIN(Buf->Height - Y, Buf->CursorBitmap->H);
+ //render_w = X > Buf->Width - Buf->CursorBitmap->W ? Buf->Width - X : Buf->CursorBitmap->W;
+ //render_h = Y > Buf->Height - Buf->CursorBitmap->H ? Buf->Height - Y : Buf->CursorBitmap->H;
+
+ ASSERTC(render_w, >=, 0);
+ ASSERTC(render_h, >=, 0);