From 78f88247f8e279d0eaed956323cac86eb3f0171d Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Mon, 25 Apr 2005 13:27:56 +0000 Subject: [PATCH] Added SINGLE_THREADED_KEYBOARDMOUSE pathway as a means of testing exit issues. --- src/osgProducer/Viewer.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/osgProducer/Viewer.cpp b/src/osgProducer/Viewer.cpp index 656acc28d..dc5b37c26 100644 --- a/src/osgProducer/Viewer.cpp +++ b/src/osgProducer/Viewer.cpp @@ -590,15 +590,18 @@ public: } }; +#define SINGLE_THREAD_KEYBOARDMOUSE + bool Viewer::realize() { if (_realized) return _realized; OsgCameraGroup::realize(); +#ifndef SINGLE_THREAD_KEYBOARDMOUSE // kick start the keyboard mouse if needed. if (_kbm.valid() && !_kbm->isRunning()) _kbm->startThread(); - +#endif // by default set up the DatabasePager. { osgDB::DatabasePager* databasePager = osgDB::Registry::instance()->getOrCreateDatabasePager(); @@ -654,6 +657,10 @@ bool Viewer::realize() void Viewer::update() { +#ifdef SINGLE_THREAD_KEYBOARDMOUSE + if (_kbm.valid() && !_kbm->isRunning()) _kbm->update(*(_kbm->getCallback())); +#endif + // get the event since the last frame. osgProducer::KeyboardMouseCallback::EventQueue queue; if (_kbmcb.valid()) _kbmcb->getEventQueue(queue);