diff options
author | tschmelcher@chromium.org <tschmelcher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-09 20:08:14 +0000 |
---|---|---|
committer | tschmelcher@chromium.org <tschmelcher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-09 20:08:14 +0000 |
commit | 577d4fd764e954647d570c3a7aa13b05e43368db (patch) | |
tree | 9246832889c5ea00d04184c6f03c680a9eaef7d0 /o3d/plugin | |
parent | 070105a896b3a37936537d0a6ead077569e866ff (diff) | |
download | chromium_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.cc | 2 |
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; } |