--- old/sc/source/ui/drawfunc/fusel2.cxx 2007-06-22 15:46:54.000000000 +0800 +++ new/sc/source/ui/drawfunc/fusel2.cxx 2007-06-22 15:45:32.000000000 +0800 @@ -148,10 +148,15 @@ BOOL FuSelection::TestComment( SdrPageVi if ( pFoundObj ) { SdrLayer* pLockLayer = NULL; + SCTAB nTab = pViewShell->GetViewData()->GetTabNo(); + ScDocument* pDoc = pViewShell->GetViewData()->GetDocument(); + SfxObjectShell* pDocSh = pViewShell->GetViewData()->GetSfxDocShell(); + BOOL bProt = pDoc->IsTabProtected(nTab) || pDocSh->IsReadOnly(); // Leave the internal note object unlocked - re-lock in ScDrawView::MarkListHasChanged() pLockLayer = pDrDoc->GetLayerAdmin().GetLayerPerID(SC_LAYER_INTERN); if (pLockLayer && pView->IsLayerLocked(pLockLayer->GetName())) - pView->SetLayerLocked( pLockLayer->GetName(), FALSE ); + //pView->SetLayerLocked( pLockLayer->GetName(), FALSE ); + pView->SetLayerLocked( pLockLayer->GetName(), bProt ); } return (pFoundObj != NULL);