Repository navigation
info-window: build the context menu - #198
Merged
Merged
Conversation
InfoWindow creates and attaches a Menu but never calls update_menu(),
so the popover menu is never built. Right-clicking the information
window raises:
menu.rb:69:in 'Rabbit::Menu#toggle': undefined method 'visible?' for nil (NoMethodError)
Build the menu after the window is set up, and rebuild it when the
source is re-parsed so that the "Jump to" items follow the slides.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
|
Good catch. |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Right-clicking the information window crashes Rabbit:
InfoWindowcallsinit_menuandattach_menu, but it never callsupdate_menu(). SoMenu#update_menu, which creates@popover_menu, never runs for the information window. The main window's renderer does call it, frompost_parse,post_apply_themeand similar hooks.This change calls
update_menuat the end ofinit_window, after the grid is added, becauseMenu#update_menuuses@window.child. It also calls it inparsed, so the "Jump to" items follow the re-parsed slides.Tested with Rabbit 4.0.1 on Ruby 4.0.7, Ruby-GNOME 4.3.9, GTK 3.24.52 and Hyprland (XWayland): the context menu now opens in the information window.
test/run-test.rbgives the same result as main (oneBlockDiagTestfailure because blockdiag isn't installed here).🤖 Generated with Claude Code