Feedback Case Number: 64743.
This seems like a pretty serious bug for Mac users. I’m running Big Sur 11.3 on Apple Silicon.
Color.SelectedFromDialog reliably crashes any Xojo app when used as described in the Xojo docs.
Put this code in the action event of a button:
Var c As Color = Color.Red
Call Color.SelectedFromDialog(c, "Choose Colour")
Click the button and choose a colour. Then close the picker window using the red close button. The app will crash with the debugger complaining about a
NilObjectException on the
Call line. The variable
c is not Nil according to the debugger. No idea what is being set to
Nil but the app will crash every single time.
As far as I can see, I have no way of selecting a colour on macOS 11.3.
I think you have to use the “new” DesktopColorPicker introduced in Xojo 2021r1.1 to prevent this exception. I imagine this was the reason for this new control.
I seemed to have entirely missed that new control. Thanks for pointing it out @Martin_T.
Hopefully that’ll sort out my issue without having to hack my app too much…
This might be a solution on MacOS as it seems we get a NilObjectException but it’s working fine if that’s ignored.
Var SelectedColor As Color = &cFF0000 // Default red
Var SelectionChanged As Boolean
#Pragma BreakOnExceptions False
SelectionChanged = Color.SelectedFromDialog(SelectedColor, "Profile Color")
Catch e As NilObjectException
// We just ignore the NOE since it's still working...;)
If SelectionChanged Then
Self.Profile.ProfileColor = SelectedColor
me.FillColor = SelectedColor
#Pragma BreakOnExceptions Default