summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/browser/renderer_host/render_widget_host_view_aura.cc3
-rw-r--r--content/common/gpu/image_transport_surface_linux.cc5
2 files changed, 5 insertions, 3 deletions
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 25b6b38..ce6c01b 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -362,6 +362,7 @@ void RenderWidgetHostViewAura::AcceleratedSurfacePostSubBuffer(
const GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params& params,
int gpu_host_id) {
#if defined(UI_COMPOSITOR_IMAGE_TRANSPORT)
+ current_surface_ = params.surface_id;
UpdateExternalTexture();
if (!window_->layer()->GetCompositor()) {
diff --git a/content/common/gpu/image_transport_surface_linux.cc b/content/common/gpu/image_transport_surface_linux.cc
index 240629a..87a197d 100644
--- a/content/common/gpu/image_transport_surface_linux.cc
+++ b/content/common/gpu/image_transport_surface_linux.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -530,7 +530,8 @@ void GLXImageTransportSurface::OnResize(gfx::Size size) {
// Seems necessary to perform a swap after a resize
// in order to resize the front and back buffers (Intel driver bug).
// This doesn't always happen with scissoring enabled, so do it now.
- if (gfx::g_GLX_MESA_copy_sub_buffer)
+ if (gfx::g_GLX_MESA_copy_sub_buffer &&
+ gfx::GLSurface::GetCurrent() == this)
gfx::NativeViewGLSurfaceGLX::SwapBuffers();
needs_resize_ = true;
}