Since REGION16 uses unsigned values, when appWindow->x or appWindow->y is negative, the region will have a very large left or top value. Avoid this problem by clamping to 0 before casting to an unsigned value.