diff options
Diffstat (limited to 'o3d/plugin/mac/main_mac.mm')
-rw-r--r-- | o3d/plugin/mac/main_mac.mm | 8 |
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; |