bugfix: don’t clean up workspace when switching to the same workspace

This commit is contained in:
Michael Stapelberg 2010-05-09 23:20:49 +02:00
parent 0a04ed618b
commit 65e9036837
2 changed files with 8 additions and 1 deletions

View File

@ -101,6 +101,8 @@ void workspace_show(const char *num) {
old = con_get_workspace(focused); old = con_get_workspace(focused);
workspace = workspace_get(num); workspace = workspace_get(num);
if (workspace == old)
return;
workspace->fullscreen_mode = CF_OUTPUT; workspace->fullscreen_mode = CF_OUTPUT;
/* disable fullscreen */ /* disable fullscreen */
TAILQ_FOREACH(current, &(workspace->parent->nodes_head), nodes) TAILQ_FOREACH(current, &(workspace->parent->nodes_head), nodes)

View File

@ -4,7 +4,7 @@
# Tests whether we can switch to a non-existant workspace # Tests whether we can switch to a non-existant workspace
# (necessary for further tests) # (necessary for further tests)
# #
use i3test tests => 2; use i3test tests => 3;
use v5.10; use v5.10;
my $i3 = i3("/tmp/nestedcons"); my $i3 = i3("/tmp/nestedcons");
@ -33,4 +33,9 @@ diag("Other temporary workspace name: $otmp\n");
$i3->command("workspace $otmp")->recv; $i3->command("workspace $otmp")->recv;
ok(!workspace_exists($tmp), 'old workspace cleaned up'); ok(!workspace_exists($tmp), 'old workspace cleaned up');
# Switch to the same workspace again to make sure it doesnt get cleaned up
$i3->command("workspace $otmp")->recv;
$i3->command("workspace $otmp")->recv;
ok(workspace_exists($otmp), 'other workspace still exists');
diag( "Testing i3, Perl $], $^X" ); diag( "Testing i3, Perl $], $^X" );