GTK4 menu items use the (GtkWidget *)1 sentinel as their id, but gui_mch_menu_hidden() only skipped NULL ids and passed the sentinel to gtk_widget_get_visible(), causing a crash (vim -gf). Skip the sentinel like gui_mch_menu_grey() does.
https://github.com/vim/vim/pull/20523
(1 file)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()
For reference, the crash only happens when guioptions does not contain g (GO_GREY). With the default guioptions ("aegimrLtT"), gui_update_menus_recurse() takes the gui_mch_menu_grey() path, which already skips the (GtkWidget *)1 sentinel, so a plain vim -gf does not crash. Once g is removed (e.g. set guioptions=!C), the gui_mch_menu_hidden() path is taken on the next menu mode update and passes the sentinel to gtk_widget_get_visible(), causing the SEGV. The bug has existed since the GTK4 UI was introduced in 9.2.0501.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()
thanks
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.![]()