From d7eea0582054647357b552b3f571214001843a5f Mon Sep 17 00:00:00 2001 From: rowan Date: Mon, 5 May 2025 17:20:53 -0500 Subject: [PATCH] fix uncaught errors in dev console --- addons/dev_console/autocomplete_line.ts.uid | 1 + addons/dev_console/console.tscn | 4 ++-- addons/dev_console/dev_console.ts | 14 +++++++++----- addons/dev_console/dev_console.ts.uid | 1 + 4 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 addons/dev_console/autocomplete_line.ts.uid create mode 100644 addons/dev_console/dev_console.ts.uid diff --git a/addons/dev_console/autocomplete_line.ts.uid b/addons/dev_console/autocomplete_line.ts.uid new file mode 100644 index 0000000..2c8c48f --- /dev/null +++ b/addons/dev_console/autocomplete_line.ts.uid @@ -0,0 +1 @@ +uid://bvvocjakigicu diff --git a/addons/dev_console/console.tscn b/addons/dev_console/console.tscn index 3be8414..6c888e7 100644 --- a/addons/dev_console/console.tscn +++ b/addons/dev_console/console.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://b8xytvsmqsf55"] -[ext_resource type="Script" path="res://addons/dev_console/dev_console.ts" id="1_3ukun"] +[ext_resource type="Script" uid="uid://kxku2ly58ova" path="res://addons/dev_console/dev_console.ts" id="1_3ukun"] [ext_resource type="Theme" uid="uid://p5gitjrllq0a" path="res://addons/dev_console/monospace.tres" id="2_0wrae"] -[ext_resource type="Script" path="res://addons/dev_console/autocomplete_line.ts" id="2_fq41p"] +[ext_resource type="Script" uid="uid://bvvocjakigicu" path="res://addons/dev_console/autocomplete_line.ts" id="2_fq41p"] [node name="CanvasLayer" type="CanvasLayer"] process_mode = 3 diff --git a/addons/dev_console/dev_console.ts b/addons/dev_console/dev_console.ts index bfd6c79..fb47fcd 100644 --- a/addons/dev_console/dev_console.ts +++ b/addons/dev_console/dev_console.ts @@ -30,7 +30,6 @@ export default class DevConsole extends Control { private history_index: number = -1 _ready(): void { - this._toggle() const method_names = Enumerable.from(new GArrayEnumerator(this.get_method_list())) .map((x: GDictionary) => x.get('name')) .filter((x: string) => !x.startsWith('_')) @@ -40,6 +39,8 @@ export default class DevConsole extends Control { this, this._submit_command ) + + this._hide() } _input(event: InputEvent): void { @@ -88,6 +89,7 @@ export default class DevConsole extends Control { } async _show() { + this.visible = true await this.get_tree().process_frame.as_promise() if (this.pause_when_open) { this.get_tree().paused = true @@ -98,20 +100,22 @@ export default class DevConsole extends Control { } _hide() { + this.visible = false if (this.pause_when_open) { this.get_tree().paused = false } - this.input.text_submitted.disconnect(this.parse_callable) + if (this.input.is_connected(this.input.text_submitted.get_name(), this.parse_callable as Callable)) { + this.input.text_submitted.disconnect(this.parse_callable) + } + this.input.release_focus() } async _toggle() { this._reset() - this.visible = !this.visible - - if (this.visible) { + if (!this.visible) { this._show() } else { this._hide() diff --git a/addons/dev_console/dev_console.ts.uid b/addons/dev_console/dev_console.ts.uid new file mode 100644 index 0000000..fbe0b9d --- /dev/null +++ b/addons/dev_console/dev_console.ts.uid @@ -0,0 +1 @@ +uid://kxku2ly58ova