Fixed NSOperation calling removeObserver more than once.

This would cause an error if/when -removeObserver:forKeyPath: is implemented to throw an error when unregistering non-registered observers.
This commit is contained in:
Frederik Seiffert 2019-08-12 19:30:25 +02:00
parent b970077e42
commit ae10f58dc4

View file

@ -206,7 +206,10 @@ static NSArray *empty = nil;
{
NSOperation *op;
[self removeObserver: self forKeyPath: @"isFinished"];
if (!internal->finished)
{
[self removeObserver: self forKeyPath: @"isFinished"];
}
while ((op = [internal->dependencies lastObject]) != nil)
{
[self removeDependency: op];