From 69c95dda5a821b6defcbbd59964f31f40fdb2300 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Thu, 18 Dec 2014 02:37:02 -0600 Subject: [PATCH] Fix previous commit 1d327fd1dcd34023a3d5bb2c0ee7524593d44015. Commit 1d327fd1dcd34023a3d5bb2c0ee7524593d44015 moved a function from the .cc file into the .h file and made it inline. Subtly, it also snuck in a small change in the code: it changed if (!something) { ... } if (something) into if (!something) { ... } else The problem is that the first code block in rare circumstances changed the value of the variable something. It is remarkable that this only triggered in a single test in the testsuite -- an indication that the testsuite is after all reasonably good at finding even obscure problems, but also an indication that the anisotropic refinement stuff is not particularly well tested. --- include/deal.II/grid/tria_objects.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/deal.II/grid/tria_objects.h b/include/deal.II/grid/tria_objects.h index 8b377e42b4..fd2554ed33 100644 --- a/include/deal.II/grid/tria_objects.h +++ b/include/deal.II/grid/tria_objects.h @@ -1,6 +1,6 @@ // --------------------------------------------------------------------- // -// Copyright (C) 2006 - 2013 by the deal.II authors +// Copyright (C) 2006 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -975,7 +975,8 @@ namespace internal else next_free_single=pos+1; } - else + + if (reverse_order_next_free_single) { // second sweep, use all slots, even // in pairs -- 2.39.5