macos: fix scale on macOS 12 beta

This is a port of the fix in the quartz backend to the new macOS backend.

From the original commit:

In macOS-12.sdk CGContextConverSizeToDeviceSpace returns a negative
height and passing that to CGContextScaleCTM in turn causes the cairo
surface to draw outside the window where it can't be seen. Passing the
absolute values of the scale factors fixes the display on macOS 12 without
affecting earlier macOS versions.
This commit is contained in:
Christian Hergert 2021-10-14 14:46:30 -07:00
parent a7ef4c75ea
commit e3ef21f770

View File

@ -809,7 +809,7 @@ _gdk_macos_surface_acquire_context (GdkMacosSurface *self,
scale = CGSizeMake (1.0, 1.0);
scale = CGContextConvertSizeToDeviceSpace (cg_context, scale);
CGContextScaleCTM (cg_context, 1.0 / scale.width, 1.0 / scale.height);
CGContextScaleCTM (cg_context, 1.0 / fabs (scale.width), 1.0 / fabs (scale.height));
}
return cg_context;