From d086590eed1e1877a2a32d80480514116013f08a Mon Sep 17 00:00:00 2001 From: Developer01 Date: Tue, 11 Aug 2026 15:25:34 +0200 Subject: [PATCH] Fix: Toten Pseudo-Fallback in GridViewWorkflows_MouseDown entfernt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der InvalidRowHandle-Check in GridViewWorkflows_MouseDown (aus einem vorherigen Commit) las GridViewWorkflows.FocusedRowHandle in eine lokale Variable ein, verwendete sie aber nirgends - hi.RowHandle blieb unverändert ungültig, sodass der Code ohnehin sofort in der nächsten Prüfung (Not hi.InRow) abbrach. Zusätzlich trug die Debug-Zeile fälschlich das Präfix "Item_Scope:" statt "MouseDown:" - offensichtlich ein Kopier-Rest. Anders als in Item_Scope (siehe vorheriger Commit) ist ein FocusedRowHandle-Fallback hier bewusst NICHT sinnvoll: e.Location ist in MouseDown immer die aktuelle Klick-Position (kein Caching-Problem), und InvalidRowHandle ist der normale, erwartete Fall für legitime Nicht-Zeilen-Klicks (Spaltenkopf, leerer Bereich, insb. FilterPanelCloseButton). Ein Fallback auf FocusedRowHandle würde solche Klicks fälschlich der aktuell fokussierten Zeile zuordnen (z.B. Klick auf "Filter schließen" würde plötzlich CURRENT_CLICKED_PROFILE_ID setzen) - neuer Bug statt Fix. Der ursprünglich gemeldete Fehler (Doppelklick auf Gruppenkopf reagiert nicht) ist bereits durch den Fallback in Item_Scope abgedeckt, unabhängig vom Ausgang dieses MouseDown-Aufrufs. Co-Authored-By: Claude Sonnet 5 --- app/TaskFlow/frmMain.vb | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/app/TaskFlow/frmMain.vb b/app/TaskFlow/frmMain.vb index 0e9ead8..3833748 100644 --- a/app/TaskFlow/frmMain.vb +++ b/app/TaskFlow/frmMain.vb @@ -3546,15 +3546,14 @@ Public Class frmMain Dim hi As GridHitInfo = view.CalcHitInfo(e.Location) Dim groupRowButtonClicked = (hi.HitTest = GridHitTest.RowGroupButton) ' ===== UNGÜLTIGE CLICKS ABFANGEN ===== + ' Anders als in Item_Scope ist hier KEIN FocusedRowHandle-Fallback sinnvoll: + ' e.Location ist immer aktuell (kein Caching-Problem), und InvalidRowHandle ist + ' hier der normale Fall für legitime Nicht-Zeilen-Klicks (Spaltenkopf, leerer + ' Bereich, FilterPanelCloseButton). Ein Fallback würde solche Klicks fälschlich + ' der aktuell fokussierten Zeile zuordnen. If hi.RowHandle = DevExpress.XtraGrid.GridControl.InvalidRowHandle Then - Dim focused = GridViewWorkflows.FocusedRowHandle - If focused <> DevExpress.XtraGrid.GridControl.InvalidRowHandle Then - LOGGER.Debug($"Item_Scope: hitInfo invalid, falling back to FocusedRowHandle [{focused}]") - ' hitInfo/rowHandle entsprechend neu aufbauen - Else - LOGGER.Warn("⚠️ MouseDown: InvalidRowHandle - ignoring click") - Exit Sub - End If + LOGGER.Debug("MouseDown: InvalidRowHandle - ignoring click") + Exit Sub End If If Not hi.InRow Then