Merge remote-tracking branch 'refs/remotes/origin/master'
This commit is contained in:
commit
db6fa8bf86
@ -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).
|
||||
|
||||
@ -278,7 +278,8 @@ enum Fl_Tree_Reason {
|
||||
FL_TREE_REASON_NONE=0, ///< unknown reason
|
||||
FL_TREE_REASON_SELECTED, ///< an item was selected
|
||||
FL_TREE_REASON_DESELECTED, ///< an item was de-selected
|
||||
FL_TREE_REASON_RESELECTED, ///< an item was re-selected (e.g. double-clicked)
|
||||
FL_TREE_REASON_RESELECTED, ///< an item was re-selected (double-clicked).
|
||||
///< See ::Fl_Tree_Item_Reselect_Mode to enable this.
|
||||
FL_TREE_REASON_OPENED, ///< an item was opened
|
||||
FL_TREE_REASON_CLOSED, ///< an item was closed
|
||||
FL_TREE_REASON_DRAGGED ///< an item was dragged into a new place
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -135,6 +135,8 @@ void Fl_Pack::draw() {
|
||||
th += Fl::box_dh(box()); if (th <= 0) th = 1;
|
||||
if (tw != w() || th != h()) {
|
||||
Fl_Widget::resize(x(),y(),tw,th);
|
||||
Fl_Group *parent = this->parent();
|
||||
if (parent) parent->init_sizes();
|
||||
d = FL_DAMAGE_ALL;
|
||||
}
|
||||
if (d&FL_DAMAGE_ALL) {
|
||||
|
||||
@ -635,6 +635,7 @@ const char *Fl_X11_Screen_Driver::get_system_scheme()
|
||||
|
||||
void Fl_X11_Screen_Driver::add_timeout(double time, Fl_Timeout_Handler cb, void *argp) {
|
||||
elapse_timeouts();
|
||||
missed_timeout_by = 0;
|
||||
repeat_timeout(time, cb, argp);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user