summaryrefslogtreecommitdiffstats
path: root/o3d/plugin
diff options
context:
space:
mode:
authortschmelcher@chromium.org <tschmelcher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-09 20:08:14 +0000
committertschmelcher@chromium.org <tschmelcher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-09 20:08:14 +0000
commit577d4fd764e954647d570c3a7aa13b05e43368db (patch)
tree9246832889c5ea00d04184c6f03c680a9eaef7d0 /o3d/plugin
parent070105a896b3a37936537d0a6ead077569e866ff (diff)
downloadchromium_src-577d4fd764e954647d570c3a7aa13b05e43368db.zip
chromium_src-577d4fd764e954647d570c3a7aa13b05e43368db.tar.gz
chromium_src-577d4fd764e954647d570c3a7aa13b05e43368db.tar.bz2
Linux: Fix DCHECK failure in Chrome caused by re-entrant rendering. This wasn't actually causing problems in release builds (presumably O3D was able to complete the re-entrant render action without problems), but we still don't want to do it.
TEST=loaded a debug build repeatedly in Chrome/Linux and verified no DCHECK failure, whereas previously it happened a fair amount BUG=none Review URL: http://codereview.chromium.org/2944006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51999 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d/plugin')
-rw-r--r--o3d/plugin/linux/main_linux.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/o3d/plugin/linux/main_linux.cc b/o3d/plugin/linux/main_linux.cc
index d2d79af..c462fac 100644
--- a/o3d/plugin/linux/main_linux.cc
+++ b/o3d/plugin/linux/main_linux.cc
@@ -71,6 +71,8 @@ static const char *kEnvVarsFilePath = O3D_PLUGIN_ENV_VARS_FILE;
static void DrawPlugin(PluginObject *obj) {
// Limit drawing to no more than once every timer tick.
if (!obj->draw_) return;
+ // Don't allow re-entrant rendering (can happen in Chrome)
+ if (obj->client()->IsRendering()) return;
obj->client()->RenderClient(true);
obj->draw_ = false;
}