diff options
author | Aaron Plattner <[email protected]> | 2011-12-06 10:20:30 -0800 |
---|---|---|
committer | Brian Paul <[email protected]> | 2011-12-07 17:20:10 -0700 |
commit | 63a6fd6603574c1c01324fbeb0863e39d3864c16 (patch) | |
tree | 6f3a16af090ac108351d009fde1166864258c26b /src/glx/dri_common.c | |
parent | 4558987818e1ff36e86592e9c5c0b5e181be9ec1 (diff) |
glx: Fix indirect fallback when a non-Mesa GLX extension is present.
When driCreateScreen calls driConvertConfigs to try to convert the
configs for swrast, it fails and returns NULL. Instead of checking,
it just clobbers psc->base.configs. Then, when the application asks
for the FBconfigs, there aren't any.
Instead, make the caller responsible for freeing the old modes lists
if both calls to driConvertConfigs succeed.
Without the second fix, glxinfo fails unless you run it with
LIBGL_ALWAYS_INDIRECT:
$ glxinfo
name of display: :0.0
Error: couldn't find RGB GLX visual or fbconfig
$ LIBGL_ALWAYS_INDIRECT=1 glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: No (LIBGL_ALWAYS_INDIRECT set)
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
[...]
Signed-off-by: Aaron Plattner <[email protected]>
Reviewed-and-tested-by: Ian Romanick <[email protected]>
Signed-off-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/glx/dri_common.c')
-rw-r--r-- | src/glx/dri_common.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/src/glx/dri_common.c b/src/glx/dri_common.c index eb62c824f35..1482b88bd93 100644 --- a/src/glx/dri_common.c +++ b/src/glx/dri_common.c @@ -340,8 +340,6 @@ driConvertConfigs(const __DRIcoreExtension * core, tail = tail->next; } - glx_config_destroy_list(configs); - return head.next; } |