comparison Applications/StoneWebViewer/WebAssembly/StoneWebViewer.cpp @ 1620:1151e25d7311

Unregistering emscripten wheel and key events in the ViewerViewport destructor, to prevent callbacks being executed after the object has been deleted.
author Benjamin Golinvaux <bgo@osimis.io>
date Mon, 02 Nov 2020 17:56:49 +0100
parents 49ba862d3454
children 0f8d6791b403
comparison
equal deleted inserted replaced
1619:4c9e68291467 1620:1151e25d7311
1736 lock->GetController().GetScene().SetLayer(1000, layer.release()); 1736 lock->GetController().GetScene().SetLayer(1000, layer.release());
1737 lock->Invalidate(); 1737 lock->Invalidate();
1738 }*/ 1738 }*/
1739 } 1739 }
1740 1740
1741 ~ViewerViewport()
1742 {
1743 emscripten_set_wheel_callback(viewport_->GetCanvasCssSelector().c_str(), this, true, NULL);
1744 emscripten_set_keydown_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, this, false, NULL);
1745 emscripten_set_keyup_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, this, false, NULL);
1746 }
1747
1741 static EM_BOOL OnKey(int eventType, 1748 static EM_BOOL OnKey(int eventType,
1742 const EmscriptenKeyboardEvent *event, 1749 const EmscriptenKeyboardEvent *event,
1743 void *userData) 1750 void *userData)
1744 { 1751 {
1745 /** 1752 /**