SpecialFolder::~SpecialFolder() { // delete_the pidl-list and it's contents delete_pidl_list(&m_pidl_list); free_str(&m_pszExtra); // note: the drop-target is unregistered in the 'Menu' destructor }
void del_item(Item *item, bool is_file) { if (is_file) { struct pidl_node *pidl = (struct pidl_node *)item->data; delete_pidl_list(&pidl); if (item->hIcon) DestroyIcon(item->hIcon); } delete item; }
void ClearFolder(Folder *pFolder) { Item *item = pFolder->items; while (item) { Item* next = item->next; del_item(item, MODE_FOLDER == pFolder->mode); item = next; } pFolder->items = NULL; if (pFolder->id_notify) { remove_change_notify_entry(pFolder->id_notify); pFolder->id_notify = 0; } delete_pidl_list(&pFolder->pidl_list); }
MenuItem::~MenuItem() { UnlinkSubmenu(); if (m_pRightmenu) m_pRightmenu->decref(); free_str(&m_pszTitle); free_str(&m_pszCommand); free_str(&m_pszRightCommand); delete_pidl_list(&m_pidl_list); //#ifdef BBOPT_MENUICONS free_str(&m_pszIcon); if (m_hIcon) DestroyIcon(m_hIcon); //#endif --g_menu_item_count; }
SpecialFolderItem::~SpecialFolderItem() { delete_pidl_list(&m_pidl_list); free_str(&m_pszPath); free_str(&m_pszExtra); }