diff --git a/src/db/db/dbAsIfFlatEdgePairs.cc b/src/db/db/dbAsIfFlatEdgePairs.cc index aa4037f18..29dc42390 100644 --- a/src/db/db/dbAsIfFlatEdgePairs.cc +++ b/src/db/db/dbAsIfFlatEdgePairs.cc @@ -256,11 +256,10 @@ AsIfFlatEdgePairs::filtered_pair (const EdgePairFilterBase &filter) const { std::unique_ptr new_edge_pairs_true (new FlatEdgePairs ()); std::unique_ptr new_edge_pairs_false (new FlatEdgePairs ()); - db::PropertyMapper pm (new_edge_pairs_true->properties_repository (), properties_repository ()); for (EdgePairsIterator p (begin ()); ! p.at_end (); ++p) { - FlatEdgePairs *dest = filter.selected (*p) ? new_edge_pairs_true.get () : new_edge_pairs_false.get (); - insert_ep (dest, *p, pm (p.prop_id ())); + FlatEdgePairs *dest = filter.selected (*p, p.prop_id ()) ? new_edge_pairs_true.get () : new_edge_pairs_false.get (); + insert_ep (dest, *p, p.prop_id ()); } return std::make_pair (new_edge_pairs_true.release (), new_edge_pairs_false.release ()); diff --git a/src/db/db/dbAsIfFlatEdges.cc b/src/db/db/dbAsIfFlatEdges.cc index 8bb36fce2..6ab1eac43 100644 --- a/src/db/db/dbAsIfFlatEdges.cc +++ b/src/db/db/dbAsIfFlatEdges.cc @@ -730,7 +730,7 @@ AsIfFlatEdges::filtered_pair (const EdgeFilterBase &filter) const std::unique_ptr new_region_false (new FlatEdges ()); for (EdgesIterator p (begin_merged ()); ! p.at_end (); ++p) { - if (filter.selected (*p)) { + if (filter.selected (*p, p.prop_id ())) { new_region_true->insert (*p); } else { new_region_false->insert (*p); diff --git a/src/db/db/dbAsIfFlatRegion.cc b/src/db/db/dbAsIfFlatRegion.cc index a3e0dcfb6..f05e76fcd 100644 --- a/src/db/db/dbAsIfFlatRegion.cc +++ b/src/db/db/dbAsIfFlatRegion.cc @@ -440,7 +440,7 @@ AsIfFlatRegion::filtered_pair (const PolygonFilterBase &filter) const std::unique_ptr new_region_false (new FlatRegion ()); for (RegionIterator p (begin_merged ()); ! p.at_end (); ++p) { - if (filter.selected (*p)) { + if (filter.selected (*p, p.prop_id ())) { new_region_true->insert (*p); } else { new_region_false->insert (*p); diff --git a/src/db/db/dbAsIfFlatTexts.cc b/src/db/db/dbAsIfFlatTexts.cc index ba2d0bdf5..6b7f887e9 100644 --- a/src/db/db/dbAsIfFlatTexts.cc +++ b/src/db/db/dbAsIfFlatTexts.cc @@ -178,7 +178,7 @@ AsIfFlatTexts::filtered_pair (const TextFilterBase &filter) const std::unique_ptr new_texts_false (new FlatTexts ()); for (TextsIterator p (begin ()); ! p.at_end (); ++p) { - if (filter.selected (*p)) { + if (filter.selected (*p, p.prop_id ())) { new_texts_true->insert (*p); } else { new_texts_false->insert (*p); diff --git a/src/db/db/dbDeepRegion.cc b/src/db/db/dbDeepRegion.cc index 75f3732d4..3bce3d9f0 100644 --- a/src/db/db/dbDeepRegion.cc +++ b/src/db/db/dbDeepRegion.cc @@ -1660,7 +1660,7 @@ DeepRegion::apply_filter (const PolygonFilterBase &filter, bool with_true, bool for (db::Shapes::shape_iterator si = s.begin (db::ShapeIterator::All); ! si.at_end (); ++si) { db::Polygon poly; si->polygon (poly); - if (filter.selected (poly.transformed (*v), si->prop_id ())) { + if (filter.selected (poly.transformed (tr), si->prop_id ())) { if (st_true) { st_true->insert (*si); } diff --git a/src/db/unit_tests/dbLayoutQueryTests.cc b/src/db/unit_tests/dbLayoutQueryTests.cc index 9ecc708d9..79b059a57 100644 --- a/src/db/unit_tests/dbLayoutQueryTests.cc +++ b/src/db/unit_tests/dbLayoutQueryTests.cc @@ -1596,7 +1596,7 @@ TEST(65) } } -TEST(65) +TEST(66) { db::Layout g; init_layout (g); @@ -1609,6 +1609,6 @@ TEST(65) s = q2s_var (iq, "cell_name"); EXPECT_EQ (s, "c1,c5x"); s = q2s_var (iq, "inst_elements"); - EXPECT_EQ (s, "cell_index=0 r0 *1 10,-20,cell_index=4 r0 *1 10,-20"); + EXPECT_EQ (s, "(cell_index=0 r0 *1 10,-20),(cell_index=4 r0 *1 10,-20)"); } } diff --git a/testdata/algo/dss_bug_au.gds b/testdata/algo/dss_bug_au.gds index 528f82c7c..c8a1f3215 100644 Binary files a/testdata/algo/dss_bug_au.gds and b/testdata/algo/dss_bug_au.gds differ