fix crashing when doing a directional focus with no windows on the desktop
This commit is contained in:
parent
52d751ecd6
commit
0855269035
1 changed files with 12 additions and 4 deletions
|
@ -280,8 +280,12 @@ void focus_cycle(gboolean forward, gboolean linear,
|
||||||
goto done_cycle;
|
goto done_cycle;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!first) first = focus_client;
|
if (!focus_order[screen_desktop])
|
||||||
if (!focus_cycle_target) focus_cycle_target = focus_client;
|
goto done_cycle;
|
||||||
|
|
||||||
|
if (!first) first = focus_order[screen_desktop]->data;
|
||||||
|
if (!focus_cycle_target) focus_cycle_target =
|
||||||
|
focus_order[screen_desktop]->data;
|
||||||
|
|
||||||
if (linear) list = client_list;
|
if (linear) list = client_list;
|
||||||
else list = focus_order[screen_desktop];
|
else list = focus_order[screen_desktop];
|
||||||
|
@ -352,8 +356,12 @@ void focus_directional_cycle(ObDirection dir,
|
||||||
goto done_cycle;
|
goto done_cycle;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!first) first = focus_client;
|
if (!focus_order[screen_desktop])
|
||||||
if (!focus_cycle_target) focus_cycle_target = focus_client;
|
goto done_cycle;
|
||||||
|
|
||||||
|
if (!first) first = focus_order[screen_desktop]->data;
|
||||||
|
if (!focus_cycle_target) focus_cycle_target =
|
||||||
|
focus_order[screen_desktop]->data;
|
||||||
|
|
||||||
if ((ft = client_find_directional(focus_cycle_target, dir))) {
|
if ((ft = client_find_directional(focus_cycle_target, dir))) {
|
||||||
if (ft != focus_cycle_target) {/* prevents flicker */
|
if (ft != focus_cycle_target) {/* prevents flicker */
|
||||||
|
|
Loading…
Reference in a new issue