We were only doing this if a dialog was showing. But if it's the target, then
a dialog is not relevant, we should always recompute the focus cycling. This
avoids a crash when not using a dialog and closing a window during cycling.
gboolean v, s;
v = focus_cycle_valid(c);
gboolean v, s;
v = focus_cycle_valid(c);
- s = focus_cycle_popup_is_showing(c);
+ s = focus_cycle_popup_is_showing(c) || c == focus_cycle_target;
if (v != s)
focus_cycle_reorder();
if (v != s)
focus_cycle_reorder();