From 30fcfd219e1389fa06997f175e1597d459657397 Mon Sep 17 00:00:00 2001 From: James Turner Date: Thu, 7 Mar 2013 18:41:38 +0000 Subject: [PATCH] Pass key-mod state into pick-callbacks. Allow pick-callbacks to get the current mod-state at all times. (Required for matching SG change) --- src/Input/FGMouseInput.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Input/FGMouseInput.cxx b/src/Input/FGMouseInput.cxx index 926173c53..c66a4b24f 100644 --- a/src/Input/FGMouseInput.cxx +++ b/src/Input/FGMouseInput.cxx @@ -55,7 +55,7 @@ const int MAX_MOUSE_BUTTONS = 8; */ class ActivePickCallbacks : public std::map > > { public: - void update( double dt ); + void update( double dt, unsigned int keyModState ); void init( int button, const osgGA::GUIEventAdapter* ea ); }; @@ -84,13 +84,13 @@ void ActivePickCallbacks::init( int button, const osgGA::GUIEventAdapter* ea ) } } -void ActivePickCallbacks::update( double dt ) +void ActivePickCallbacks::update( double dt, unsigned int keyModState ) { // handle repeatable mouse press events for( iterator mi = begin(); mi != end(); ++mi ) { std::list >::iterator li; for (li = mi->second.begin(); li != mi->second.end(); ++li) { - (*li)->update(dt); + (*li)->update(dt, keyModState); } } } @@ -384,7 +384,7 @@ void FGMouseInput::update ( double dt ) } } - d->activePickCallbacks.update( dt ); + d->activePickCallbacks.update( dt, fgGetKeyModifiers() ); } mouse::mouse () @@ -447,7 +447,7 @@ void FGMouseInput::doMouseClick (int b, int updown, int x, int y, bool mainWindo // Execute the mouse up event in any case, may be we should // stop processing here? while (!d->activePickCallbacks[b].empty()) { - d->activePickCallbacks[b].front()->buttonReleased(); + d->activePickCallbacks[b].front()->buttonReleased(ea->getModKeyMask()); d->activePickCallbacks[b].pop_front(); } }