浏览代码

Prevent connect `scroll_to_paragraph` multiple times to `class_desc`

jsjtxietian 1 年之前
父节点
当前提交
b33811d46b
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      editor/editor_help.cpp

+ 3 - 0
editor/editor_help.cpp

@@ -2340,6 +2340,9 @@ void EditorHelp::_help_callback(const String &p_topic) {
 
 	if (class_desc->is_ready()) {
 		// call_deferred() is not enough.
+		if (class_desc->is_connected(SceneStringName(draw), callable_mp(class_desc, &RichTextLabel::scroll_to_paragraph))) {
+			class_desc->disconnect(SceneStringName(draw), callable_mp(class_desc, &RichTextLabel::scroll_to_paragraph));
+		}
 		class_desc->connect(SceneStringName(draw), callable_mp(class_desc, &RichTextLabel::scroll_to_paragraph).bind(line), CONNECT_ONE_SHOT | CONNECT_DEFERRED);
 	} else {
 		scroll_to = line;