https://bugs.documentfoundation.org/show_bug.cgi?id=102688

Michael Meeks <michael.me...@collabora.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mikekagan...@hotmail.com,
                   |                            |t...@iki.fi

--- Comment #9 from Michael Meeks <michael.me...@collabora.com> ---
Hmm - so - interestingly; I suspect this intersects with Tor's commit:

https://gerrit.libreoffice.org/gitweb?p=core.git;a=commit;h=f218110744

I -suspect- that this reference device serves rather little purpose here beyond
being a place-holder for map-modes, DPI details etc. and that the change:

     if ( !pRef )
-        pRefDev = EE_DLL().GetGlobalData()->GetStdRefDevice();
+    {
+        pRefDev = new VirtualDevice;
+        pRefDev->SetMapMode( MAP_TWIP );
+        bOwnerOfRefDev = true;

While no doubt safer in the pre-VclPtr past - where the whole lifecycle here
was a witches brew of utter evil ;-) We could now have a reasonably safe VclPtr
that we could get from VCL itself (and dispose during shutdown) - (in fact we
have a static VirtualDevice cache that seems to work in the drawinglayer).

Anyhow - this would seem to mean that we cease allocating an expensive OS
VirtualDevice for each and every EditEngine that is created - which in turn
-should- fix this bug and a lot of others around resource starvation on windows
=)

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to