sc/source/ui/unoobj/docuno.cxx | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-)
New commits: commit f9360a8292c34b77f4f0c5865e91a0bab73581f6 Author: Tomaž Vajngerl <[email protected]> AuthorDate: Thu Feb 26 16:16:34 2026 +0900 Commit: Miklos Vajna <[email protected]> CommitDate: Tue Mar 3 09:08:03 2026 +0100 sc: Send the hash of the default view tab in part info For a sheet view, we need to know to which default view it belongs, so we send the default view tab hash along with other sheet view information when sending the part info. Change-Id: Ic87f6d7e901a61c1dc90ab73134c51c80f0952e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200752 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Miklos Vajna <[email protected]> diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 350e838704f3..255b61ea954f 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -648,17 +648,6 @@ OUString ScModelObj::getPartInfo( int nPart ) ScDocument& rDocument = pViewData->GetDocument(); const bool bIsVisible = rDocument.IsVisible(nPart); const bool bIsProtected = rDocument.IsTabProtected(nPart); - const sc::SheetViewID nSheetViewID = pViewData->GetSheetViewIDForSheet(nPart); - - bool nSheetViewSynced = true; - - if (auto pSheetViewManager = rDocument.GetSheetViewManager(nPart)) - { - if (auto pSheetView = pSheetViewManager->get(nSheetViewID)) - { - nSheetViewSynced = pSheetView->isSynced(); - } - } //FIXME: Implement IsSelected(). const bool bIsSelected = false; //pViewData->GetDocument()->IsSelected(nPart); @@ -668,10 +657,28 @@ OUString ScModelObj::getPartInfo( int nPart ) jsonWriter.put("visible", static_cast<unsigned int>(bIsVisible)); jsonWriter.put("rtllayout", static_cast<unsigned int>(bIsRTLLayout)); jsonWriter.put("protected", static_cast<unsigned int>(bIsProtected)); - jsonWriter.put("sheetviewid", int32_t(nSheetViewID)); - jsonWriter.put("sheetviewsynced", uint32_t(nSheetViewSynced)); jsonWriter.put("selected", static_cast<unsigned int>(bIsSelected)); + const sc::SheetViewID nSheetViewID = pViewData->GetSheetViewIDForSheet(nPart); + if (nSheetViewID != sc::DefaultSheetViewID) + { + bool nSheetViewSynced = true; + if (auto pSheetViewManager = rDocument.GetSheetViewManager(nPart)) + { + if (auto pSheetView = pSheetViewManager->get(nSheetViewID)) + { + nSheetViewSynced = pSheetView->isSynced(); + } + } + SCTAB nDefaultViewTableNumber = rDocument.GetDefaultViewTableNumber(nPart); + sal_Int64 nDefaultViewHashCode; + rDocument.GetHashCode(nDefaultViewTableNumber, nDefaultViewHashCode); + + jsonWriter.put("sheetviewid", int32_t(nSheetViewID)); + jsonWriter.put("defaultviewhash", int64_t(nDefaultViewHashCode)); + jsonWriter.put("sheetviewsynced", uint32_t(nSheetViewSynced)); + } + OUString tabName; pViewData->GetDocument().GetName(nPart, tabName); jsonWriter.put("name", tabName);
