fix
This commit is contained in:
@@ -161,11 +161,12 @@ module BBS
|
||||
|
||||
def dispatch(event)
|
||||
# An open menubar has priority — its keys (arrows, Enter, hotkeys, Esc)
|
||||
# must beat any modal window's focused widget.
|
||||
# must beat any modal window's focused widget. Always swallow events
|
||||
# while the menu is open so they cannot leak through to windows.
|
||||
if @menubar&.open?
|
||||
result = @menubar.handle_event(event)
|
||||
return :halt if result == :halt
|
||||
return nil if result
|
||||
return nil
|
||||
end
|
||||
|
||||
# Modal windows: top window gets first shot at events
|
||||
|
||||
@@ -91,8 +91,11 @@ module BBS
|
||||
end
|
||||
|
||||
def handle_event(event)
|
||||
return open_via_keyboard(event) if !open? && event.key?
|
||||
return navigate(event) if open?
|
||||
return navigate(event) if open?
|
||||
return open_via_keyboard(event) if event.key?
|
||||
if event.mouse? && event.mouse.kind == :press && event.mouse.button == :left
|
||||
return handle_mouse_press(event)
|
||||
end
|
||||
nil
|
||||
end
|
||||
|
||||
@@ -142,9 +145,6 @@ module BBS
|
||||
return :handled
|
||||
end
|
||||
end
|
||||
if event.mouse? && event.mouse.kind == :press && event.mouse.button == :left
|
||||
return handle_mouse_press(event)
|
||||
end
|
||||
nil
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user