Index: src/OFApplication.m ================================================================== --- src/OFApplication.m +++ src/OFApplication.m @@ -123,17 +123,14 @@ int wargc, si = 0; #endif [[OFLocalization alloc] init]; - if ([cls isSubclassOfClass: [OFApplication class]]) { - fprintf(stderr, "FATAL ERROR:\n Class %s is a subclass of " - "class OFApplication, but class\n %s was specified as " - "application delegate!\n Most likely, you wanted to " - "subclass OFObject instead or specified\n the wrong class " - "with OF_APPLICATION_DELEGATE().\n", - class_getName(cls), class_getName(cls)); + if (![cls conformsToProtocol: @protocol(OFApplicationDelegate)]) { + fprintf(stderr, "FATAL ERROR:\n Class %s does not conform to " + "protocol OFApplicationDelegate,\n but was specified via " + "OF_APPLICATION_DELEGATE()!\n", class_getName(cls)); exit(1); } app = [[OFApplication alloc] of_init]; Index: utils/ofhash/OFHash.m ================================================================== --- utils/ofhash/OFHash.m +++ utils/ofhash/OFHash.m @@ -31,11 +31,11 @@ #import "OFSandbox.h" #import "OFOpenItemFailedException.h" #import "OFReadFailedException.h" -@interface OFHash: OFObject +@interface OFHash: OFObject @end OF_APPLICATION_DELEGATE(OFHash) static void Index: utils/ofhttp/OFHTTP.m ================================================================== --- utils/ofhttp/OFHTTP.m +++ utils/ofhttp/OFHTTP.m @@ -50,11 +50,11 @@ #define GIBIBYTE (1024 * 1024 * 1024) #define MEBIBYTE (1024 * 1024) #define KIBIBYTE (1024) -@interface OFHTTP: OFObject +@interface OFHTTP: OFObject { OFArray OF_GENERIC(OFString *) *_URLs; size_t _URLIndex; int _errorCode; OFString *_outputPath, *_currentFileName; Index: utils/ofzip/OFZIP.h ================================================================== --- utils/ofzip/OFZIP.h +++ utils/ofzip/OFZIP.h @@ -24,11 +24,11 @@ #endif #ifndef S_IRWXO # define S_IRWXO 0 #endif -@interface OFZIP: OFObject +@interface OFZIP: OFObject { int8_t _overwrite; @public int8_t _outputLevel; OFString *_archivePath;