}
}
+static void __set_faulted(const char *instance_id)
+{
+ struct widget_info *info;
+
+ info = g_hash_table_lookup(s_info.widget_table, instance_id);
+ if (!info) {
+ aul_widget_write_log(LOG_TAG, "[%s:%d] fail to find info (%s)",
+ __FUNCTION__, __LINE__, instance_id);
+ return;
+ }
+ aul_widget_write_log(LOG_TAG, "[%s:%d] set faulted for (%s)",
+ __FUNCTION__, __LINE__, info->instance_id);
+ info->pid = -1;
+ info->is_faulted = true;
+ __display_overlay_text(info);
+}
+
static int __clear_launch_waiting(char *instance_id)
{
struct widget_info *info;
LOGW("Timeout called !! %s", instance_id);
__clear_launch_waiting(instance_id);
+ __set_faulted(instance_id);
__launch_instance();
return G_SOURCE_REMOVE;
}
event_info.error = WIDGET_ERROR_FAULT;
event_info.event = WIDGET_FAULT_DEACTIVATED;
smart_signal = WIDGET_SMART_SIGNAL_WIDGET_FAULTED;
- info->pid = -1;
info->state = WIDGET_STATE_DETACHED;
- info->is_faulted = true;
- __display_overlay_text(info);
+ __set_faulted(info->instance_id);
break;
case WIDGET_INSTANCE_EVENT_CREATE_ABORTED:
LOGW("widget aborted (%s)", instance_id);
event_info.error = err;
event_info.event = WIDGET_EVENT_CREATED;
smart_signal = WIDGET_SMART_SIGNAL_WIDGET_CREATE_ABORTED;
- info->pid = -1;
- info->is_faulted = true;
- __display_overlay_text(info);
+ __set_faulted(info->instance_id);
break;
default:
/* unhandled event */