diff options
Diffstat (limited to 'o3d/plugin/mac/plugin_mac.mm')
-rw-r--r-- | o3d/plugin/mac/plugin_mac.mm | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/o3d/plugin/mac/plugin_mac.mm b/o3d/plugin/mac/plugin_mac.mm index 488a7b6..26c8f7c 100644 --- a/o3d/plugin/mac/plugin_mac.mm +++ b/o3d/plugin/mac/plugin_mac.mm @@ -237,9 +237,10 @@ void RenderTimer::TimerCallback(CFRunLoopTimerRef timer, void* info) { NPP instance = instances_[i]; PluginObject* obj = static_cast<PluginObject*>(instance->pdata); - // RenderClient() may cause events to be processed, leading to - // reentrant calling of this code. Detect and avoid this case. - if (obj->client()->IsRendering()) { + // RenderClient() and Tick() may cause events to be processed, + // leading to reentrant calling of this code. Detect and avoid + // this case. + if (obj->client()->IsRendering() || obj->client()->IsTicking()) { continue; } |