tdf#99352: explicit ctoring of VclPtrs?

Bjoern Michaelsen bjoern.michaelsen at canonical.com
Tue Mar 7 11:58:02 UTC 2017


Hi all,

so while poking around for tdf#99352, I created a local branch where most
contructions of VclPtr<> from a raw pointer have been replaced with an explicit
construction of a VclPtr<>. I havent used anything fancy (clang rewriter), just
some vim macros. I didnt catch all, but the majority of them I guess.

Question: Do we want that on master?

Having killed the remaining uses of operator=(someptr*) and then removing it
might make finding fishy vcl-foo much easier. Killing the remaining ones could
either be a bit-for-bit EasyHack or a something for clang plugin. So should I
push what I have on master? Im asking as I would need to rebase the patch over
other debug changes I did to find leaking VclPtrs<>, so asking here first
before doing that and pushing to gerrit.

Opinions?

Best,

Bjoern

FWIW: the changes are along the lines of:

-    mpPage = pPage;
+    mpPage = VclPtr<TabPage>(pPage); 

with mpPage being a VclPtr<> and pPage being a raw pointer.



More information about the LibreOffice mailing list