diff --git a/src/osgProducer/KeyboardMouseCallback.cpp b/src/osgProducer/KeyboardMouseCallback.cpp index 4998380ce..8ada3102a 100644 --- a/src/osgProducer/KeyboardMouseCallback.cpp +++ b/src/osgProducer/KeyboardMouseCallback.cpp @@ -16,10 +16,17 @@ void KeyboardMouseCallback::keyPress( Producer::KeySymbol key ) osg::ref_ptr event = new EventAdapter; event->adaptKeyPress(getTime(),key); + +#ifdef WIN32 + if (_escapeKeySetsDone && + event->getKey()==VK_ESCAPE) _done = true; +#endif + // check against adapted key symbol. if (_escapeKeySetsDone && event->getKey()==osgGA::GUIEventAdapter::KEY_Escape) _done = true; + _eventQueueMutex.lock(); _eventQueue.push_back(event); _eventQueueMutex.unlock();