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.
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
Try
SelectionChanged = Color.SelectedFromDialog(SelectedColor, "Profile Color")
Catch e As NilObjectException
// We just ignore the NOE since it's still working...;)
Finally
If SelectionChanged Then
Self.Profile.ProfileColor = SelectedColor
me.FillColor = SelectedColor
End If
End Try
#Pragma BreakOnExceptions Default