widget_instance_destroy(info->widget_id, info->instance_id);
evas_object_data_del(layout, WIDGET_INFO_TAG);
+ g_hash_table_remove(s_info.widget_table, info->instance_id);
info->layout = NULL;
+ if (info->event_queue) {
+ g_queue_free(info->event_queue);
+ info->event_queue = NULL;
+ }
+
free(info->widget_id);
free(info->instance_id);
- free(info->content_info);
- bundle_free(info->b);
+ bundle_free(info->content_info_bundle);
free(info);
}
{
struct widget_info *info;
int ret = 0;
+ Evas_Object *pepper_obj;
- if (!is_widget_feature_enabled())
+ if (!is_widget_feature_enabled()) {
return WIDGET_ERROR_NOT_SUPPORTED;
+ }
if (!s_info.initialized) {
- ErrPrint("widget viewer evas is not initialized\n");
+ ErrPrint("widget viewer evas is not initialized");
return WIDGET_ERROR_FAULT;
}
return WIDGET_ERROR_INVALID_PARAMETER;
}
+ pepper_obj = elm_object_part_content_get(widget, "pepper,widget");
+ if (!pepper_obj) {
+ ErrPrint("widget object is invalid\n");
+ return WIDGET_ERROR_INVALID_PARAMETER;
+ }
+
if (status == WIDGET_VISIBILITY_STATUS_SHOW_FIXED) {
- ret = widget_instance_resume(info->widget_id, info->instance_id);
+ ret = _compositor_freeze_visibility(pepper_obj, VISIBILITY_TYPE_UNOBSCURED);
if (ret < 0) {
- ErrPrint("Fail to resume the widget(%p):(%d)\n", widget, ret);
+ ErrPrint("Fail to resume the widget(%p):(%d)", widget, ret);
return ret;
}
info->visibility_freeze = status;
} else if (status == WIDGET_VISIBILITY_STATUS_HIDE_FIXED) {
- ret = widget_instance_pause(info->widget_id, info->instance_id);
+ ret = _compositor_freeze_visibility(pepper_obj, VISIBILITY_TYPE_FULLY_OBSCURED);
if (ret < 0) {
- ErrPrint("Fail to pause the widget(%p):(%d)\n", widget, ret);
+ ErrPrint("Fail to pause the widget(%p):(%d)", widget, ret);
return ret;
}
info->visibility_freeze = status;