Estimated read time: 1 minutes
I’ve recently
fixed
a missing-repaint problem in LibreOffice’s headless backend, but the root
cause wasn’t close to the symptom I saw first. Part of the debugging process
was to understand what’s the relation between sdr::contact::ViewContact,
sdr::contact::ViewObjectContact and sdr::contact::ObjectContact.
See this old presentation and the review of my documentation update for the details, but the short version is that:
-
somewhat confusingly,
sdr::contact::ViewContactis part of the model, and there is onesdr::contact::ViewContactobject per shape -
sdr::contact::ViewObjectContactis part of a view, and there is onesdr::contact::ViewObjectContactper shape, per view -
finally
sdr::contact::ObjectContactis part of a view, and there is onesdr::contact::ObjectContactper view
So the answer to my original Is it normal that I have two object contacts and a single view contact for a shape and two views? question is: yes, that’s expected. ;-) Hopefully the updated documentation is now more clear, the incorrect 1:N relation in the original class diagram first confused me.