From d390c065518bfd467544eb5e4c699258c616287a Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Wed, 4 Jan 2012 18:11:12 -0500 Subject: [PATCH] PoseView: Fix assertion in InitDirentIterator The dynamic_cast was called twice, and the assert was done on the first attempt. Now it just cast once, assert on this and pass it further as before. CID 3122. --- src/kits/tracker/PoseView.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index d5f6543567..bd4d11323d 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -1063,10 +1063,11 @@ BPoseView::InitDirentIterator(const entry_ref *ref) ASSERT(!sourceModel.IsQuery()); ASSERT(sourceModel.Node()); - ASSERT(dynamic_cast(sourceModel.Node())); - EntryListBase *result = new CachedDirectoryEntryList( - *dynamic_cast(sourceModel.Node())); + BDirectory *directory = dynamic_cast(sourceModel.Node()); + ASSERT(directory); + + EntryListBase *result = new CachedDirectoryEntryList(*directory); if (result->Rewind() != B_OK) { delete result;