Fixed crash on MAC when selecting system info
This commit is contained in:
parent
fa86d776cb
commit
b2d9877cd5
@ -78,35 +78,32 @@ std::string GLCanvas3DManager::GLInfo::to_string(bool format_as_html, bool exten
|
|||||||
std::stringstream out;
|
std::stringstream out;
|
||||||
|
|
||||||
std::string h2_start = format_as_html ? "<b>" : "";
|
std::string h2_start = format_as_html ? "<b>" : "";
|
||||||
std::string h2_end = format_as_html ? "</b>" : "";
|
std::string h2_end = format_as_html ? "</b>" : "";
|
||||||
std::string b_start = format_as_html ? "<b>" : "";
|
std::string b_start = format_as_html ? "<b>" : "";
|
||||||
std::string b_end = format_as_html ? "</b>" : "";
|
std::string b_end = format_as_html ? "</b>" : "";
|
||||||
std::string line_end = format_as_html ? "<br>" : "\n";
|
std::string line_end = format_as_html ? "<br>" : "\n";
|
||||||
|
|
||||||
out << h2_start << "OpenGL installation" << h2_end << line_end;
|
out << h2_start << "OpenGL installation" << h2_end << line_end;
|
||||||
out << b_start << "GL version: " << b_end << (version.empty() ? "N/A" : version) << line_end;
|
out << b_start << "GL version: " << b_end << (version.empty() ? "N/A" : version) << line_end;
|
||||||
out << b_start << "Vendor: " << b_end << (vendor.empty() ? "N/A" : vendor) << line_end;
|
out << b_start << "Vendor: " << b_end << (vendor.empty() ? "N/A" : vendor) << line_end;
|
||||||
out << b_start << "Renderer: " << b_end << (renderer.empty() ? "N/A" : renderer) << line_end;
|
out << b_start << "Renderer: " << b_end << (renderer.empty() ? "N/A" : renderer) << line_end;
|
||||||
out << b_start << "GLSL version: " << b_end << (glsl_version.empty() ? "N/A" : glsl_version) << line_end;
|
out << b_start << "GLSL version: " << b_end << (glsl_version.empty() ? "N/A" : glsl_version) << line_end;
|
||||||
|
|
||||||
if (extensions)
|
if (extensions)
|
||||||
{
|
{
|
||||||
out << h2_start << "Installed extensions:" << h2_end << line_end;
|
|
||||||
|
|
||||||
std::vector<std::string> extensions_list;
|
std::vector<std::string> extensions_list;
|
||||||
GLint num_extensions;
|
std::string extensions_str = (const char*)::glGetString(GL_EXTENSIONS);
|
||||||
::glGetIntegerv(GL_NUM_EXTENSIONS, &num_extensions);
|
boost::split(extensions_list, extensions_str, boost::is_any_of(" "), boost::token_compress_off);
|
||||||
|
|
||||||
for (GLint i = 0; i < num_extensions; ++i)
|
|
||||||
{
|
|
||||||
const char* e = (const char*)::glGetStringi(GL_EXTENSIONS, i);
|
|
||||||
extensions_list.push_back(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
std::sort(extensions_list.begin(), extensions_list.end());
|
if (!extensions_list.empty())
|
||||||
for (const std::string& ext : extensions_list)
|
|
||||||
{
|
{
|
||||||
out << ext << line_end;
|
out << h2_start << "Installed extensions:" << h2_end << line_end;
|
||||||
|
|
||||||
|
std::sort(extensions_list.begin(), extensions_list.end());
|
||||||
|
for (const std::string& ext : extensions_list)
|
||||||
|
{
|
||||||
|
out << ext << line_end;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user