summaryrefslogtreecommitdiffstats
path: root/o3d/plugin/mac/plugin_mac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'o3d/plugin/mac/plugin_mac.mm')
-rw-r--r--o3d/plugin/mac/plugin_mac.mm11
1 files changed, 11 insertions, 0 deletions
diff --git a/o3d/plugin/mac/plugin_mac.mm b/o3d/plugin/mac/plugin_mac.mm
index df25d9d..4ab3127 100644
--- a/o3d/plugin/mac/plugin_mac.mm
+++ b/o3d/plugin/mac/plugin_mac.mm
@@ -40,6 +40,8 @@
#include "plugin/cross/main.h"
#include "core/mac/display_window_mac.h"
#include "plugin/mac/graphics_utils_mac.h"
+#import "plugin/mac/o3d_layer.h"
+
#if !defined(O3D_INTERNAL_PLUGIN)
BreakpadRef gBreakpadRef = NULL;
@@ -236,6 +238,15 @@ void RenderTimer::TimerCallback(CFRunLoopTimerRef timer, void* info) {
NPP instance = instances_[i];
PluginObject* obj = static_cast<PluginObject*>(instance->pdata);
+ if (obj->drawing_model_ == NPDrawingModelCoreAnimation) {
+ O3DLayer* o3dLayer = static_cast<O3DLayer*>(obj->gl_layer_);
+ if (o3dLayer) {
+ obj->client()->Tick();
+ [o3dLayer setNeedsDisplay];
+ }
+ return;
+ }
+
ManageSafariTabSwitching(obj);
obj->client()->Tick();