diff --git a/src/db/db/dbHierProcessor.cc b/src/db/db/dbHierProcessor.cc index 09a7d2f85..7a55bbecf 100644 --- a/src/db/db/dbHierProcessor.cc +++ b/src/db/db/dbHierProcessor.cc @@ -2229,16 +2229,16 @@ local_processor::run_flat (const generic_shape_iterator &subject db::Coord dist = op->dist (); - db::Box subjects_box = safe_box_enlarged (subjects.bbox (), dist - 1, dist - 1); + db::Box subjects_box = safe_box_enlarged (subjects.bbox (), dist, dist); db::Box intruders_box; for (typename std::vector >::const_iterator il = intruders.begin (); il != intruders.end (); ++il) { intruders_box += il->bbox (); } - intruders_box = safe_box_enlarged (intruders_box, dist - 1, dist - 1); + intruders_box = safe_box_enlarged (intruders_box, dist, dist); db::Box common_box = intruders_box & subjects_box; - if (common_box.empty ()) { + if (common_box.empty () || common_box.width () == 0 || common_box.height () == 0) { if (needs_isolated_subjects) { for (generic_shape_iterator is = subjects; ! is.at_end (); ++is) { @@ -2249,6 +2249,8 @@ local_processor::run_flat (const generic_shape_iterator &subject } else { + common_box = safe_box_enlarged (common_box, -1, -1); + if (needs_isolated_subjects) { unaddressable_shape_delivery is (subjects);