diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c index 50dee5111..9d987c238 100644 --- a/glx/glxdriswrast.c +++ b/glx/glxdriswrast.c @@ -532,7 +532,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen) xfree(screen); - LogMessage(X_ERROR, "AIGLX: reverting to software rendering\n"); + FatalError("GLX: could not load software renderer\n"); return NULL; } diff --git a/hw/xfree86/dixmods/glxmodule.c b/hw/xfree86/dixmods/glxmodule.c index 026a93692..35ba74b25 100644 --- a/hw/xfree86/dixmods/glxmodule.c +++ b/hw/xfree86/dixmods/glxmodule.c @@ -86,8 +86,9 @@ glxSetup(pointer module, pointer opts, int *errmaj, int *errmin) setupDone = TRUE; provider = LoaderSymbol("__glXDRIswrastProvider"); - if (provider) - GlxPushProvider(provider); + if (provider == NULL) + return NULL; + GlxPushProvider(provider); xf86Msg(xf86Info.aiglxFrom, "AIGLX %s\n", xf86Info.aiglx ? "enabled" : "disabled");