Re: glib: GTimer patch for elapsed time
- From: Owen Taylor <otaylor redhat com>
- To: Gavin Baker <gavinb antonym org>
- Cc: gtk-devel-list gnome org
- Subject: Re: glib: GTimer patch for elapsed time
- Date: Tue, 16 Jul 2002 12:36:31 -0400 (EDT)
Gavin Baker <gavinb antonym org> writes:
> Greetings,
>
> On Wed, 2002-07-10 at 09:55, Owen Taylor wrote:
> >
> > Gavin Baker <gavinb antonym org> writes:
> > > [...]
> > > The GTimer in glib resets the clock at each call to gtk_timer_start().
> > > Thus it is incapable of tracking true elapsed time across consecutive
> > > calls to start-stop. This rather defeats the purpose of having a timer
> > > object, since you then have to implement elapsed time tracking yourself.
> > > [...]
> >
> > This isn't a change we can make.
> >
> > http://developer.gnome.org/doc/API/2.0/glib/glib-timers.html#g-timer-start
> >
> > Describes the current behavior, and even if it didn't people would
> > be very likely relying on the current behavior. An incompatible change
> > could only be made for GLib-3.0, and even then we try very hard
> > to avoid incompatible changes, or to make them in a way that is
> > caught by the compiler.
>
> Ok; understand. (I'll keep that in mind for future patching too!) I
> have a clean solution now...
>
> > On the other hand adding a g_timer_continue() that doesn't reset the
> > timer to zero sounds reasonable to me.
>
> I have rewritten the patch. The existing behaviour is not changed. I
> have added code to g_timer_stop() to accumulate the total elapsed time,
> and I have added a new function called g_timer_total_elapsed() that will
> return the true elapsed time (between start-stop calls) since the last
> g_timer_reset() (instead of modifying g_timer_elapsed()).
>
> I also added g_timer_is_active() to return whether or not the timer is
> running. In the process, I also added docstrings for all the functions,
> that are consistent with the API reference on the web. I can update the
> web reference if someone tells me where the source lives.
>
> I have tested and verified that it works according to both the old and
> the new ways. Is this ok? Shall I file this in bugzilla?
Filing patches in bugzilla is the best way to make sure they don't
get lost.
Isn't it a little confusing to introduce the idea of a GTimer containing
two different times; the current elapsed time and the total elapsed
time?
That's why I suggested g_timer_continue() ... it seems to me to keep
model simple.
Regards,
Owen
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]