summaryrefslogtreecommitdiffstats
path: root/ui/gl/gl_surface_linux.cc
diff options
context:
space:
mode:
authorbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-22 23:10:20 +0000
committerbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-22 23:10:20 +0000
commit4ee42daa9395d9d603775f3f9b65b0072aa06cda (patch)
treefe86a37e061f980f77359e53c9a92378c61d97f3 /ui/gl/gl_surface_linux.cc
parent27de4b9f97acd62b74fe23e2fe06517cbf5c9bed (diff)
downloadchromium_src-4ee42daa9395d9d603775f3f9b65b0072aa06cda.zip
chromium_src-4ee42daa9395d9d603775f3f9b65b0072aa06cda.tar.gz
chromium_src-4ee42daa9395d9d603775f3f9b65b0072aa06cda.tar.bz2
Explicitly empty the pipes on teardown to prevent cross process races.
When running with --use-gl=osmesa on desktop linux builds, it's important to XSync in GPU process before firing an IPC to the browser in ~GpuCommandBufferStub. Otherwise, there may be X commands for the window pending when the browser destroys the associated X window. BUG=155834 Review URL: https://chromiumcodereview.appspot.com/11230036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163431 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gl/gl_surface_linux.cc')
-rw-r--r--ui/gl/gl_surface_linux.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/ui/gl/gl_surface_linux.cc b/ui/gl/gl_surface_linux.cc
index 75542c3..8a63a00 100644
--- a/ui/gl/gl_surface_linux.cc
+++ b/ui/gl/gl_surface_linux.cc
@@ -135,6 +135,8 @@ void NativeViewGLSurfaceOSMesa::Destroy() {
XFreeGC(g_osmesa_display, window_graphics_context_);
window_graphics_context_ = NULL;
}
+
+ XSync(g_osmesa_display, False);
}
bool NativeViewGLSurfaceOSMesa::Resize(const gfx::Size& new_size) {