[haiku-commits] Change in haiku[master]: opengl/glinfo: Fix broken GLinfo app

  • From: Gerrit <review@xxxxxxxxxxxxxxxxxxx>
  • To: waddlesplash <waddlesplash@xxxxxxxxx>, haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 7 Dec 2020 23:41:37 +0000

From Alex von Gluck IV <kallisti5@xxxxxxxxxxx>:

Alex von Gluck IV has uploaded this change for review. ( 
https://review.haiku-os.org/c/haiku/+/3476 ;)


Change subject: opengl/glinfo: Fix broken GLinfo app
......................................................................

opengl/glinfo: Fix broken GLinfo app

* Can't call InfoView() with an unlocked BGLView.
* If unable to obtain to glGetString, show some "unknown" messages

Change-Id: I17d8ff84feed166644d54b0e19e0ef1fce202a74
---
M src/tests/kits/opengl/glinfo/InfoView.cpp
M src/tests/kits/opengl/glinfo/OpenGLView.cpp
2 files changed, 15 insertions(+), 9 deletions(-)



  git pull ssh://git.haiku-os.org:22/haiku refs/changes/76/3476/1

diff --git a/src/tests/kits/opengl/glinfo/InfoView.cpp 
b/src/tests/kits/opengl/glinfo/InfoView.cpp
index c6d6e0e..65568e9 100644
--- a/src/tests/kits/opengl/glinfo/InfoView.cpp
+++ b/src/tests/kits/opengl/glinfo/InfoView.cpp
@@ -37,17 +37,23 @@
        :
        BGroupView(B_TRANSLATE("Information"), B_HORIZONTAL)
 {
-       BStringView* rendererView = new BStringView(NULL,
-               (const char*)glGetString(GL_RENDERER));
+       const char* glRenderer = (const char*)glGetString(GL_RENDERER);
+       if (glRenderer == NULL)
+               glRenderer = B_TRANSLATE("Unknown or missing OpenGL renderer.");
+       BStringView* rendererView = new BStringView(NULL, glRenderer);
        rendererView->SetExplicitAlignment(kLabelAlignment);
        rendererView->SetFont(be_bold_font);

-       BStringView* vendorNameView = new BStringView(NULL,
-               (const char*)glGetString(GL_VENDOR));
-               vendorNameView->SetExplicitAlignment(kLabelAlignment);
+       const char* glVendor = (const char*)glGetString(GL_VENDOR);
+       if (glVendor == NULL)
+               glVendor = B_TRANSLATE("Unknown vendor");
+       BStringView* vendorNameView = new BStringView(NULL, glVendor);
+       vendorNameView->SetExplicitAlignment(kLabelAlignment);

-       BStringView* glVersionView = new BStringView(NULL,
-               (const char*)glGetString(GL_VERSION));
+       const char* glVersion = (const char*)glGetString(GL_VERSION);
+       if (glVersion == NULL)
+               glVersion = B_TRANSLATE("Unknown version");
+       BStringView* glVersionView = new BStringView(NULL, glVersion);
        glVersionView->SetExplicitAlignment(kLabelAlignment);

        BString apiString("GLU ");
diff --git a/src/tests/kits/opengl/glinfo/OpenGLView.cpp 
b/src/tests/kits/opengl/glinfo/OpenGLView.cpp
index 30fe988..d763792 100644
--- a/src/tests/kits/opengl/glinfo/OpenGLView.cpp
+++ b/src/tests/kits/opengl/glinfo/OpenGLView.cpp
@@ -52,8 +52,6 @@
        tabView->AddTab(new CapabilitiesView());
        tabView->AddTab(new ExtensionsView());
 
-       glView->UnlockGL();
-
        GroupLayout()->SetSpacing(0);
        BLayoutBuilder::Group<>(this)
                .AddGroup(B_HORIZONTAL, 0)
@@ -66,6 +64,8 @@
                                .End()
                        .AddGlue()
                        .End();
+
+       glView->UnlockGL();
 }

 OpenGLView::~OpenGLView()

--
To view, visit https://review.haiku-os.org/c/haiku/+/3476
To unsubscribe, or for help writing mail filters, visit 
https://review.haiku-os.org/settings

Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: I17d8ff84feed166644d54b0e19e0ef1fce202a74
Gerrit-Change-Number: 3476
Gerrit-PatchSet: 1
Gerrit-Owner: Alex von Gluck IV <kallisti5@xxxxxxxxxxx>
Gerrit-MessageType: newchange

Other related posts:

  • » [haiku-commits] Change in haiku[master]: opengl/glinfo: Fix broken GLinfo app - Gerrit