From cd6295e26f9eb99ded5ae958307a963872d8267b Mon Sep 17 00:00:00 2001 From: Eric Smith <5d@fifthdread.com> Date: Wed, 20 May 2026 14:11:32 -0400 Subject: [PATCH] fix drag: set module subtree mouse_filter to IGNORE so events reach DashboardGrid --- scripts/module_base.gd | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/scripts/module_base.gd b/scripts/module_base.gd index dad4b76..081f12c 100644 --- a/scripts/module_base.gd +++ b/scripts/module_base.gd @@ -10,23 +10,32 @@ var _initialized: bool = false func _ready() -> void: - if not _initialized: - _initialize() + # Don't intercept mouse events — DashboardGrid handles drag-and-drop + _set_mouse_ignore(self) + if not _initialized: + _initialize() func initialize() -> void: - pass + pass func refresh(data: Dictionary) -> void: - pass + pass func get_module_title() -> String: - return module_title + return module_title func _initialize() -> void: - _initialized = true - initialize() - module_ready.emit() + _initialized = true + initialize() + module_ready.emit() + + +func _set_mouse_ignore(node: Node) -> void: + if node is Control: + node.mouse_filter = Control.MOUSE_FILTER_IGNORE + for child in node.get_children(): + _set_mouse_ignore(child)