From 638448359d73814ca2bd37e0c15f69f17eadc551 Mon Sep 17 00:00:00 2001 From: Kei Kamikawa Date: Sat, 15 Apr 2023 17:14:59 +0900 Subject: [PATCH] fixed calling deleteStateHandler after called dealloc of VZVirtualMachine --- virtualization_11.m | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/virtualization_11.m b/virtualization_11.m index 0216fb5..2df1f21 100644 --- a/virtualization_11.m +++ b/virtualization_11.m @@ -10,18 +10,9 @@ @implementation Observer - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context; { - @autoreleasepool { - if ([keyPath isEqualToString:@"state"]) { - int newState = (int)[change[NSKeyValueChangeNewKey] integerValue]; - changeStateOnObserver(newState, context); - } else { - // bool canVal = (bool)[change[NSKeyValueChangeNewKey] boolValue]; - // char *vmid = copyCString((NSString *)context); - // char *key = copyCString(keyPath); - // changeCanPropertyOnObserver(canVal, vmid, key); - // free(vmid); - // free(key); - } + if ([keyPath isEqualToString:@"state"]) { + int newState = (int)[change[NSKeyValueChangeNewKey] integerValue]; + changeStateOnObserver(newState, context); } } @end @@ -46,9 +37,9 @@ - (instancetype)initWithConfiguration:(VZVirtualMachineConfiguration *)configura - (void)dealloc { [self removeObserver:_observer forKeyPath:@"state"]; - deleteStateHandler(_stateHandler); [_observer release]; [super dealloc]; + deleteStateHandler(_stateHandler); } @end