Panels.IsPanelVisible(PanelType) is not giving back the same value as in Rhino5

Hi. In Rhino5 it is giving back true if the Panel is only in the tab but not visible. This is not so in Rhino6, but the API says it should, if i’m interpreting this correctly.

“Check to see if a panel is currently visible, on Windows this means you can see the tab, it does not necessarily mean it is the current tab.”

Thanks.

@stevebaer This is something that changed, but then it most likely is only a bug. The other change is about the ActiveDoc. Which is null at some places where it had value before. Could you pls check this IsPanelVisible thing?

Thanks.

@JohnM is probably the best person to check this.

I created a bug report for this at
https://mcneel.myjetbrains.com/youtrack/issue/RH-47698
I think the developer who works on this is on vacation this week, so we’ll have to wait until he gets back.

That should be very rare

You can call the overloaded version that includes the “bool isSelectedTab” option. If isSelectedTable is true then the panel must exist in a visible container and be the active tab, if isSelectedTab is false then the panel tab just needs to appear in a visible container. It looks like the simple version is calling “IsPanelVisible(panelId, true)” which would explain the difference.

Thank you, i was on vacation too.

You mean that i could call it unsafely through the C++ interface?

You can call Rhino.UI.Panels.IsPanelVisible(<panel id>, false) which will return true if the panel tab is visible regardless of its active state. RH-47698 has also been fixed in the current service release.

Oh wow thank you. I’m was searching for the overloaded method in the V5 DLL…