projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Put ARDOUR::SystemExec implementation inside ARDOUR namespace in source file
[ardour.git]
/
libs
/
gtkmm2ext
/
idle_adjustment.cc
diff --git
a/libs/gtkmm2ext/idle_adjustment.cc
b/libs/gtkmm2ext/idle_adjustment.cc
index edf5517fffc6807b49810594a09cf17c08a0bae2..6f5fd132947f2bcb08ae1943276f14a9946ee333 100644
(file)
--- a/
libs/gtkmm2ext/idle_adjustment.cc
+++ b/
libs/gtkmm2ext/idle_adjustment.cc
@@
-1,5
+1,5
@@
/*
/*
- Copyright (C) 2000-2007 Paul Davis
+ Copyright (C) 2000-2007 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-33,7
+33,7
@@
IdleAdjustment::IdleAdjustment (Gtk::Adjustment& adj)
{
adj.signal_value_changed().connect (mem_fun (*this, &IdleAdjustment::underlying_adjustment_value_changed));
timeout_queued = 0;
{
adj.signal_value_changed().connect (mem_fun (*this, &IdleAdjustment::underlying_adjustment_value_changed));
timeout_queued = 0;
-
gettimeofday (&last_vc, 0
);
+
last_vc = g_get_monotonic_time(
);
}
IdleAdjustment::~IdleAdjustment ()
}
IdleAdjustment::~IdleAdjustment ()
@@
-43,29
+43,26
@@
IdleAdjustment::~IdleAdjustment ()
void
IdleAdjustment::underlying_adjustment_value_changed ()
{
void
IdleAdjustment::underlying_adjustment_value_changed ()
{
-
gettimeofday (&last_vc, 0
);
-
+
last_vc = g_get_monotonic_time(
);
+
if (timeout_queued) {
return;
}
Glib::signal_timeout().connect(mem_fun(*this, &IdleAdjustment::timeout_handler), 250);
timeout_queued = true;
if (timeout_queued) {
return;
}
Glib::signal_timeout().connect(mem_fun(*this, &IdleAdjustment::timeout_handler), 250);
timeout_queued = true;
-}
+}
gint
IdleAdjustment::timeout_handler ()
{
gint
IdleAdjustment::timeout_handler ()
{
- struct timeval now;
- struct timeval tdiff;
-
- gettimeofday (&now, 0);
-
- timersub (&now, &last_vc, &tdiff);
+ int64_t now, tdiff;
+ now = g_get_monotonic_time();
+ tdiff = now - last_vc;
- std::cerr << "timer elapsed, diff = " << tdiff
.tv_sec << " + " << tdiff.tv_usec
<< std::endl;
+ std::cerr << "timer elapsed, diff = " << tdiff
<< " usec"
<< std::endl;
- if (tdiff
.tv_sec > 0 || tdiff.tv_usec
> 250000) {
+ if (tdiff > 250000) {
std::cerr << "send signal\n";
value_changed ();
timeout_queued = false;
std::cerr << "send signal\n";
value_changed ();
timeout_queued = false;