Open kubecz3k opened 4 years ago
Well, SectionedInspectorFilter IS an Object. The fact that it's not exposed only means that there's no documentation for it and likely methods are not bound, so you can't call them from GDScript.
The actual issue is that these objects shouldn't be sent to the plugin. Looks like Project Settings use the same control as Scene Tree Dock, so the plugin just receives anything that is clicked.
btw valid in 3.2.4 beta4
if I have an InspectorPlugin and open EditorSettings, I can see SectionedInspectorFilter
ImportDockParameters
ScriptEditorDebuggerVariables
etc "handled" in parse_begin
for example. How can I disable handling them?
I only need to work with objects which can be used in a game
I'm still having this problem with an InspectorPlugin and SectionedInspectorFilter
objects in 3.4.2.
Godot version: 40d1b0bfdb62d24d72f1f0102a7caf6f1c14e595
OS/device including version: Ubuntu 18.04 64bit
Issue description: When we create InspectorPlugin and we implement
can_handle(arg_obj)
function, I would expect the argument will be an Object (like its mentioned in docs). But it seems it's not always a case, in my particular case it was an instance of SectionedInspectorFilter (class which is not exposed to GdScript in the first place). I'm not 100% sure but I think this is an undesired behavior.This makes such implementations of
can_handle()
improper:If we will use that concrete implementation, then when navigating inside of Editor Settings, we will experience a flood of such warnings:
core/project_settings.cpp:209 - Property not found: application/config/some_property
Steps to reproduce: Short way:
core/project_settings.cpp:209 - Property not found: application/config/some_property
warnings in the editor outputcan_handle(arg)
implementationLong way (general steps):
core/project_settings.cpp:209 - Property not found: application/config/some_property
errorsMinimal reproduction project: inspector_plugin_can_handle_issue.zip