Index: /trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp	(revision 31016)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp	(revision 31017)
@@ -470,5 +470,5 @@
 int VBoxVHWAGlShader::init()
 {
-    int rc;
+    int rc = VERR_GENERAL_FAILURE;
     GLint *length;
     const char **sources;
@@ -481,53 +481,57 @@
         AssertRC(rc);
         if(RT_FAILURE(rc))
-            return rc;
+            break;
         sources[i] = maComponents[i]->contents();
     }
 
+    if(RT_SUCCESS(rc))
+    {
 #ifdef DEBUG
-    VBOXQGLLOG(("\ncompiling shaders:\n------------\n"));
-    for(int i = 0; i < mcComponents; i++)
-    {
-        VBOXQGLLOG(("**********\n%s\n***********\n", sources[i]));
-    }
-    VBOXQGLLOG(("------------\n"));
-#endif
-    mShader = vboxglCreateShader(mType);
-
-    VBOXQGL_CHECKERR(
-            vboxglShaderSource(mShader, mcComponents, sources, length);
-            );
-
-    VBOXQGL_CHECKERR(
-            vboxglCompileShader(mShader);
-            );
-
-    GLint compiled;
-    VBOXQGL_CHECKERR(
-            vboxglGetShaderiv(mShader, GL_COMPILE_STATUS, &compiled);
-            );
+        VBOXQGLLOG(("\ncompiling shaders:\n------------\n"));
+        for(int i = 0; i < mcComponents; i++)
+        {
+            VBOXQGLLOG(("**********\n%s\n***********\n", sources[i]));
+        }
+        VBOXQGLLOG(("------------\n"));
+#endif
+        mShader = vboxglCreateShader(mType);
+
+        VBOXQGL_CHECKERR(
+                vboxglShaderSource(mShader, mcComponents, sources, length);
+                );
+
+        VBOXQGL_CHECKERR(
+                vboxglCompileShader(mShader);
+                );
+
+        GLint compiled;
+        VBOXQGL_CHECKERR(
+                vboxglGetShaderiv(mShader, GL_COMPILE_STATUS, &compiled);
+                );
 
 #ifdef DEBUG
-    GLchar * pBuf = new GLchar[16300];
-    vboxglGetShaderInfoLog(mShader, 16300, NULL, pBuf);
-    VBOXQGLLOG(("\ncompile log:\n-----------\n%s\n---------\n", pBuf));
-    delete pBuf;
-#endif
-
-    Assert(compiled);
-    if(compiled)
-    {
-        return VINF_SUCCESS;
-    }
-
-
-    VBOXQGL_CHECKERR(
-            vboxglDeleteShader(mShader);
-            );
-    mShader = 0;
+        GLchar * pBuf = new GLchar[16300];
+        vboxglGetShaderInfoLog(mShader, 16300, NULL, pBuf);
+        VBOXQGLLOG(("\ncompile log:\n-----------\n%s\n---------\n", pBuf));
+        delete[] pBuf;
+#endif
+
+        Assert(compiled);
+        if(compiled)
+        {
+            rc = VINF_SUCCESS;
+        }
+        else
+        {
+            VBOXQGL_CHECKERR(
+                    vboxglDeleteShader(mShader);
+                    );
+            mShader = 0;
+        }
+    }
 
     delete[] length;
     delete[] sources;
-    return VERR_GENERAL_FAILURE;
+    return rc;
 }
 
