ret_if(!content_info->content);
ret_if(!attach_panel);
- evas_object_data_del(content_info->content, DATA_KEY_PAGE);
+ int count = 0;
+ Evas_Object *page = evas_object_data_del(content_info->content, DATA_KEY_PAGE);
switch (content_info->innate_content_info->content_category) {
case ATTACH_PANEL_CONTENT_CATEGORY_IMAGE:
case ATTACH_PANEL_CONTENT_CATEGORY_CAMERA:
case ATTACH_PANEL_CONTENT_CATEGORY_VOICE:
case ATTACH_PANEL_CONTENT_CATEGORY_DOCUMENT:
+ elm_object_part_content_unset(page, "content");
_ug_destroy(content_info->content);
break;
default:
+ count = _grid_count_item(attach_panel->grid);
_grid_remove_item(attach_panel->grid, content_info);
- if (!_grid_count_item(attach_panel->grid)) {
+ if (count <= 1) {
_grid_destroy(attach_panel->grid);
attach_panel->grid = NULL;
}
attach_panel = evas_object_data_get(ui_manager, DATA_KEY_ATTACH_PANEL_INFO);
ret_if(!attach_panel);
+ _D("category[%s]", content_info->innate_content_info->name);
_ui_manager_destroy_content(content_info, attach_panel);
- if (content_info->innate_content_info->is_ug
- || !attach_panel->grid) {
- Evas_Object *page = evas_object_data_get(content_info->content, DATA_KEY_PAGE);
- if (page) {
- _page_destroy(page);
- }
+ bool page_removed = false;
+ if (content_info->innate_content_info->is_ug || !attach_panel->grid) {
+ _D("remove page");
_toolbar_remove_item(attach_panel->toolbar, content_info->tabbar_item);
- }
-
- bool ug_removed = false;
- if (content_info->innate_content_info->is_ug) {
_scroller_remove_page(attach_panel->scroller, content_info->page);
- ug_removed = true;
+ if (content_info->page) {
+ _page_destroy(content_info->page);
+ }
+ page_removed = true;
}
attach_panel->content_list = eina_list_remove(attach_panel->content_list, content_info);
free(content_info);
- if (ug_removed) {
+ if (page_removed) {
content_s *ci = NULL;
const Eina_List *l = NULL;
int index = 0;