瀏覽代碼

Fix caret_force_displayed

(cherry picked from commit 6d2f18c6c6c9b0415da4d2daed2b75e21a62c350)
kobewi 6 月之前
父節點
當前提交
7133f44228
共有 2 個文件被更改,包括 2 次插入2 次删除
  1. 1 1
      doc/classes/LineEdit.xml
  2. 1 1
      scene/gui/line_edit.cpp

+ 1 - 1
doc/classes/LineEdit.xml

@@ -252,7 +252,7 @@
 			The caret's column position inside the [LineEdit]. When set, the text may scroll to accommodate it.
 		</member>
 		<member name="caret_force_displayed" type="bool" setter="set_caret_force_displayed" getter="is_caret_force_displayed" default="false">
-			If [code]true[/code], the [LineEdit] will always show the caret, even if focus is lost.
+			If [code]true[/code], the [LineEdit] will always show the caret, even if not editing or focus is lost.
 		</member>
 		<member name="caret_mid_grapheme" type="bool" setter="set_caret_mid_grapheme_enabled" getter="is_caret_mid_grapheme_enabled" default="false">
 			Allow moving caret, selecting and removing the individual composite character components.

+ 1 - 1
scene/gui/line_edit.cpp

@@ -1733,7 +1733,7 @@ void LineEdit::_validate_caret_can_draw() {
 		draw_caret = true;
 		caret_blink_timer = 0.0;
 	}
-	caret_can_draw = editing && (window_has_focus || (menu && menu->has_focus())) && (has_focus() || caret_force_displayed);
+	caret_can_draw = (caret_force_displayed && !is_part_of_edited_scene()) || (editing && (window_has_focus || (menu && menu->has_focus())) && has_focus());
 }
 
 void LineEdit::delete_char() {