Browse Source

Protect dynamic_cast dereference

jobs
Seth Hillbrand 1 year ago
parent
commit
6f3e16382e
  1. 5
      3d-viewer/3d_navlib/nl_3d_viewer_plugin_impl.cpp

5
3d-viewer/3d_navlib/nl_3d_viewer_plugin_impl.cpp

@ -575,10 +575,11 @@ long NL_3D_VIEWER_PLUGIN_IMPL::SetActiveCommand( std::string commandId )
// Only allow command execution if the window is enabled. i.e. there is not a modal dialog
// currently active.
TOOLS_HOLDER* tools_holder = nullptr;
if( parent->IsEnabled() )
if( parent->IsEnabled() && ( tools_holder = dynamic_cast<TOOLS_HOLDER*>( parent ) ) )
{
TOOL_MANAGER* tool_manager = dynamic_cast<TOOLS_HOLDER*>( parent )->GetToolManager();
TOOL_MANAGER* tool_manager = tools_holder->GetToolManager();
if( tool_manager == nullptr )
{

Loading…
Cancel
Save