From 29ff04acf2d2fdec0b057c49dbf704e02a1d44f9 Mon Sep 17 00:00:00 2001 From: Yuri Rubinsky Date: Fri, 20 May 2022 18:38:06 +0300 Subject: Fix incorrect keyword completion after period in shader editor --- servers/rendering/shader_language.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'servers/rendering/shader_language.cpp') diff --git a/servers/rendering/shader_language.cpp b/servers/rendering/shader_language.cpp index d2e188a9a7..316cf50ab7 100644 --- a/servers/rendering/shader_language.cpp +++ b/servers/rendering/shader_language.cpp @@ -5379,6 +5379,11 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons if (tk.type == TK_CURSOR) { //do nothing } else if (tk.type == TK_PERIOD) { +#ifdef DEBUG_ENABLED + uint32_t prev_keyword_completion_context = keyword_completion_context; + keyword_completion_context = CF_UNSPECIFIED; +#endif + DataType dt = expr->get_datatype(); String st = expr->get_datatype_name(); @@ -5734,6 +5739,10 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons } expr = mn; +#ifdef DEBUG_ENABLED + keyword_completion_context = prev_keyword_completion_context; +#endif + //todo //member (period) has priority over any operator //creates a subindexing expression in place -- cgit v1.2.3