diff --git a/glass/src/lib/native/include/glass/WindowManager.h b/glass/src/lib/native/include/glass/WindowManager.h index 0ccace2d68..02e680dd37 100644 --- a/glass/src/lib/native/include/glass/WindowManager.h +++ b/glass/src/lib/native/include/glass/WindowManager.h @@ -121,6 +121,11 @@ class WindowManager { */ void EraseWindows() { m_windows.clear(); } + /** + * Get window count. + */ + size_t GetNumWindows() const { return m_windows.size(); } + protected: /** * Removes existing window (by index) diff --git a/simulation/halsim_gui/src/main/native/cpp/main.cpp b/simulation/halsim_gui/src/main/native/cpp/main.cpp index 21fe17404f..de3eae4bab 100644 --- a/simulation/halsim_gui/src/main/native/cpp/main.cpp +++ b/simulation/halsim_gui/src/main/native/cpp/main.cpp @@ -148,7 +148,7 @@ __declspec(dllexport) gPlotProvider->DisplayMenu(); ImGui::EndMenu(); } - if (ImGui::BeginMenu("Window")) { + if (HALSimGui::manager->GetNumWindows() > 0 && ImGui::BeginMenu("Window")) { HALSimGui::manager->DisplayMenu(); ImGui::EndMenu(); }