diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2015-03-30 17:49:20 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2015-04-10 13:13:53 +0100 |
commit | 582e89610b366c0d887baa6b8de7fa5f065900fa (patch) | |
tree | 91f3b723d1485b5616d457e30011fa55914785a4 /vcl/qa | |
parent | 49dadad0b55f879ebe5daf539a97043d283ad0a8 (diff) |
vclptr: create Instance helpers, and set initial ref-count to 1.
Document that in README.lifecycle; the problem is that our constructors
currently take and release references left/right on the object being
created, which ... means we need an initial reference.
Change-Id: I5de952b73ac67888c3fbb150d4a7cde2a7bc9abf
Diffstat (limited to 'vcl/qa')
-rw-r--r-- | vcl/qa/cppunit/lifecycle.cxx | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/vcl/qa/cppunit/lifecycle.cxx b/vcl/qa/cppunit/lifecycle.cxx index 12b0a5146631..7c1b1c220f48 100644 --- a/vcl/qa/cppunit/lifecycle.cxx +++ b/vcl/qa/cppunit/lifecycle.cxx @@ -59,7 +59,11 @@ void LifecycleTest::testCast() void LifecycleTest::testVirtualDevice() { - VclPtr<VirtualDevice> pVDev = new VirtualDevice(); + VclPtr<VirtualDevice> pVDev( new VirtualDevice() ); + ScopedVclPtr<VirtualDevice> pVDev2( new VirtualDevice() ); + VclPtrInstance<VirtualDevice> pVDev3; + VclPtrInstance<VirtualDevice> pVDev4( 1 ); + CPPUNIT_ASSERT(!!pVDev && !!pVDev2 && !!pVDev3 && !!pVDev4); } void LifecycleTest::testMultiDispose() @@ -99,8 +103,8 @@ void LifecycleTest::testIsolatedWidgets() void LifecycleTest::testParentedWidgets() { - VclPtr<WorkWindow> xWin(new WorkWindow((vcl::Window *)NULL, - WB_APP|WB_STDWORK)); + ScopedVclPtrInstance<WorkWindow> xWin(new WorkWindow((vcl::Window *)NULL, + WB_APP|WB_STDWORK)); CPPUNIT_ASSERT(xWin.get() != NULL); xWin->Show(); testWidgets(xWin); @@ -129,7 +133,7 @@ void LifecycleTest::testChildDispose() void LifecycleTest::testPostDispose() { - VclPtr<WorkWindow> xWin(new WorkWindow((vcl::Window *)NULL, WB_STDWORK)); + VclPtrInstance<WorkWindow> xWin((vcl::Window *)NULL, WB_STDWORK); xWin->disposeOnce(); // check selected methods continue to work post-dispose |