Browse Source

Remove incorrect items from completion of main functions in shader

Yuri Roubinsky 3 years ago
parent
commit
0e66587dbf
1 changed files with 13 additions and 0 deletions
  1. 13 0
      servers/rendering/shader_language.cpp

+ 13 - 0
servers/rendering/shader_language.cpp

@@ -9060,6 +9060,19 @@ Error ShaderLanguage::complete(const String &p_code, const ShaderCompileInfo &p_
 		} break;
 		case COMPLETION_MAIN_FUNCTION: {
 			for (const KeyValue<StringName, FunctionInfo> &E : p_info.functions) {
+				if (!E.value.main_function) {
+					continue;
+				}
+				bool found = false;
+				for (int i = 0; i < shader->functions.size(); i++) {
+					if (shader->functions[i].name == E.key) {
+						found = true;
+						break;
+					}
+				}
+				if (found) {
+					continue;
+				}
 				ScriptCodeCompletionOption option(E.key, ScriptCodeCompletionOption::KIND_FUNCTION);
 				r_options->push_back(option);
 			}