File tree Expand file tree Collapse file tree 1 file changed +18
-2
lines changed
Expand file tree Collapse file tree 1 file changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -16,15 +16,31 @@ public class JSContext {
1616 let context : UnsafeMutableRawPointer
1717 var template : UnsafeMutableRawPointer
1818
19+ let unowned : Bool
20+
21+ public init (
22+ isolate: UnsafeMutableRawPointer ,
23+ context: UnsafeMutableRawPointer ,
24+ template: UnsafeMutableRawPointer )
25+ {
26+ self . unowned = true
27+ self . isolate = isolate
28+ self . context = context
29+ self . template = template
30+ }
31+
1932 public init ( isolate: UnsafeMutableRawPointer ) {
33+ self . unowned = false
2034 self . isolate = isolate
2135 self . template = CV8 . createTemplate ( isolate)
2236 self . context = CV8 . createContext ( isolate, template)
2337 }
2438
2539 deinit {
26- CV8 . disposeTemplate ( template)
27- CV8 . disposeContext ( context)
40+ if !unowned {
41+ CV8 . disposeTemplate ( template)
42+ CV8 . disposeContext ( context)
43+ }
2844 }
2945}
3046
You can’t perform that action at this time.
0 commit comments