RenderSettingsSections seems to be buggy

I try to set what to display from the default render settings by overwriting RenderSettingsSections().

This works fine under Windows, but under OSX it doesn’t show what it should. If I pass forward all the guids from the base class it works fine. But if I remove some guids from the end, it doesn’t show the standard settings at all, or maybe some but not according to the remaining guids.

Under OSX Catalina it doesn’t show anything with the latest build actually. (Even my plugin render settings are hidden- under Mojave my plugin settings are visible)

Márton

@nathanletwory - is this something you can help with?

@dale, I don’t have used these type of sections before. But I’m thinking that @maxsoder may know more, since he does most of the Eto UI on the Mac.

I have Catalina so I can try to check what is going on.

I updated the https://github.com/mcneel/rhino-developer-samples/tree/6/rhinocommon/cs/SampleCsCustomRenderSettingsSections project. The RenderSettings sections on the Mac have different uuids. I was able to run it on Catalina.

However I was able to once get into a state where my custom section was not showing up at all. There seems to be some problem. I will continue to investigate.

Hello Max. It is interesting. Here if I call base.RenderSettingsSections(); I get 14 guids.
And the guids from the windows versions are also in this list, but not the guids you added for the mac version. So it seems here the guids are the same but something is wrong…

Márton

Thank you for the information.

The base class implementation of the RenderSettingsSections adds all the render settings uuids, but it seems it does not add the Mac uuids. I will check it out.

Did you try out the SampleCsCustomRenderSettingsSections project? It adds manually the sections, which is probably the reason why it works.

I checked what gets added by base.RenderSettingsSections. The 7 first uuids are the Windows sections and next 7 uuids are the Mac uuids. So it seems the base.RenderSettingsSections() call should work after all.

I updated the SampleCsCustomRenderSettingsSections project yesterday. In the constructor CustomRenderSettingsSectionsPugIn there is now a runtime check that adds the correct uuids depending on the platform Win/Mac. Did you get the latest SampleCsCustomRenderSettingsSections version from GitHub to check? There should be if statements in the CustomRenderSettingsSectionsPlugIn constructor using HostUtils.RunningOnOSX or RunningOnWindows.

The plan is to get rid of the old windows uuids in the future. Not yet though and v7 will also use both guids.

I will continue to investigate this.

Thanks, now I have understood. I was not aware that the Mac guids are after the windows guids.

And I can see now the standard tabs I need. (I haven’t changed anything since my last code, it seem VS hasn’t updated the compiled code correctly, so it was still my old code which produced wrong result.

Márton