diff --git a/src/kits/interface/Layout.cpp b/src/kits/interface/Layout.cpp index 0ccac960ac..0e318fb55c 100644 --- a/src/kits/interface/Layout.cpp +++ b/src/kits/interface/Layout.cpp @@ -251,10 +251,14 @@ BLayout::IndexOfItem(const BLayoutItem* item) const int32 BLayout::IndexOfView(BView* child) const { + if (child == NULL) + return -1; + int itemCount = fItems.CountItems(); for (int32 i = 0; i < itemCount; i++) { BLayoutItem* item = (BLayoutItem*)fItems.ItemAt(i); - if (dynamic_cast(item) && item->View() == child) + if (item->View() == child && (dynamic_cast(item) + || dynamic_cast(item))) return i; }