CodeEditApp / CodeEditApp/CodeEditSourceEditor

MinimapView hitTest ignores isHidden, intercepts clicks when minimap is hidden

Aberta
#370 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Swift
Estrelas
719
Forks
160
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

## Description

When `showMinimap` is set to `false` in `SourceEditorConfiguration`, the `MinimapView` is hidden via `isHidden = true`. However, clicks on the right ~140px of the editor are still intercepted by the hidden minimap, preventing cursor placement in that area.

## Root Cause

`MinimapView.hitTest(_:)` overrides `NSView.hitTest` but does not check `isHidden`:

```swift
override public func hitTest(_ point: NSPoint) -> NSView? {
guard let point = superview?.convert(point, to: self) else { return nil }
// ...
}
```

Combined with the empty `mouseDown` override:
```swift
override public func mouseDown(with event: NSEvent) { }
```

This means the hidden minimap silently swallows all click events in its frame area.

## Steps to Reproduce

1. Create a `SourceEditor` with `peripherals: .init(showMinimap: false)`
2. Open any text file
3. Try to click on the right portion of the editor (where the minimap would normally be)
4. The cursor does not move — the click is eaten by the hidden minimap

## Expected Behavior

When `showMinimap: false`, clicks should pass through to the underlying text view.

## Suggested Fix

Add an `isHidden` guard at the top of `hitTest`:

```swift
override public func hitTest(_ point: NSPoint) -> NSView? {
guard !isHidden else { return nil }
guard let point = superview?.convert(point, to: self) else { return nil }
// ...
}
```

## Environment

- CodeEditSourceEditor v0.15.2
- macOS 15.5, Apple Silicon

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.