Diagnosing "[noesis] Visual is not a descendant of the specified ancestor"
After upgrading our project to 3.0, some of our popup views have been spamming the error message:
I know of some of the various ways this can occur, but am at a loss as to how to track where this occurs. Is there a way to track what component triggers the error? Would it be possible to improve the error message to something more useful (e.g. concrete type of the Visual, information about the specified ancestor)?Visual is not a descendant of the specified ancestor
-
sfernandez
Site Admin
- Posts: 2995
- Joined:
Re: Diagnosing "[noesis] Visual is not a descendant of the specified ancestor"
Are those messages being shown when using Popups normally (by changing its IsOpen property and interacting with them), or are the messages showing when you call in code functions like TransformToAncestor or TransformToDescendant? What is the callstack of the error message in Unity console?
We can improve the error message by adding the type of the visual and the ancestor. I think you have access to source code, so until we release a new version you can change it yourself in Visual.cpp line 1077:
We can improve the error message by adding the type of the visual and the ancestor. I think you have access to source code, so until we release a new version you can change it yourself in Visual.cpp line 1077:
Code: Select all
NS_CHECK(visual == ancestor, "Visual '%s' is not a descendant of the specified ancestor '%s'",
GetClassType()->GetName(), ancestor->GetClassType()->GetName());
Re: Diagnosing "[noesis] Visual is not a descendant of the specified ancestor"
The messages are shown when opening popups with certain content. We don't get it for every popup we use, so it's definitely content-dependent.Are those messages being shown when using Popups normally (by changing its IsOpen property and interacting with them), or are the messages showing when you call in code functions like TransformToAncestor or TransformToDescendant?
What is the callstack of the error message in Unity console?
Code: Select all
NoesisUnity:UnityLog(Int32, String) (at Assets/NoesisGUI/Plugins/NoesisUnity.cs:146)
Noesis.View:Noesis_View_Update(HandleRef, Double)
Noesis.View:Update(Double) (at Assets/NoesisGUI/Plugins/API/Core/View.cs:297)
Thanks, I'll try that!We can improve the error message by adding the type of the visual and the ancestor. I think you have access to source code, so until we release a new version you can change it yourself in Visual.cpp line 1077:Code: Select allNS_CHECK(visual == ancestor, "Visual '%s' is not a descendant of the specified ancestor '%s'", GetClassType()->GetName(), ancestor->GetClassType()->GetName());
-
sfernandez
Site Admin
- Posts: 2995
- Joined:
Re: Diagnosing "[noesis] Visual is not a descendant of the specified ancestor"
It was a bug in Noesis when using a TextBox inside a Popup, the message was thrown by caret rendering code.
The issue is fixed for next release.
The issue is fixed for next release.
Who is online
Users browsing this forum: Bing [Bot], Semrush [Bot] and 28 guests