Bugfix: Fix crash on '[class="i3bar"] focus' (+test) (Thanks f8l)

Fixes #575
This commit is contained in:
Michael Stapelberg 2011-11-26 22:17:34 +00:00
parent 629ac57efb
commit 31acb91d90
2 changed files with 25 additions and 0 deletions

View File

@ -450,6 +450,10 @@ focus:
int count = 0;
TAILQ_FOREACH(current, &owindows, owindows) {
Con *ws = con_get_workspace(current->con);
/* If no workspace could be found, this was a dock window.
* Just skip it, you cannot focus dock windows. */
if (!ws)
continue;
/* If the container is not on the current workspace,
* workspace_show() will switch to a different workspace and (if

View File

@ -0,0 +1,21 @@
#!perl
# vim:ts=4:sw=4:expandtab
#
# Regression test: Focusing a dock window should just do nothing, not crash i3.
# See ticket http://bugs.i3wm.org/575
# Wrong behaviour manifested itself up to (including) commit
# 340592a532b5259c3a3f575de5a9639fad4d1459
#
use i3test;
fresh_workspace;
my $window = open_window(
window_type => $x->atom(name => '_NET_WM_WINDOW_TYPE_DOCK'),
);
cmd '[title="' . $window->name . '"] focus';
does_i3_live;
done_testing;