summaryrefslogtreecommitdiffstats
path: root/servers/rendering/shader_language.cpp
diff options
context:
space:
mode:
authorYuri Rubinsky <chaosus89@gmail.com>2022-05-20 18:38:06 +0300
committerYuri Rubinsky <chaosus89@gmail.com>2022-05-20 18:40:57 +0300
commit29ff04acf2d2fdec0b057c49dbf704e02a1d44f9 (patch)
treedad58450f07d4cae831cabd61c025f09148180b2 /servers/rendering/shader_language.cpp
parent29708f79a8581bd126072567c6fe9083e7cec9ae (diff)
downloadredot-engine-29ff04acf2d2fdec0b057c49dbf704e02a1d44f9.tar.gz
Fix incorrect keyword completion after period in shader editor
Diffstat (limited to 'servers/rendering/shader_language.cpp')
-rw-r--r--servers/rendering/shader_language.cpp9
1 files changed, 9 insertions, 0 deletions
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