more work on cleaning up connexion

This commit is contained in:
Sam Gondelman 2015-07-30 13:19:05 -07:00
parent b19376ef6e
commit b8f7d4b8c8
2 changed files with 6 additions and 9 deletions

View file

@ -24,7 +24,7 @@ if (APPLE)
set(3DCONNEXIONCLIENT_INCLUDE_DIRS ${3DConnexionClient}) set(3DCONNEXIONCLIENT_INCLUDE_DIRS ${3DConnexionClient})
set(3DCONNEXIONCLIENT_LIBRARY ${3DConnexionClient}) set(3DCONNEXIONCLIENT_LIBRARY ${3DConnexionClient})
set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "-weak_framework 3DConnexionClient") set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "-weak_framework 3DConnexionClient")
message(STATUS "Found 3DConnexion " + ${3DConnexionClient}) message(STATUS "Found 3DConnexion at " ${3DConnexionClient})
mark_as_advanced(3DCONNEXIONCLIENT_INCLUDE_DIR CONNEXIONCLIENT_LIBRARY) mark_as_advanced(3DCONNEXIONCLIENT_INCLUDE_DIR CONNEXIONCLIENT_LIBRARY)
else () else ()
message(STATUS "Could NOT find 3DConnexionClient") message(STATUS "Could NOT find 3DConnexionClient")

View file

@ -175,20 +175,18 @@ void ConnexionClient::toggleConnexion(bool shouldEnable) {
void ConnexionClient::init() { void ConnexionClient::init() {
if (Menu::getInstance()->isOptionChecked(MenuOption::Connexion)) { if (Menu::getInstance()->isOptionChecked(MenuOption::Connexion)) {
ConnexionClient& cclient = ConnexionClient::getInstance(); fLast3dmouseInputTime = 0;
cclient.fLast3dmouseInputTime = 0;
cclient.InitializeRawInput(GetActiveWindow()); InitializeRawInput(GetActiveWindow());
gMouseInput = &cclient; gMouseInput = &this;
QAbstractEventDispatcher::instance()->installNativeEventFilter(&cclient); QAbstractEventDispatcher::instance()->installNativeEventFilter(&cclient);
} }
} }
void ConnexionClient::destroy() { void ConnexionClient::destroy() {
ConnexionClient& cclient = ConnexionClient::getInstance(); QAbstractEventDispatcher::instance()->removeNativeEventFilter(&this);
QAbstractEventDispatcher::instance()->removeNativeEventFilter(&cclient);
ConnexionData& connexiondata = ConnexionData::getInstance(); ConnexionData& connexiondata = ConnexionData::getInstance();
int deviceid = connexiondata.getDeviceID(); int deviceid = connexiondata.getDeviceID();
connexiondata.setDeviceID(0); connexiondata.setDeviceID(0);
@ -328,8 +326,7 @@ ConnexionClient::ConnexionClient() {
} }
ConnexionClient::~ConnexionClient() { ConnexionClient::~ConnexionClient() {
ConnexionClient& cclient = ConnexionClient::getInstance(); QAbstractEventDispatcher::instance()->removeNativeEventFilter(&this);
QAbstractEventDispatcher::instance()->removeNativeEventFilter(&cclient);
} }
// Access the mouse parameters structure // Access the mouse parameters structure