]> sigrok.org Git - pulseview.git/blobdiff - pv/view/header.cpp
Header: Use list_by_type in on_ungroup
[pulseview.git] / pv / view / header.cpp
index 60d64b2f401f2483aad1226dc00e66d62ca54191..be4cebcb26f40b4e23ffe337ebe211a1c745da97 100644 (file)
@@ -198,15 +198,14 @@ void Header::on_ungroup()
        bool restart;
        do {
                restart = false;
-               for (const shared_ptr<TraceTreeItem> r : view_) {
-                       const shared_ptr<TraceGroup> tg =
-                               dynamic_pointer_cast<TraceGroup>(r);
-                       if (tg && tg->selected()) {
+               const vector< shared_ptr<TraceGroup> > groups(
+                       view_.list_by_type<TraceGroup>());
+               for (const shared_ptr<TraceGroup> tg : groups)
+                       if (tg->selected()) {
                                tg->ungroup();
                                restart = true;
                                break;
                        }
-               }
        } while (restart);
 }