Issue 107771 - [sw] remove the UnoCallBack
Summary: [sw] remove the UnoCallBack
Alias: None
Product: Writer
Classification: Application
Component: programming (show other issues)
Version: OOo 1.0.0
Hardware: All All
: P3 Trivial (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
Depends on:
Reported: 2009-12-18 15:39 UTC by
Modified: 2017-05-20 11:15 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Note You need to log in before you can comment on or make changes to this issue.
Description 2009-12-18 15:39:04 UTC
During investigation of issue 105557 it turned out that creating uno References
from SwModify listeners is inherently not thread-safe.

With the unocore locking refactoring work in CWS swunolocking1, the class
SwUnoCallBack was removed, because all it did was allow for this unsafe use of
its registered listeners; SwDoc::pUnoCallBack is now simply a SwModify.

As a consequence, every time a uno object for a ReferenceMark,
DocumentIndexMark, or Footnote is required, a new one will be created.
This is suboptimal: the uno objects for these should register directly at the
corresponding core objects, which should have a weak reference to the uno
object, thus allowing for re-use of existing uno objects in a thread-safe way.

When this is done, SwDoc::pUnoCallBack can be removed completely.
Comment 1 2010-01-11 13:48:23 UTC
because xmloff depends on this, i've fixed it for SwXDocumentIndexMark already
in CWS swunolocking1.

furthermore i've noticed that text fields also register at the UnoCallback, but
for these there seemed to be no instance caching.
Comment 2 Marcus 2017-05-20 11:15:40 UTC
Reset assigne to the default "".