Fix: Toten Pseudo-Fallback in GridViewWorkflows_MouseDown entfernt

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 <noreply@anthropic.com>
This commit is contained in:
Developer01
2026-08-11 15:25:34 +02:00
parent d8eb019d01
commit d086590eed

View File

@@ -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