CComponentsHeader: ensure clean object on reinit

Items were destroyed with simple call of delete
but not removed from item collection.
removeCCItem() does this and destroys item objects too.
This commit is contained in:
2016-09-24 00:14:35 +02:00
parent 3af698701b
commit b205b0c8d0

View File

@@ -86,6 +86,7 @@ void CComponentsHeader::initVarHeader( const int& x_pos, const int& y_pos, const
fb_pixel_t color_shadow)
{
cc_item_type = CC_ITEMTYPE_FRM_HEADER;
clear();
cc_txt_save_screen = false;
x = x_old = x_pos;
y = y_old = y_pos;
@@ -194,7 +195,7 @@ void CComponentsHeader::setIcon(const char* icon_name)
void CComponentsHeader::setIcon(const std::string& icon_name)
{
cch_icon_name = icon_name;
cch_icon_name = icon_name;
initIcon();
}
@@ -203,10 +204,8 @@ void CComponentsHeader::initIcon()
//init cch_icon_obj only if an icon available
if (cch_icon_name.empty()) {
cch_icon_w = 0;
if (cch_icon_obj){
delete cch_icon_obj;
cch_icon_obj = NULL;
}
if (cch_icon_obj)
removeCCItem(cch_icon_obj);
return;
}