diff options
author | Bernard Kilarski <[email protected]> | 2016-06-07 13:33:33 +0300 |
---|---|---|
committer | Tapani Pälli <[email protected]> | 2016-08-15 09:24:10 +0300 |
commit | 2e3f067458e4a70da91b27fab61ef3d292ded4cf (patch) | |
tree | 2c281b1bc75c9b14ae64c672e9c2aa26298577c9 /src/glx/tests | |
parent | 312ece9cd773553a8a45a5d81edc7c09032ff4f1 (diff) |
glx: fix error code when there is no context bound
v2: change all related NULL checks to check against dummyContext
v3: really check for dummyContext *only* when ctx was from
__glXGetCurrentContext
v4: cover more checks, add dummyBuffer, dummyVtable (Emil)
Signed-off-by: Bernard Kilarski <[email protected]>
Signed-off-by: Matt Roper <[email protected]>
Signed-off-by: Tapani Pälli <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
Cc: "11.2" <[email protected]>
Diffstat (limited to 'src/glx/tests')
-rw-r--r-- | src/glx/tests/fake_glx_screen.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/glx/tests/fake_glx_screen.cpp b/src/glx/tests/fake_glx_screen.cpp index db20749505c..801f54a6faa 100644 --- a/src/glx/tests/fake_glx_screen.cpp +++ b/src/glx/tests/fake_glx_screen.cpp @@ -75,7 +75,20 @@ indirect_create_context_attribs(struct glx_screen *base, return indirect_create_context(base, config_base, shareList, 0); } -__thread void *__glX_tls_Context = NULL; +/* This is necessary so that we don't have to link with glxcurrent.c + * which would require us to link with X libraries and what not. + */ +GLubyte dummyBuffer[__GLX_BUFFER_LIMIT_SIZE]; +struct glx_context_vtable dummyVtable; +struct glx_context dummyContext = { + &dummyBuffer[0], + &dummyBuffer[0], + &dummyBuffer[0], + &dummyBuffer[__GLX_BUFFER_LIMIT_SIZE], + sizeof(dummyBuffer), + &dummyVtable +}; +__thread void *__glX_tls_Context = &dummyContext; #if !defined(GLX_USE_TLS) extern "C" struct glx_context * |