summaryrefslogtreecommitdiff
path: root/src/cairo-glx-context.c
diff options
context:
space:
mode:
authormh0310.choi <mh0310.choi@samsung.com>2015-07-28 10:46:57 +0900
committermh0310.choi <mh0310.choi@samsung.com>2015-07-28 13:08:12 +0900
commit5e67a6f721eaedda61300baf0799199c7771ebd0 (patch)
tree6cd50b52498aab50e79b966cdccc2a137db316d9 /src/cairo-glx-context.c
parentd3aeffba37161d2b76b29c4ea13369bd67a47a8e (diff)
downloadcairo-5e67a6f721eaedda61300baf0799199c7771ebd0.tar.gz
cairo-5e67a6f721eaedda61300baf0799199c7771ebd0.tar.bz2
cairo-5e67a6f721eaedda61300baf0799199c7771ebd0.zip
- from 1.12.14 to 1.14.2 Change-Id: I3b62d212041b337bbb926d579f9ce74f42a45c3b
Diffstat (limited to 'src/cairo-glx-context.c')
-rw-r--r--[-rwxr-xr-x]src/cairo-glx-context.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/cairo-glx-context.c b/src/cairo-glx-context.c
index b4d706007..59e939292 100755..100644
--- a/src/cairo-glx-context.c
+++ b/src/cairo-glx-context.c
@@ -55,6 +55,7 @@ typedef struct _cairo_glx_context {
GLXDrawable current_drawable;
GLXContext previous_context;
+ GLXDrawable previous_drawable;
cairo_bool_t has_multithread_makecurrent;
} cairo_glx_context_t;
@@ -68,7 +69,8 @@ typedef struct _cairo_glx_surface {
static cairo_bool_t
_context_acquisition_changed_glx_state (cairo_glx_context_t *ctx)
{
- return ctx->previous_context != ctx->context;
+ return ctx->previous_context != ctx->context ||
+ ctx->previous_drawable != ctx->current_drawable;
}
static GLXDrawable
@@ -86,6 +88,7 @@ static void *
_glx_query_current_state (cairo_glx_context_t * ctx)
{
ctx->previous_context = glXGetCurrentContext ();
+ ctx->previous_drawable = glXGetCurrentDrawable ();
}
static void
@@ -252,7 +255,7 @@ _cairo_glx_get_proc_address (void *data, const char *name)
return func_map[i].func;
}
- return glXGetProcAddress (name);
+ return glXGetProcAddress (name);
}
cairo_device_t *