Hi-DPI picture.open bug (Mac only)

Greetings -

I am unable to create a feedback case, I always get “communication with the feedback master server has failed, feedback will now quit” when I click submit.

We are experiencing an issue where the picture.depth is coming through as 0 on a picture created with picture.open only when HI-DPI is enabled (mac only)

Here is a link to the project: https://drive.google.com/drive/folders/1UXtBgyngqabpy58fB_MdOPNhkAewi-pu?usp=sharing

1.) Launch the project on mac
2.) Ensure Hi-DPI is disabled and run the project
3.) When the breakpoint triggers in window1.open, witness the picture.depth is 32 giving a valid RGBSurface
4.) Stop the debugger
5.) Ensure Hi-DPI is enabled and run the project
6.) When the breakpoint triggers in window1.open, witness the picture.depth is 0 giving a nil RGBSurface

Expected results:

While Hi-DPI is enabled, picture.open gives a valid depth.

Thank you for your time


Xojo has a couple of different types of pictures, and only the bitmap onces editable with RGBSurface.

A picture loaded from a file may be one of the read only types, potential with multiple resolutions.
So in order to get a RGBSurface, you may need to make a new picture, then draw to it and edit the pixels there.

Seems very hacky to copying the RBGA to another picture for only macos Hi-DPI.

Could anyone at Xojo comment on if this is expected behaviour of Hi-DPI?



Does anyone have an idea why this is occurring? Thanks

Do you have multiple representations of the same image in the project. If so, and you remove all but the 1x version, does it work as expected?

I would imagine that on HIDPI with the representations present in the application bundle, it’s using a different system (maybe NSImage) underneath as opposed o a normal bitmap image like a CGImage.

No, the file is not dragged into xojo, its the exact same file on hard-disk

That defiantly seems plausible, and could result in the different behaviour with picture.open I am seeing when toggling Hi-DPI