فهرست منبع

Fixed error due to bad cursor handling when parsing shader code

Fixed completion error log thrown on "no auto-completion found" for typings with no completion.
Overblob 7 سال پیش
والد
کامیت
7a74d310aa
1فایلهای تغییر یافته به همراه5 افزوده شده و 3 حذف شده
  1. 5 3
      servers/visual/shader_language.cpp

+ 5 - 3
servers/visual/shader_language.cpp

@@ -2545,7 +2545,9 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons
 			TkPos pos = _get_tkpos();
 			tk = _get_token();
 
-			if (tk.type == TK_PERIOD) {
+			if (tk.type == TK_CURSOR) {
+				//do nothing
+			} else if (tk.type == TK_PERIOD) {
 
 				StringName identifier;
 				if (_get_completable_identifier(p_block, COMPLETION_INDEX, identifier)) {
@@ -4130,8 +4132,8 @@ Error ShaderLanguage::complete(const String &p_code, const Map<StringName, Funct
 	switch (completion_type) {
 
 		case COMPLETION_NONE: {
-			//do none
-			return ERR_PARSE_ERROR;
+			//do nothing
+			return OK;
 		} break;
 		case COMPLETION_RENDER_MODE: {
 			for (const Set<String>::Element *E = p_render_modes.front(); E; E = E->next()) {