summaryrefslogtreecommitdiffstats
path: root/o3d/plugin/mac/main_mac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'o3d/plugin/mac/main_mac.mm')
-rw-r--r--o3d/plugin/mac/main_mac.mm8
1 files changed, 8 insertions, 0 deletions
diff --git a/o3d/plugin/mac/main_mac.mm b/o3d/plugin/mac/main_mac.mm
index 6f3a15d..2daefe5 100644
--- a/o3d/plugin/mac/main_mac.mm
+++ b/o3d/plugin/mac/main_mac.mm
@@ -983,6 +983,14 @@ NPError NPP_Destroy(NPP instance, NPSavedData** save) {
// TODO(maf) / TODO(kbr): are we leaking AGL / CGL contexts?
+ if (obj->drawing_model_ == NPDrawingModelCoreAnimation) {
+ O3DLayer* layer = ObjO3DLayer(obj);
+ if (layer) {
+ // Prevent the layer from rendering any more.
+ [layer setPluginObject:NULL];
+ }
+ }
+
obj->TearDown();
NPN_ReleaseObject(obj);
instance->pdata = NULL;