This commit is contained in:
ManoloFLTK 2019-12-27 12:27:33 +01:00
commit a234ba7f33
2 changed files with 10 additions and 3 deletions

View File

@ -18,6 +18,8 @@ Changes in FLTK 1.4.0 Released: ??? ?? 2019
New Features and Extensions
- (add new items here)
- Fix Fl::add_timeout() under Linux (STR 3516).
- Fix early timeouts in Fl_Clock seen in some environments (STR 3516).
- Fl_Printer::begin_job() uses by default the Gnome print dialog on the X11
platform when the GTK library is available at run-time. That can be turned off
with Fl::option(OPTION_PRINTER_USES_GTK, false).

View File

@ -212,11 +212,16 @@ static void tick(void *v) {
time_t sec;
int usec;
Fl::system_driver()->gettime(&sec, &usec);
double delta = (1000000 - usec)/1000000.; // time till next second
// if current time is just before full second, show that full second
// and wait one more second (STR 3516)
if (delta < 0.1) {
delta += 1.0;
sec++;
}
((Fl_Clock*)v)->value((ulong)sec);
// schedule timer event slightly later than the next second (+25 ms)
// to prevent multiple timer events if triggered too early (STR 3516)
Fl::add_timeout((1025000 - usec)/1000000., tick, v);
Fl::add_timeout(delta, tick, v);
}
int Fl_Clock::handle(int event) {