From d2a988512efcad7a72c6624f7015fc08271ae0a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Sat, 22 Jul 2017 16:41:44 +0200 Subject: macOS: Detect use of heap-allocated QMacAutoReleasePool QMacAutoReleasePool is backed by an NSAutoreleasePool, which documents that "you should always drain an autorelease pool in the same context (invocation of a method or function, or body of a loop) that it was created". This means allocating QMacAutoReleasePool on the heap is not a supported use-case, but unfortunately we can't detect it on construction time. Instead we detect whether or not the associated NSAutoreleasePool has been drained, and prevent a double-drain of the pool. Change-Id: Ifd7380a06152e9e742d2e199476ed3adab326d9c Reviewed-by: Simon Hausmann --- tests/auto/corelib/tools/qmacautoreleasepool/qmacautoreleasepool.pro | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 tests/auto/corelib/tools/qmacautoreleasepool/qmacautoreleasepool.pro (limited to 'tests/auto/corelib/tools/qmacautoreleasepool/qmacautoreleasepool.pro') diff --git a/tests/auto/corelib/tools/qmacautoreleasepool/qmacautoreleasepool.pro b/tests/auto/corelib/tools/qmacautoreleasepool/qmacautoreleasepool.pro new file mode 100644 index 0000000000..26b3a47472 --- /dev/null +++ b/tests/auto/corelib/tools/qmacautoreleasepool/qmacautoreleasepool.pro @@ -0,0 +1,4 @@ +CONFIG += testcase +TARGET = tst_qmacautoreleasepool +QT = core testlib +SOURCES = tst_qmacautoreleasepool.mm -- cgit v1.2.3