Check dynamic casts for null.

This commit is contained in:
Jim Evins
2018-01-02 03:03:59 -05:00
parent b2859d47bb
commit 26f10d7faf
+52 -50
View File
@@ -63,38 +63,39 @@ namespace glabels
{
foreach ( QListWidgetItem *item, findItems( "*", Qt::MatchWildcard ) )
{
auto *tItem = dynamic_cast<TemplatePickerItem *>(item);
bool nameMask = tItem->tmplate()->name().contains( searchString, Qt::CaseInsensitive );
bool sizeMask =
(isoMask && tItem->tmplate()->isSizeIso()) ||
(usMask && tItem->tmplate()->isSizeUs()) ||
(otherMask && tItem->tmplate()->isSizeOther());
bool categoryMask;
if ( anyCategory )
if (auto *tItem = dynamic_cast<TemplatePickerItem *>(item))
{
categoryMask = true;
}
else
{
categoryMask = false;
foreach ( QString id, categoryIds )
bool nameMask = tItem->tmplate()->name().contains( searchString, Qt::CaseInsensitive );
bool sizeMask =
(isoMask && tItem->tmplate()->isSizeIso()) ||
(usMask && tItem->tmplate()->isSizeUs()) ||
(otherMask && tItem->tmplate()->isSizeOther());
bool categoryMask;
if ( anyCategory )
{
categoryMask = categoryMask || tItem->tmplate()->hasCategory( id );
categoryMask = true;
}
else
{
categoryMask = false;
foreach ( QString id, categoryIds )
{
categoryMask = categoryMask || tItem->tmplate()->hasCategory( id );
}
}
}
if ( nameMask && sizeMask && categoryMask )
{
item->setHidden( false );
}
else
{
item->setHidden( true );
item->setSelected( false );
if ( nameMask && sizeMask && categoryMask )
{
item->setHidden( false );
}
else
{
item->setHidden( true );
item->setSelected( false );
}
}
}
}
@@ -107,26 +108,27 @@ namespace glabels
{
foreach ( QListWidgetItem *item, findItems( "*", Qt::MatchWildcard ) )
{
auto *tItem = dynamic_cast<TemplatePickerItem *>(item);
bool match = false;
foreach ( QString name, names )
if (auto *tItem = dynamic_cast<TemplatePickerItem *>(item))
{
if ( tItem->tmplate()->name() == name )
bool match = false;
foreach ( QString name, names )
{
match = true;
break;
if ( tItem->tmplate()->name() == name )
{
match = true;
break;
}
}
}
if ( match )
{
item->setHidden( false );
}
else
{
item->setHidden( true );
item->setSelected( false );
if ( match )
{
item->setHidden( false );
}
else
{
item->setHidden( true );
item->setSelected( false );
}
}
}
}
@@ -138,15 +140,15 @@ namespace glabels
const model::Template *TemplatePicker::selectedTemplate()
{
QList<QListWidgetItem *> items = selectedItems();
if ( items.isEmpty() )
if ( !items.isEmpty() )
{
return nullptr;
}
else
{
auto *tItem = dynamic_cast<TemplatePickerItem*>(items.first());
return tItem->tmplate();
if (auto *tItem = dynamic_cast<TemplatePickerItem*>(items.first()))
{
return tItem->tmplate();
}
}
return nullptr;
}
} // namespace glabels