ad->is_datefield_selected = EINA_TRUE;
+ if (ad->update_timer) {
+ ecore_timer_reset(ad->update_timer);
+ ecore_timer_freeze(ad->update_timer);
+ }
+
// If auto update is on, don't anything while the datefield has been updated (i.e., time runs)
if (1 == setting_time_check_automatic_time_update_state()) {
SETTING_TRACE("AUTO_TIME ON: no action");
+ if (ad->update_timer) {
+ ecore_timer_thaw(ad->update_timer);
+ }
SETTING_TRACE_END;
return;
} else {
if (2037 < _tm.tm_year) {
setting_create_simple_popup(ad, ad->win_get,
NULL, _(ERR_BIGGER_THAN_2037));
+ if (ad->update_timer) {
+ ecore_timer_thaw(ad->update_timer);
+ }
return;
}
#if SUPPORT_SCREEN_PROTECTED /* if not lock the current state, after set the time, the screen will become dimmed */
} else {
// error
SETTING_TRACE_ERROR("get_timezone_isdst() failed");
+ if (ad->update_timer) {
+ ecore_timer_thaw(ad->update_timer);
+ }
return;
}
{
SETTING_TRACE("Time is not changed\n");
//current time didn't change
+ if (ad->update_timer) {
+ ecore_timer_thaw(ad->update_timer);
+ }
return;
}
// invoke API to change time
int ret = sysman_set_datetime(the_time);
+
+ if (ad->update_timer) {
+ ecore_timer_thaw(ad->update_timer);
+ }
+
setting_retm_if(ret == -1, "sysman_set_datetime call failed");
SETTING_TRACE_END;