Fix View Options popup not responding to clicks
Remove duplicate popup rendering from render_vertical_tabs_panel. The popup was rendered both inside the panel's stack AND at the workspace level in a Dismiss overlay, causing event dispatch conflicts due to shared MouseStateHandle instances between the two identical popup trees.
This commit is contained in:
@@ -1448,23 +1448,10 @@ fn render_vertical_tabs_panel(
|
||||
.with_child(Shrinkable::new(1., scrollable_groups).finish())
|
||||
.finish();
|
||||
|
||||
let panel_with_popup: Box<dyn Element> = if state.show_settings_popup {
|
||||
let popup = render_settings_popup(state, app);
|
||||
let mut stack = Stack::new().with_child(panel_content);
|
||||
stack.add_positioned_overlay_child(
|
||||
popup,
|
||||
OffsetPositioning::offset_from_save_position_element(
|
||||
VERTICAL_TABS_SETTINGS_BUTTON_POSITION_ID,
|
||||
vec2f(0., 4.),
|
||||
PositionedElementOffsetBounds::WindowByPosition,
|
||||
PositionedElementAnchor::BottomLeft,
|
||||
ChildAnchor::TopLeft,
|
||||
),
|
||||
);
|
||||
stack.finish()
|
||||
} else {
|
||||
panel_content
|
||||
};
|
||||
// Note: the settings popup is rendered at the workspace level (in a Dismiss overlay)
|
||||
// rather than here, to ensure proper click-outside-to-dismiss behavior and avoid
|
||||
// event dispatch conflicts from duplicate popup rendering with shared mouse states.
|
||||
let panel_with_popup: Box<dyn Element> = panel_content;
|
||||
|
||||
let drag_side = match side {
|
||||
super::PanelPosition::Left => DragBarSide::Right,
|
||||
|
||||
Reference in New Issue
Block a user