ObjFW  Diff

Differences From Artifact [7aefac85c2]:

  • File src/foundation-compat.m — part of check-in [3d0a1604ae] at 2011-02-02 22:26:45 on branch trunk — Increase blocks compatibility by replacing NSAutoreleasePool. NSAutoreleasePool is replaced by OFAutoreleasePool now so that there is no conflict because OFBlocks are used (blocks are OFBlocks as soon as ObjFW is linked). An application expecting an NSBlock, but getting an OFBlock because ObjFW is linked, would fail to autorelease the block otherwise, as the block would be in an OFAutoreleasePool. By replacing NSAutoreleasePool with OFAutoreleasePool, the application will still properly free the autoreleased block. This will also make it easier to write applications using both, Foundation and ObjFW, since the developer does not need to take care about two different autorelease pools, but they are united instead. (user: js size: 1969)

To Artifact [1de79742c4]:

  • File src/foundation-compat.m — part of check-in [4bace0f852] at 2011-02-04 15:36:49 on branch trunk — Oops. Forgot to remove a fixme before committing. (user: js size: 2445)

10
11
12
13
14
15
16
17
18






19
20
21
22
23
24
25
 *
 * Alternatively, it may be distributed under the terms of the GNU General
 * Public License, either version 2 or 3, which can be found in the file
 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

/* FIXME:
 * Kommentar warum benötigt






 */

#include "config.h"

#import <objc/runtime.h>

#import "OFAutoreleasePool.h"







|
|
>
>
>
>
>
>







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 *
 * Alternatively, it may be distributed under the terms of the GNU General
 * Public License, either version 2 or 3, which can be found in the file
 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

/*
 * This file replaces NSAutoreleasePool with OFAutoreleasePool when it is
 * linked. This is done so there is no conflict because OFBlocks are used
 * (blocks are OFBlocks as soon as ObjFW is linked). An application expecting
 * an NSBlock, but getting an OFBlock because ObjFW is linked, would fail to
 * autorelease the block otherwise, as the block would be in an
 * OFAutoreleasePool. By replacing NSAutoreleasePool with OFAutoreleasePool,
 * the application will still properly free the autoreleased block.
 */

#include "config.h"

#import <objc/runtime.h>

#import "OFAutoreleasePool.h"