https://bugs.documentfoundation.org/show_bug.cgi?id=97527
Bug ID: 97527
Summary: vcl: reference-count Menu ...
Product: LibreOffice
Version: 5.1.0.1 rc
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: graphics stack
Assignee: [email protected]
Reporter: [email protected]
We have a nice VclPtr<> template for reference counting the odd vcl/ types that
we have around the place. However it currently is only good for counting
OutputDevice derivatives.
That is a shame - we really need to do the same conversion of delete ->
dispose, and handling references properly for a number of other types both
internal (in vcl/ backends) and external.
To do that we need to split the VclPtr pieces out of OutDev into another
base-class; say: "VclReferenceBase" or something (?) - you'll see the acquire,
delete, mutable mnRef also these guys:
protected:
/// release all references to other objects.
virtual void dispose();
public:
/// call the dispose() method if we have not already been disposed.
void disposeOnce();
bool isDisposed() const { return mbDisposed; }
So - step #1 is to factor that out into a nice base-class and inherit
'OutputDevice' from that - then re-run 'make check' etc. ;-)
Step #2 of this - is to then convert the next class to use that; a good target
might be: Menu
so:
class VCL_DLLPUBLIC Menu : public ::VclReferenceBase, public Resource
or somesuch - and then switch all Menu instances on the stack, or as members
into VclPtr< Menu >'s - and ... well everything do as for the VclPtr<> cleanup
- but for Menu classes =)
Hopefully then we can move onto the internal structures in VCL too.
Thanks ! =)
--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs