- Item * it =dynamic_cast<Item*>(unsmob_element (gh_car (s)));
- if (it && it->broken_b ())
- {
- it->find_prebroken_piece (LEFT) ->suicide ();
- it->find_prebroken_piece (RIGHT)->suicide ();
- }
- it->suicide ();
+ Item *r = dynamic_cast<Item *> (elts[i]);
+ if (!r)
+ continue;
+
+ if (Separation_item::width (r).is_empty ())
+ continue;
+
+ Item *rb
+ = dynamic_cast<Item *> (r->find_prebroken_piece (LEFT));
+
+ find_rods (r, elts, i - 1, padding);
+ if (rb)
+ find_rods (rb, elts, i - 1, padding);