Hi Noel,
On Tue, 2014-09-23 at 10:01 +0200, Noel Grandin wrote:
I ran my clang plugin over master last night. This is the output.
Awesome - I've up-loaded a log here:
http://users.freedesktop.org/~michael/non-heap-windows.txt
so there is a fair amount of work involved :-)
Heh =) sure, it doesn't look -terribly- bad though, I think each
call-site is a reasonably small change.
So the work is restricted to a reasonable number of files.
The question is; what should we replace it with. Personally I'm more of
a fan of intrusive reference counting for VCL - we don't want lots of
atomics, so that the optimizer can rid us of size inefficiency - and at
least for now we can't ref-count those guys anyway I think.
Then again rtl::Reference<Foo> lost its nasty virtual methods recently
(IIRC), so - perhaps we could use that - but for the fact that it's
unpleasantly long to type. I'd also love to avoid 'orrible casts
everywhere when converting to references to parent types [ perhaps I
just do this wrong myself ;-]
So - possibly having a ButtonRef xFoo; type class that is (underneath)
an rtl::Reference<Button> - and yet can easily be implicitly co-erced to
a WindowRef etc. might fly ?
I guess we need to have a plan in-place there before shunting all those
widgets off onto the heap where we can lifecycle manage them sensibly =)
Thoughts ?
Michael.
--
michael.meeks@collabora.com <><, Pseudo Engineer, itinerant idiot
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.