diff -uNr sc.old/source/ui/view/cellsh.cxx sc.new/source/ui/view/cellsh.cxx --- sc.old/source/ui/view/cellsh.cxx 2007-05-30 11:46:28.000000000 +0800 +++ sc.new/source/ui/view/cellsh.cxx 2007-05-30 11:47:14.000000000 +0800 @@ -970,8 +970,6 @@ case SID_OPENDLG_CONSOLIDATE: case SCITEM_CONSOLIDATEDATA: { - if(pDoc->GetChangeTrack()!=NULL) - rSet.DisableItem( nWhich); } break; diff -uNr sc.old/source/ui/view/cellsh2.cxx sc.new/source/ui/view/cellsh2.cxx --- sc.old/source/ui/view/cellsh2.cxx 2007-05-30 11:45:46.000000000 +0800 +++ sc.new/source/ui/view/cellsh2.cxx 2007-05-30 11:46:54.000000000 +0800 @@ -1095,6 +1095,11 @@ case SID_SORT_ASCENDING: case SID_SORT_DESCENDING: case SCITEM_SORTDATA: + { + if ( pDocSh->IsReadOnly() || GetViewData()->IsMultiMarked() ) + rSet.DisableItem( nWhich ); + } + break; case SCITEM_SUBTDATA: case SID_OPENDLG_PIVOTTABLE: {