summaryrefslogtreecommitdiff
path: root/framebuffer/gui.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2010-04-28 22:39:37 +0000
committerVincent Sanders <vince@netsurf-browser.org>2010-04-28 22:39:37 +0000
commit2fd1476f8c99c4d4f6eb114cc7b5f8ac9ab54be4 (patch)
tree8379dd89d75de03107e8db044964dd40d49cbcfa /framebuffer/gui.c
parent085f6b33ecbc5642c8c5fb9c6ec7612f5f9dcec3 (diff)
downloadnetsurf-2fd1476f8c99c4d4f6eb114cc7b5f8ac9ab54be4.tar.gz
netsurf-2fd1476f8c99c4d4f6eb114cc7b5f8ac9ab54be4.tar.bz2
The schedule_run function is only called by the frontends so remove it from the core header and add its definition to the frontend headers.
Alter the framebuffer schedule_run to return the time untill the next event. svn path=/trunk/netsurf/; revision=10512
Diffstat (limited to 'framebuffer/gui.c')
-rw-r--r--framebuffer/gui.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/framebuffer/gui.c b/framebuffer/gui.c
index 7eae2b630..2689ffd8b 100644
--- a/framebuffer/gui.c
+++ b/framebuffer/gui.c
@@ -472,12 +472,18 @@ void gui_multitask(void)
void gui_poll(bool active)
{
nsfb_event_t event;
- int timeout = 0;
+ int timeout;
- active |= schedule_run() | redraws_pending;
+ /* run the scheduler and discover how long to wait for the next event */
+ timeout = schedule_run();
- if (!active)
- timeout = -1;
+ /* if active do not wait for event, return immediately */
+ if (active)
+ timeout = 0;
+
+ /* if redraws are pending do not wait for event, return immediately */
+ if (redraws_pending)
+ timeout = 0;
if (fbtk_event(fbtk, &event, timeout)) {
if ((event.type == NSFB_EVENT_CONTROL) &&