Check dynamic casts for null.
This commit is contained in:
+52
-50
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user