Bug 562771 – The clock is inaccurate
Fix the clock to update exactly on the minute, rather than at a random time within the minute. Patch from RainCT (Siegfried Gevatter) svn path=/trunk/; revision=98
This commit is contained in:
parent
7b471645f4
commit
dd4db82475
@ -94,8 +94,8 @@ Panel.prototype = {
|
|||||||
|
|
||||||
global.stage.add_actor(this._group);
|
global.stage.add_actor(this._group);
|
||||||
|
|
||||||
|
// Start the clock
|
||||||
this._updateClock();
|
this._updateClock();
|
||||||
this._startClock();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// Struts determine the area along each side of the screen that is reserved
|
// Struts determine the area along each side of the screen that is reserved
|
||||||
@ -122,19 +122,20 @@ Panel.prototype = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_startClock: function() {
|
|
||||||
let me = this;
|
|
||||||
// TODO: this makes the clock updated every 60 seconds, but not necessarily on the minute, so it is inaccurate
|
|
||||||
Mainloop.timeout_add_seconds(60,
|
|
||||||
function() {
|
|
||||||
me._updateClock();
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateClock: function() {
|
_updateClock: function() {
|
||||||
this._clock.set_text(new Date().toLocaleFormat("%H:%M"));
|
let me = this;
|
||||||
return true;
|
let display_date = new Date();
|
||||||
|
let msec_remaining = 60000 - (1000 * display_date.getSeconds() +
|
||||||
|
display_date.getMilliseconds());
|
||||||
|
if (msec_remaining < 500) {
|
||||||
|
display_date.setMinutes(display_time.getMinutes() + 1);
|
||||||
|
msec_remaining += 60000;
|
||||||
|
}
|
||||||
|
this._clock.set_text(display_date.toLocaleFormat("%H:%M"));
|
||||||
|
Mainloop.timeout_add(msec_remaining, function() {
|
||||||
|
me._updateClock();
|
||||||
|
return false;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
overlayHidden: function() {
|
overlayHidden: function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user