From 33ae019a95959bc7b3899a68b7165631a31ca758 Mon Sep 17 00:00:00 2001 From: "lane.wei" Date: Thu, 4 May 2023 15:56:16 +0800 Subject: [PATCH] ENH: CLI: don't popup dialog when loading shader failed STUDIO-2855(github issue-1703) Change-Id: I46476e94951aa2337fee3439159e777773366c59 --- src/BambuStudio.cpp | 2 +- src/slic3r/GUI/OpenGLManager.cpp | 27 ++++++++++++++++----------- src/slic3r/GUI/OpenGLManager.hpp | 6 +++--- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/BambuStudio.cpp b/src/BambuStudio.cpp index 8d6b7496d..59c5ed3d2 100644 --- a/src/BambuStudio.cpp +++ b/src/BambuStudio.cpp @@ -2329,7 +2329,7 @@ int CLI::run(int argc, char **argv) //opengl manager related logic { Slic3r::GUI::OpenGLManager opengl_mgr; - bool opengl_valid = opengl_mgr.init_gl(); + bool opengl_valid = opengl_mgr.init_gl(false); if (!opengl_valid) { BOOST_LOG_TRIVIAL(error) << "init opengl failed! skip thumbnail generating" << std::endl; } diff --git a/src/slic3r/GUI/OpenGLManager.cpp b/src/slic3r/GUI/OpenGLManager.cpp index 5d8e90ead..3f38e15bc 100644 --- a/src/slic3r/GUI/OpenGLManager.cpp +++ b/src/slic3r/GUI/OpenGLManager.cpp @@ -233,7 +233,7 @@ OpenGLManager::~OpenGLManager() #endif //__APPLE__ } -bool OpenGLManager::init_gl() +bool OpenGLManager::init_gl(bool popup_error) { if (!m_gl_initialized) { GLenum result = glewInit(); @@ -263,23 +263,28 @@ bool OpenGLManager::init_gl() bool valid_version = s_gl_info.is_version_greater_or_equal_to(2, 0); if (!valid_version) { - BOOST_LOG_TRIVIAL(warning) << "Found opengl version <= 2.0"<< std::endl; + BOOST_LOG_TRIVIAL(error) << "Found opengl version <= 2.0"<< std::endl; // Complain about the OpenGL version. - wxString message = from_u8((boost::format( - _utf8(L("The application cannot run normally because OpenGL version is lower than 2.0.\n")))).str()); - message += "\n"; - message += _L("Please upgrade your graphics card driver."); - wxMessageBox(message, _L("Unsupported OpenGL version"), wxOK | wxICON_ERROR); + if (popup_error) { + wxString message = from_u8((boost::format( + _utf8(L("The application cannot run normally because OpenGL version is lower than 2.0.\n")))).str()); + message += "\n"; + message += _L("Please upgrade your graphics card driver."); + wxMessageBox(message, _L("Unsupported OpenGL version"), wxOK | wxICON_ERROR); + } } if (valid_version) - { + { // load shaders auto [result, error] = m_shaders_manager.init(); if (!result) { - wxString message = from_u8((boost::format( - _utf8(L("Unable to load shaders:\n%s"))) % error).str()); - wxMessageBox(message, _L("Error loading shaders"), wxOK | wxICON_ERROR); + BOOST_LOG_TRIVIAL(error) << "Unable to load shaders: "<