tdf#99352: explicit ctoring of VclPtrs?

Michael Meeks michael.meeks at collabora.com
Tue Mar 7 13:07:04 UTC 2017


Hi Bjoern,

On 07/03/17 11:58, Bjoern Michaelsen wrote:
> 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.

	Ok ? =) sounds sensible to me. Ultimately - I'd love to see all of our
OutputDevice * sub-types replaced with VclPtr<>s everywhere.

> Question: Do we want that on master?

	Good question - the code looks a bit uglier ... ;-) ultimately my hope
would be that we would have not:

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

	But: mpPage = pPage - and pPage is defined as a VclPtr ;-) so - I
wonder if this is the right way to go if we want to re-write it back
again ultimately ?

	Would it be better to have a big easy-hack to cleanup all naked VclPtr
derived pointer types around the place ? initially we did just members
for lifecycle reasons - but it would make sense to do it wider.

	Let me CC Noel - who is really the expert here I think =)

	HTH,

		Michael..

-- 
michael.meeks at collabora.com <><, Pseudo Engineer, itinerant idiot


More information about the LibreOffice mailing list