Merge branch 'master' into next

This commit is contained in:
Michael Stapelberg 2011-11-26 22:18:01 +00:00
commit f5dce848b8
2 changed files with 25 additions and 0 deletions

View File

@ -450,6 +450,10 @@ focus:
int count = 0; int count = 0;
TAILQ_FOREACH(current, &owindows, owindows) { TAILQ_FOREACH(current, &owindows, owindows) {
Con *ws = con_get_workspace(current->con); 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, /* If the container is not on the current workspace,
* workspace_show() will switch to a different workspace and (if * 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;