int is_paused; /* 1 is paused, 0 is resumed */
double sleep_at;
+ unsigned int updated_in_pause;
+
int is_lb_show;
int is_pd_show;
int is_lb_updated;
}
if (!IS_LB_SHOWN(item)) {
- DbgPrint("%s is not shown yet. delaying updates\n", item->inst->item->pkgname);
+ DbgPrint("%s is not shown yet. make delay for updates\n", item->inst->item->pkgname);
(void)append_pending_list(item);
return ECORE_CALLBACK_RENEW;
}
+ if (item->is_paused) {
+ item->updated_in_pause++;
+ DbgPrint("%s is paused[%d]. make delay for updating\n", item->inst->item->pkgname, item->updated_in_pause);
+ return ECORE_CALLBACK_RENEW;
+ }
+
+ item->updated_in_pause = 0;
+
ret = so_is_updated(item->inst);
if (ret <= 0) {
if (so_need_to_destroy(item->inst) == NEED_TO_DESTROY) {
timer_thaw(item);
lb_sys_event(item->inst, item, LB_SYS_EVENT_RESUMED);
+
+ if (item->updated_in_pause) {
+ (void)append_pending_list(item);
+ item->updated_in_pause = 0;
+ }
}
}
timer_thaw(item);
lb_sys_event(inst, item, LB_SYS_EVENT_RESUMED);
+
+ if (item->updated_in_pause) {
+ (void)append_pending_list(item);
+ item->updated_in_pause = 0;
+ }
+
return LB_STATUS_SUCCESS;
}