boost/boost-os2.patch | 22 ++++++ boost/makefile.mk | 3 framework/source/layoutmanager/layoutmanager.cxx | 3 sd/source/ui/func/fuinsert.cxx | 8 ++ svtools/source/misc/langtab.src | 2 svx/source/svdraw/svdedtv.cxx | 21 ++++++ sw/inc/docsh.hxx | 6 - sw/inc/swwait.hxx | 19 ++++- sw/source/core/doc/docdesc.cxx | 2 sw/source/core/edit/autofmt.cxx | 2 sw/source/core/edit/edtab.cxx | 4 - sw/source/core/frmedt/fetab.cxx | 4 - sw/source/core/layout/layact.cxx | 2 sw/source/core/view/viewsh.cxx | 26 +++---- sw/source/ui/app/appenv.cxx | 2 sw/source/ui/app/applab.cxx | 2 sw/source/ui/app/docsh.cxx | 8 +- sw/source/ui/app/docsh2.cxx | 24 ++----- sw/source/ui/app/docshini.cxx | 4 - sw/source/ui/app/swwait.cxx | 69 +++++++++++++-------- sw/source/ui/dbui/dbinsdlg.cxx | 4 - sw/source/ui/dbui/dbmgr.cxx | 2 sw/source/ui/dialog/docstdlg.cxx | 2 sw/source/ui/dochdl/swdtflvr.cxx | 11 +-- sw/source/ui/envelp/envlop1.cxx | 2 sw/source/ui/index/toxmgr.cxx | 2 sw/source/ui/lingu/hyp.cxx | 2 sw/source/ui/misc/glossary.cxx | 4 - sw/source/ui/misc/redlndlg.cxx | 10 +-- sw/source/ui/misc/srtdlg.cxx | 2 sw/source/ui/shells/annotsh.cxx | 2 sw/source/ui/shells/basesh.cxx | 4 - sw/source/ui/shells/drawsh.cxx | 2 sw/source/ui/shells/drwtxtex.cxx | 2 sw/source/ui/shells/frmsh.cxx | 2 sw/source/ui/shells/grfsh.cxx | 2 sw/source/ui/shells/textsh1.cxx | 2 sw/source/ui/uiview/view2.cxx | 6 - sw/source/ui/uiview/viewling.cxx | 2 sw/source/ui/uiview/viewsrch.cxx | 10 +-- ucb/source/ucp/webdav/SerfCallbacks.hxx | 2 ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx | 2 ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx | 2 ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx | 2 ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx | 2 ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx | 2 ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx | 2 ucb/source/ucp/webdav/SerfRequestProcessor.hxx | 2 ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx | 2 49 files changed, 199 insertions(+), 127 deletions(-)
New commits: commit 60f06b770338e6c4f9da8e9d9322f969a2742bd0 Author: Yuri Dario <yda...@apache.org> Date: Mon Feb 17 18:08:12 2014 +0000 #i123817# restored OS/2 boost patches. diff --git a/boost/boost-os2.patch b/boost/boost-os2.patch new file mode 100644 index 0000000..2c23a87 --- /dev/null +++ b/boost/boost-os2.patch @@ -0,0 +1,22 @@ +--- misc/boost_1_55_0/boost/tr1/detail/config.hpp 2010-06-12 11:30:02.000000000 +0200 ++++ misc/build/boost_1_55_0/boost/tr1/detail/config.hpp 2013-07-04 12:49:12.000000000 +0200 +@@ -9,6 +9,7 @@ + #include <cstddef> + + #if (defined(__GNUC__) && !(defined(linux) || defined(__linux) || defined(__linux__))) \ ++ && !defined(__OS2__) \ + || (!defined(_AIX) && defined(__IBMCPP__) && (__IBMCPP__ >= 800)) + // Disable use of #include_next on Linux as typically we are installed in a + // directory that is searched *after* the std lib include path. +--- misc/boost_1_55_0/boost/tr1/detail/config_all.hpp 2011-07-25 11:28:58.000000000 +0200 ++++ misc/build/boost_1_55_0/boost/tr1/detail/config_all.hpp 2013-07-04 12:50:44.000000000 +0200 +@@ -107,7 +107,7 @@ + # endif + + # if !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT) && !defined(__ICC) \ +- && (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) ++ && (defined(__OS2__) || defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) + // Disable use of #include_next on Linux as typically we are installed in a directory that is searched + // *after* the std lib include path: + # define BOOST_TR1_DISABLE_INCLUDE_NEXT +Binary files misc/boost_1_55_0/libs/math/quaternion/TQE_EA.pdf and misc/build/boost_1_55_0/libs/math/quaternion/TQE_EA.pdf differ diff --git a/boost/makefile.mk b/boost/makefile.mk index a63ed37..141de16 100644 --- a/boost/makefile.mk +++ b/boost/makefile.mk @@ -47,6 +47,9 @@ all: TARFILE_NAME=boost_1_55_0 TARFILE_MD5=d6eef4b4cacb2183f2bf265a5a03a354 PATCH_FILES= $(TARFILE_NAME).patch +.IF "$(GUI)"=="OS2" +PATCH_FILES+=boost-os2.patch +.ENDIF CONFIGURE_DIR= CONFIGURE_ACTION= commit 8d769be834186ae6aa05e64d88b95a6b9d874c2e Author: Oliver-Rainer Wittmann <o...@apache.org> Date: Mon Feb 17 16:38:10 2014 +0000 124096: avoid unlock of dispatcher by recursive Lock-Unlock-pattern diff --git a/sw/inc/docsh.hxx b/sw/inc/docsh.hxx index eec6e57..7f84972 100644 --- a/sw/inc/docsh.hxx +++ b/sw/inc/docsh.hxx @@ -280,12 +280,6 @@ public: sal_Int16 GetUpdateDocMode() const {return nUpdateDocMode;} - //Activate wait cursor for all windows of this document - //Optionally all dispatcher could be Locked - //Usually locking should be done using the class: SwWaitObject! - void EnterWait( sal_Bool bLockDispatcher ); - void LeaveWait( sal_Bool bLockDispatcher ); - void ToggleBrowserMode(sal_Bool bOn, SwView* pView); sal_uLong LoadStylesFromFile( const String& rURL, SwgReaderOption& rOpt, diff --git a/sw/inc/swwait.hxx b/sw/inc/swwait.hxx index 78c48ad..c6c78a6 100644 --- a/sw/inc/swwait.hxx +++ b/sw/inc/swwait.hxx @@ -26,15 +26,28 @@ #include <tools/solar.h> #include "swdllapi.h" +#include <hash_set> + class SwDocShell; +class SfxDispatcher; class SW_DLLPUBLIC SwWait { - SwDocShell &rDoc; - sal_Bool bLock; public: - SwWait( SwDocShell &rDocShell, sal_Bool bLockDispatcher ); + // Activate wait cursor for all windows of given document <rDocShell> + // Optional all dispatcher could be Locked + SwWait( + SwDocShell &rDocShell, + const bool bLockUnlockDispatcher ); ~SwWait(); + +private: + void EnterWaitAndLockDispatcher(); + void LeaveWaitAndUnlockDispatcher(); + + SwDocShell& mrDoc; + const bool mbLockUnlockDispatcher; + std::unordered_set< SfxDispatcher* > mpLockedDispatchers; }; #endif diff --git a/sw/source/core/doc/docdesc.cxx b/sw/source/core/doc/docdesc.cxx index 7af17f8..cceb389 100644 --- a/sw/source/core/doc/docdesc.cxx +++ b/sw/source/core/doc/docdesc.cxx @@ -646,7 +646,7 @@ void SwDoc::PrtDataChanged() pSh->GetViewOptions()->IsPrtFormat() ) { if ( GetDocShell() ) - pWait = new SwWait( *GetDocShell(), sal_True ); + pWait = new SwWait( *GetDocShell(), true ); pTmpRoot->StartAllAction(); bEndAction = sal_True; diff --git a/sw/source/core/edit/autofmt.cxx b/sw/source/core/edit/autofmt.cxx index 1a24737..d56748a 100644 --- a/sw/source/core/edit/autofmt.cxx +++ b/sw/source/core/edit/autofmt.cxx @@ -2683,7 +2683,7 @@ void SwEditShell::AutoFormat( const SvxSwAutoFmtFlags* pAFlags ) { aAFFlags = *pAFlags; if( !aAFFlags.bAFmtByInput ) - pWait = new SwWait( *GetDoc()->GetDocShell(), sal_True ); + pWait = new SwWait( *GetDoc()->GetDocShell(), true ); } SwPaM* pCrsr = GetCrsr(); diff --git a/sw/source/core/edit/edtab.cxx b/sw/source/core/edit/edtab.cxx index 4e73db6..8c4053d 100644 --- a/sw/source/core/edit/edtab.cxx +++ b/sw/source/core/edit/edtab.cxx @@ -131,7 +131,7 @@ sal_Bool SwEditShell::TextToTable( const SwInsertTableOptions& rInsTblOpts, sal_Int16 eAdj, const SwTableAutoFmt* pTAFmt ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); sal_Bool bRet = sal_False; StartAllAction(); FOREACHPAM_START(this) @@ -145,7 +145,7 @@ sal_Bool SwEditShell::TextToTable( const SwInsertTableOptions& rInsTblOpts, sal_Bool SwEditShell::TableToText( sal_Unicode cCh ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); sal_Bool bRet = sal_False; SwPaM* pCrsr = GetCrsr(); const SwTableNode* pTblNd = diff --git a/sw/source/core/frmedt/fetab.cxx b/sw/source/core/frmedt/fetab.cxx index 04b1074..f27dfec 100644 --- a/sw/source/core/frmedt/fetab.cxx +++ b/sw/source/core/frmedt/fetab.cxx @@ -106,7 +106,7 @@ TblWait::TblWait( sal_uInt16 nCnt, SwFrm *pFrm, SwDocShell &rDocShell, sal_uInt1 sal_Bool bWait = 20 < nCnt || 20 < nCnt2 || (pFrm && 20 < pFrm->ImplFindTabFrm()->GetTable()->GetTabLines().Count()); if( bWait ) - pWait = new SwWait( rDocShell, sal_True ); + pWait = new SwWait( rDocShell, true ); } @@ -1145,7 +1145,7 @@ void SwFEShell::SetRowsToRepeat( sal_uInt16 nSet ) SwTabFrm *pTab = pFrm ? pFrm->FindTabFrm() : 0; if( pTab && pTab->GetTable()->GetRowsToRepeat() != nSet ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); SET_CURR_SHELL( this ); StartAllAction(); GetDoc()->SetRowsToRepeat( *pTab->GetTable(), nSet ); diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx index cbc8da0..4df850e 100644 --- a/sw/source/core/layout/layact.cxx +++ b/sw/source/core/layout/layact.cxx @@ -167,7 +167,7 @@ void SwLayAction::CheckWaitCrsr() if ( !IsWait() && IsWaitAllowed() && IsPaint() && ((Ticks() - GetStartTicks()) >= CLOCKS_PER_SEC/2) ) { - pWait = new SwWait( *pRoot->GetFmt()->GetDoc()->GetDocShell(), sal_True ); + pWait = new SwWait( *pRoot->GetFmt()->GetDoc()->GetDocShell(), true ); } } diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index cc89077..05ebb43 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -806,7 +806,7 @@ void ViewShell::SetParaSpaceMax( bool bNew ) IDocumentSettingAccess* pIDSA = getIDocumentSettingAccess(); if( pIDSA->get(IDocumentSettingAccess::PARA_SPACE_MAX) != bNew ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); pIDSA->set(IDocumentSettingAccess::PARA_SPACE_MAX, bNew ); const sal_uInt8 nInv = INV_PRTAREA | INV_TABLE | INV_SECTION; lcl_InvalidateAllCntnt( *this, nInv ); @@ -818,7 +818,7 @@ void ViewShell::SetParaSpaceMaxAtPages( bool bNew ) IDocumentSettingAccess* pIDSA = getIDocumentSettingAccess(); if( pIDSA->get(IDocumentSettingAccess::PARA_SPACE_MAX_AT_PAGES) != bNew ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); pIDSA->set(IDocumentSettingAccess::PARA_SPACE_MAX_AT_PAGES, bNew ); const sal_uInt8 nInv = INV_PRTAREA | INV_TABLE | INV_SECTION; lcl_InvalidateAllCntnt( *this, nInv ); @@ -830,7 +830,7 @@ void ViewShell::SetTabCompat( bool bNew ) IDocumentSettingAccess* pIDSA = getIDocumentSettingAccess(); if( pIDSA->get(IDocumentSettingAccess::TAB_COMPAT) != bNew ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); pIDSA->set(IDocumentSettingAccess::TAB_COMPAT, bNew ); const sal_uInt8 nInv = INV_PRTAREA | INV_SIZE | INV_TABLE | INV_SECTION; lcl_InvalidateAllCntnt( *this, nInv ); @@ -842,7 +842,7 @@ void ViewShell::SetAddExtLeading( bool bNew ) IDocumentSettingAccess* pIDSA = getIDocumentSettingAccess(); if ( pIDSA->get(IDocumentSettingAccess::ADD_EXT_LEADING) != bNew ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); pIDSA->set(IDocumentSettingAccess::ADD_EXT_LEADING, bNew ); SdrModel* pTmpDrawModel = getIDocumentDrawModelAccess()->GetDrawModel(); if ( pTmpDrawModel ) @@ -857,7 +857,7 @@ void ViewShell::SetUseVirDev( bool bNewVirtual ) IDocumentSettingAccess* pIDSA = getIDocumentSettingAccess(); if ( pIDSA->get(IDocumentSettingAccess::USE_VIRTUAL_DEVICE) != bNewVirtual ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); // this sets the flag at the document and calls PrtDataChanged IDocumentDeviceAccess* pIDDA = getIDocumentDeviceAccess(); pIDDA->setReferenceDeviceType( bNewVirtual, true ); @@ -871,7 +871,7 @@ void ViewShell::SetAddParaSpacingToTableCells( bool _bAddParaSpacingToTableCells IDocumentSettingAccess* pIDSA = getIDocumentSettingAccess(); if ( pIDSA->get(IDocumentSettingAccess::ADD_PARA_SPACING_TO_TABLE_CELLS) != _bAddParaSpacingToTableCells ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); pIDSA->set(IDocumentSettingAccess::ADD_PARA_SPACING_TO_TABLE_CELLS, _bAddParaSpacingToTableCells ); const sal_uInt8 nInv = INV_PRTAREA; lcl_InvalidateAllCntnt( *this, nInv ); @@ -885,7 +885,7 @@ void ViewShell::SetUseFormerLineSpacing( bool _bUseFormerLineSpacing ) IDocumentSettingAccess* pIDSA = getIDocumentSettingAccess(); if ( pIDSA->get(IDocumentSettingAccess::OLD_LINE_SPACING) != _bUseFormerLineSpacing ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); pIDSA->set(IDocumentSettingAccess::OLD_LINE_SPACING, _bUseFormerLineSpacing ); const sal_uInt8 nInv = INV_PRTAREA; lcl_InvalidateAllCntnt( *this, nInv ); @@ -898,7 +898,7 @@ void ViewShell::SetUseFormerObjectPositioning( bool _bUseFormerObjPos ) IDocumentSettingAccess* pIDSA = getIDocumentSettingAccess(); if ( pIDSA->get(IDocumentSettingAccess::USE_FORMER_OBJECT_POS) != _bUseFormerObjPos ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); pIDSA->set(IDocumentSettingAccess::USE_FORMER_OBJECT_POS, _bUseFormerObjPos ); lcl_InvalidateAllObjPos( *this ); } @@ -910,7 +910,7 @@ void ViewShell::SetConsiderWrapOnObjPos( bool _bConsiderWrapOnObjPos ) IDocumentSettingAccess* pIDSA = getIDocumentSettingAccess(); if ( pIDSA->get(IDocumentSettingAccess::CONSIDER_WRAP_ON_OBJECT_POSITION) != _bConsiderWrapOnObjPos ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); pIDSA->set(IDocumentSettingAccess::CONSIDER_WRAP_ON_OBJECT_POSITION, _bConsiderWrapOnObjPos ); lcl_InvalidateAllObjPos( *this ); } @@ -922,7 +922,7 @@ void ViewShell::SetUseFormerTextWrapping( bool _bUseFormerTextWrapping ) IDocumentSettingAccess* pIDSA = getIDocumentSettingAccess(); if ( pIDSA->get(IDocumentSettingAccess::USE_FORMER_TEXT_WRAPPING) != _bUseFormerTextWrapping ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); pIDSA->set(IDocumentSettingAccess::USE_FORMER_TEXT_WRAPPING, _bUseFormerTextWrapping ); const sal_uInt8 nInv = INV_PRTAREA | INV_SIZE | INV_TABLE | INV_SECTION; lcl_InvalidateAllCntnt( *this, nInv ); @@ -936,7 +936,7 @@ void ViewShell::SetDoNotJustifyLinesWithManualBreak( bool _bDoNotJustifyLinesWit IDocumentSettingAccess* pIDSA = getIDocumentSettingAccess(); if ( pIDSA->get(IDocumentSettingAccess::DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK) != _bDoNotJustifyLinesWithManualBreak ) { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); pIDSA->set(IDocumentSettingAccess::DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK, _bDoNotJustifyLinesWithManualBreak ); const sal_uInt8 nInv = INV_PRTAREA | INV_SIZE | INV_TABLE | INV_SECTION; lcl_InvalidateAllCntnt( *this, nInv ); @@ -955,7 +955,7 @@ void ViewShell::SetDoNotJustifyLinesWithManualBreak( bool _bDoNotJustifyLinesWit void ViewShell::Reformat() { - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); // Wir gehen auf Nummer sicher: // Wir muessen die alten Fontinformationen wegschmeissen, @@ -997,7 +997,7 @@ void ViewShell::Reformat() void ViewShell::CalcLayout() { SET_CURR_SHELL( this ); - SwWait aWait( *GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *GetDoc()->GetDocShell(), true ); //Cache vorbereiten und restaurieren, damit er nicht versaut wird. SwSaveSetLRUOfst aSaveLRU( *SwTxtFrm::GetTxtCache(), diff --git a/sw/source/ui/app/appenv.cxx b/sw/source/ui/app/appenv.cxx index fdf7101..24b5365 100644 --- a/sw/source/ui/app/appenv.cxx +++ b/sw/source/ui/app/appenv.cxx @@ -252,7 +252,7 @@ static sal_uInt16 nTitleNo = 0; if (nMode == ENV_NEWDOC || nMode == ENV_INSERT) { - SwWait aWait( (SwDocShell&)*xDocSh, sal_True ); + SwWait aWait( (SwDocShell&)*xDocSh, true ); // Dialog auslesen, Item in Config speichern const SwEnvItem& rItem = pItem ? *pItem : (const SwEnvItem&) pDlg->GetOutputItemSet()->Get(FN_ENVELOP); diff --git a/sw/source/ui/app/applab.cxx b/sw/source/ui/app/applab.cxx index 2d3886a..5eb0b96 100644 --- a/sw/source/ui/app/applab.cxx +++ b/sw/source/ui/app/applab.cxx @@ -239,7 +239,7 @@ static sal_uInt16 nBCTitleNo = 0; { // block for locks the dispatcher!! - SwWait aWait( (SwDocShell&)*xDocSh, sal_True ); + SwWait aWait( (SwDocShell&)*xDocSh, true ); SET_CURR_SHELL(pSh); pSh->SetLabelDoc(rItem.bSynchron); diff --git a/sw/source/ui/app/docsh.cxx b/sw/source/ui/app/docsh.cxx index ce028e6..16e07a1 100644 --- a/sw/source/ui/app/docsh.cxx +++ b/sw/source/ui/app/docsh.cxx @@ -244,7 +244,7 @@ sal_Bool SwDocShell::ConvertFrom( SfxMedium& rMedium ) return sal_False; // #129881# return if no reader is found SotStorageRef pStg=pRead->getSotStorageRef(); // #i45333# save sot storage ref in case of recursive calls - SwWait aWait( *this, sal_True ); + SwWait aWait( *this, true ); // SfxProgress unterdruecken, wenn man Embedded ist SW_MOD()->SetEmbeddedLoadSave( @@ -307,7 +307,7 @@ sal_Bool SwDocShell::Save() //#i3370# remove quick help to prevent saving of autocorrection suggestions if(pView) pView->GetEditWin().StopQuickHelp(); - SwWait aWait( *this, sal_True ); + SwWait aWait( *this, true ); CalcLayoutForOLEObjects(); // format for OLE objets // --> OD 2006-03-17 #i62875# @@ -416,7 +416,7 @@ sal_Bool SwDocShell::SaveAs( SfxMedium& rMedium ) } } } - SwWait aWait( *this, sal_True ); + SwWait aWait( *this, true ); //#i3370# remove quick help to prevent saving of autocorrection suggestions if(pView) pView->GetEditWin().StopQuickHelp(); @@ -746,7 +746,7 @@ sal_Bool SwDocShell::ConvertTo( SfxMedium& rMedium ) //Keine View also das ganze Dokument! if ( pWrtShell ) { - SwWait aWait( *this, sal_True ); + SwWait aWait( *this, true ); // --> OD 2009-12-31 #i106906# const sal_Bool bFormerLockView = pWrtShell->IsViewLocked(); pWrtShell->LockView( sal_True ); diff --git a/sw/source/ui/app/docsh2.cxx b/sw/source/ui/app/docsh2.cxx index 9a94f89..e39f19f 100644 --- a/sw/source/ui/app/docsh2.cxx +++ b/sw/source/ui/app/docsh2.cxx @@ -244,8 +244,6 @@ void SwDocShell::Notify( SfxBroadcaster&, const SfxHint& rHint ) { if( !pDoc ) { -//MA: Kommt bei der OLE-Registration vor! -// ASSERT( !this, "DocShell ist nicht richtig initialisiert!" ); return ; } @@ -261,18 +259,16 @@ void SwDocShell::Notify( SfxBroadcaster&, const SfxHint& rHint ) // swithc for more actions switch( ((SfxSimpleHint&) rHint).GetId() ) { - case SFX_HINT_TITLECHANGED: - if( GetMedium() ) - nAction = 2; + case SFX_HINT_TITLECHANGED: + if( GetMedium() ) + nAction = 2; break; } } else if( rHint.ISA(SfxEventHint) && ((SfxEventHint&) rHint).GetEventId() == SFX_EVENT_LOADFINISHED ) { - // --> OD 2004-12-03 #i38126# - own action id nAction = 3; - // <-- } if( nAction ) @@ -289,31 +285,25 @@ void SwDocShell::Notify( SfxBroadcaster&, const SfxHint& rHint ) case 2: pDoc->GetSysFldType( RES_FILENAMEFLD )->UpdateFlds(); break; - // --> OD 2004-12-03 #i38126# - own action for event LOADFINISHED - // in order to avoid a modified document. - // --> OD 2005-02-01 #i41679# - Also for the instance of <SwDoc> - // it has to be assured, that it's not modified. + + // own action for event LOADFINISHED in order to avoid a modified document. + // Also for the instance of <SwDoc> it has to be assured, that it's not modified. // Perform the same as for action id 1, but disable <SetModified>. case 3: { const bool bResetModified = IsEnableSetModified(); if ( bResetModified ) EnableSetModified( sal_False ); - // --> OD 2005-02-01 #i41679# const bool bIsDocModified = pDoc->IsModified(); - // <-- pDoc->DocInfoChgd( ); - // --> OD 2005-02-01 #i41679# if ( !bIsDocModified ) pDoc->ResetModified(); - // <-- if ( bResetModified ) EnableSetModified( sal_True ); } break; - // <-- } if( pWrtShell ) @@ -1445,7 +1435,7 @@ void SwDocShell::Execute(SfxRequest& rReq) { if( PrepareClose( sal_False ) ) { - SwWait aWait( *this, sal_True ); + SwWait aWait( *this, true ); //bDone = bCreateHtml //#outline level,removed by zhaojianwei // ? pDoc->GenerateHTMLDoc( aFileName, pSplitColl ) diff --git a/sw/source/ui/app/docshini.cxx b/sw/source/ui/app/docshini.cxx index 2a82ba2..c217d44 100644 --- a/sw/source/ui/app/docshini.cxx +++ b/sw/source/ui/app/docshini.cxx @@ -567,7 +567,7 @@ sal_Bool SwDocShell::Load( SfxMedium& rMedium ) nUpdateDocMode = pUpdateDocItem ? pUpdateDocItem->GetValue() : document::UpdateDocMode::NO_UPDATE; } - SwWait aWait( *this, sal_True ); + SwWait aWait( *this, true ); sal_uInt32 nErr = ERR_SWG_READ_ERROR; switch( GetCreateMode() ) { @@ -684,7 +684,7 @@ sal_Bool SwDocShell::LoadFrom( SfxMedium& rMedium ) if ( xAccess->hasByName( aStreamName ) && rMedium.GetStorage()->isStreamElement( aStreamName ) ) { // Das Laden - SwWait aWait( *this, sal_True ); + SwWait aWait( *this, true ); { ASSERT( !mxBasePool.is(), "wer hat seinen Pool nicht zerstoert?" ); mxBasePool = new SwDocStyleSheetPool( *pDoc, SFX_CREATE_MODE_ORGANIZER == GetCreateMode() ); diff --git a/sw/source/ui/app/swwait.cxx b/sw/source/ui/app/swwait.cxx index 356b486..4d554f7 100644 --- a/sw/source/ui/app/swwait.cxx +++ b/sw/source/ui/app/swwait.cxx @@ -24,48 +24,69 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sw.hxx" +#include <swwait.hxx> +#include <docsh.hxx> #include <sfx2/viewfrm.hxx> #include <sfx2/dispatch.hxx> #include <vcl/window.hxx> -#include <docsh.hxx> -#include <swwait.hxx> -void SwDocShell::EnterWait( sal_Bool bLockDispatcher ) +SwWait::SwWait( + SwDocShell &rDocShell, + const bool bLockUnlockDispatcher ) + : mrDoc ( rDocShell ) + , mbLockUnlockDispatcher( bLockUnlockDispatcher ) + , mpLockedDispatchers() +{ + EnterWaitAndLockDispatcher(); +} + +SwWait::~SwWait() +{ + LeaveWaitAndUnlockDispatcher(); +} + +void SwWait::EnterWaitAndLockDispatcher() { - SfxViewFrame *pFrame = SfxViewFrame::GetFirst( this, sal_False ); + SfxViewFrame *pFrame = SfxViewFrame::GetFirst( &mrDoc, sal_False ); while ( pFrame ) { pFrame->GetWindow().EnterWait(); - if ( bLockDispatcher ) - pFrame->GetDispatcher()->Lock( sal_True ); - pFrame = SfxViewFrame::GetNext( *pFrame, this, sal_False ); + if ( mbLockUnlockDispatcher ) + { + // do not look already locked dispatchers + SfxDispatcher* pDispatcher = pFrame->GetDispatcher(); + if ( !pDispatcher->IsLocked() ) + { + pDispatcher->Lock( sal_True ); + mpLockedDispatchers.insert( pDispatcher ); + } + } + + pFrame = SfxViewFrame::GetNext( *pFrame, &mrDoc, sal_False ); } } -void SwDocShell::LeaveWait( sal_Bool bLockDispatcher ) +void SwWait::LeaveWaitAndUnlockDispatcher() { - SfxViewFrame *pFrame = SfxViewFrame::GetFirst( this, sal_False ); + SfxViewFrame *pFrame = SfxViewFrame::GetFirst( &mrDoc, sal_False ); while ( pFrame ) { pFrame->GetWindow().LeaveWait(); - if ( bLockDispatcher ) - pFrame->GetDispatcher()->Lock( sal_False ); - pFrame = SfxViewFrame::GetNext( *pFrame, this, sal_False ); - } -} - -SwWait::SwWait( SwDocShell &rDocShell, sal_Bool bLockDispatcher ) : - rDoc ( rDocShell ), - bLock( bLockDispatcher ) -{ - rDoc.EnterWait( bLock ); -} + if ( mbLockUnlockDispatcher ) + { + // only unlock dispatchers which had been locked + SfxDispatcher* pDispatcher = pFrame->GetDispatcher(); + if ( mpLockedDispatchers.find( pDispatcher ) != mpLockedDispatchers.end() ) + { + mpLockedDispatchers.erase( pDispatcher ); + pDispatcher->Lock( sal_False ); + } + } -SwWait::~SwWait() -{ - rDoc.LeaveWait( bLock ); + pFrame = SfxViewFrame::GetNext( *pFrame, &mrDoc, sal_False ); + } } diff --git a/sw/source/ui/dbui/dbinsdlg.cxx b/sw/source/ui/dbui/dbinsdlg.cxx index b208eff..7b3dd1c 100644 --- a/sw/source/ui/dbui/dbinsdlg.cxx +++ b/sw/source/ui/dbui/dbinsdlg.cxx @@ -1223,7 +1223,7 @@ void SwInsertDBColAutoPilot::DataToDoc( const Sequence<Any>& rSelection, break; if( 10 == i ) - pWait = ::std::auto_ptr<SwWait>(new SwWait( *pView->GetDocShell(), sal_True )); + pWait = ::std::auto_ptr<SwWait>(new SwWait( *pView->GetDocShell(), true )); } rSh.MoveTable( GetfnTableCurr(), GetfnTableStart() ); @@ -1455,7 +1455,7 @@ void SwInsertDBColAutoPilot::DataToDoc( const Sequence<Any>& rSelection, rSh.SwEditShell::SplitNode(); if( 10 == i ) - pWait = ::std::auto_ptr<SwWait>(new SwWait( *pView->GetDocShell(), sal_True )); + pWait = ::std::auto_ptr<SwWait>(new SwWait( *pView->GetDocShell(), true )); } if( !bSetCrsr && pMark != NULL) diff --git a/sw/source/ui/dbui/dbmgr.cxx b/sw/source/ui/dbui/dbmgr.cxx index e33ee9d..353fe30 100644 --- a/sw/source/ui/dbui/dbmgr.cxx +++ b/sw/source/ui/dbui/dbmgr.cxx @@ -504,7 +504,7 @@ void SwNewDBMgr::ImportFromConnection( SwWrtShell* pSh ) ImportDBEntry(pSh); if( 10 == ++i ) - pWait = new SwWait( *pSh->GetView().GetDocShell(), sal_True); + pWait = new SwWait( *pSh->GetView().GetDocShell(), true ); } while(ToNextMergeRecord()); } diff --git a/sw/source/ui/dialog/docstdlg.cxx b/sw/source/ui/dialog/docstdlg.cxx index eb2d51a..cc446c9 100644 --- a/sw/source/ui/dialog/docstdlg.cxx +++ b/sw/source/ui/dialog/docstdlg.cxx @@ -166,7 +166,7 @@ void SwDocStatPage::Update() ASSERT( pSh, "Shell not found" ); - SwWait aWait( *pSh->GetDoc()->GetDocShell(), sal_True ); + SwWait aWait( *pSh->GetDoc()->GetDocShell(), true ); pSh->StartAction(); aDocStat = pSh->GetDoc()->GetDocStat(); pSh->GetDoc()->UpdateDocStat( aDocStat ); diff --git a/sw/source/ui/dochdl/swdtflvr.cxx b/sw/source/ui/dochdl/swdtflvr.cxx index 6b5d98b..4317410 100644 --- a/sw/source/ui/dochdl/swdtflvr.cxx +++ b/sw/source/ui/dochdl/swdtflvr.cxx @@ -831,7 +831,7 @@ int SwTransferable::PrepareForCopy( sal_Bool bIsCut ) { SwWait *pWait = 0; if( pWrtShell->ShouldWait() ) - pWait = new SwWait( *pWrtShell->GetView().GetDocShell(), sal_True ); + pWait = new SwWait( *pWrtShell->GetView().GetDocShell(), true ); pClpDocFac = new SwDocFac; @@ -996,7 +996,7 @@ int SwTransferable::CalculateAndCopy() { if(!pWrtShell) return 0; - SwWait aWait( *pWrtShell->GetView().GetDocShell(), sal_True ); + SwWait aWait( *pWrtShell->GetView().GetDocShell(), true ); String aStr( pWrtShell->Calculate() ); @@ -1018,7 +1018,7 @@ int SwTransferable::CopyGlossary( SwTextBlocks& rGlossary, { if(!pWrtShell) return 0; - SwWait aWait( *pWrtShell->GetView().GetDocShell(), sal_True ); + SwWait aWait( *pWrtShell->GetView().GetDocShell(), true ); pClpDocFac = new SwDocFac; SwDoc *const pCDoc = lcl_GetDoc(*pClpDocFac); @@ -1163,8 +1163,7 @@ int SwTransferable::PasteData( TransferableDataHelper& rData, const Point* pPt, sal_Int8 nDropAction, sal_Bool bPasteSelection ) { - SwWait aWait( *rSh.GetView(). - GetDocShell(), sal_False ); + SwWait aWait( *rSh.GetView().GetDocShell(), false ); SwTrnsfrActionAndUndo* pAction = 0; SwModule* pMod = SW_MOD(); @@ -2854,7 +2853,7 @@ int SwTransferable::PasteFormat( SwWrtShell& rSh, TransferableDataHelper& rData, sal_uLong nFormat ) { - SwWait aWait( *rSh.GetView().GetDocShell(), sal_False ); + SwWait aWait( *rSh.GetView().GetDocShell(), false ); int nRet = 0; sal_uLong nPrivateFmt = FORMAT_PRIVATE; diff --git a/sw/source/ui/envelp/envlop1.cxx b/sw/source/ui/envelp/envlop1.cxx index d382b95..9dd43a2 100644 --- a/sw/source/ui/envelp/envlop1.cxx +++ b/sw/source/ui/envelp/envlop1.cxx @@ -281,7 +281,7 @@ SwEnvPage::~SwEnvPage() IMPL_LINK( SwEnvPage, DatabaseHdl, ListBox *, pListBox ) { - SwWait aWait( *pSh->GetView().GetDocShell(), sal_True ); + SwWait aWait( *pSh->GetView().GetDocShell(), true ); if (pListBox == &aDatabaseLB) { diff --git a/sw/source/ui/index/toxmgr.cxx b/sw/source/ui/index/toxmgr.cxx index e1f519b..7f7410d 100644 --- a/sw/source/ui/index/toxmgr.cxx +++ b/sw/source/ui/index/toxmgr.cxx @@ -293,7 +293,7 @@ sal_Bool SwTOXMgr::UpdateOrInsertTOX(const SwTOXDescription& rDesc, SwTOXBase** ppBase, const SfxItemSet* pSet) { - SwWait aWait( *pSh->GetView().GetDocShell(), sal_True ); + SwWait aWait( *pSh->GetView().GetDocShell(), true ); sal_Bool bRet = sal_True; const SwTOXBase* pCurTOX = ppBase && *ppBase ? *ppBase : GetCurTOX(); SwTOXBase* pTOX = (SwTOXBase*)pCurTOX; diff --git a/sw/source/ui/lingu/hyp.cxx b/sw/source/ui/lingu/hyp.cxx index f0660c4..35cbff5 100644 --- a/sw/source/ui/lingu/hyp.cxx +++ b/sw/source/ui/lingu/hyp.cxx @@ -96,7 +96,7 @@ sal_Bool SwHyphWrapper::SpellContinue() if( bAutomatic ) { PSH->StartAllAction(); - pWait = new SwWait( *pView->GetDocShell(), sal_True ); + pWait = new SwWait( *pView->GetDocShell(), true ); } uno::Reference< uno::XInterface > xHyphWord = bInSelection ? diff --git a/sw/source/ui/misc/glossary.cxx b/sw/source/ui/misc/glossary.cxx index 2c1d2d2..10a53cf 100644 --- a/sw/source/ui/misc/glossary.cxx +++ b/sw/source/ui/misc/glossary.cxx @@ -1091,7 +1091,7 @@ sal_Bool SwGlTreeListBox::NotifyMoving( SvLBoxEntry* pTarget, if(pDestParent != pSrcParent) { SwGlossaryDlg* pDlg = (SwGlossaryDlg*)Window::GetParent(); - SwWait aWait( *pDlg->pSh->GetView().GetDocShell(), sal_True ); + SwWait aWait( *pDlg->pSh->GetView().GetDocShell(), true ); GroupUserData* pGroupData = (GroupUserData*)pSrcParent->GetUserData(); String sSourceGroup(pGroupData->sGroupName); @@ -1139,7 +1139,7 @@ sal_Bool SwGlTreeListBox::NotifyCopying( SvLBoxEntry* pTarget, if(pDestParent != pSrcParent) { SwGlossaryDlg* pDlg = (SwGlossaryDlg*)Window::GetParent(); - SwWait aWait( *pDlg->pSh->GetView().GetDocShell(), sal_True ); + SwWait aWait( *pDlg->pSh->GetView().GetDocShell(), true ); GroupUserData* pGroupData = (GroupUserData*)pSrcParent->GetUserData(); String sSourceGroup(pGroupData->sGroupName); diff --git a/sw/source/ui/misc/redlndlg.cxx b/sw/source/ui/misc/redlndlg.cxx index eb275d3..11b75fc 100644 --- a/sw/source/ui/misc/redlndlg.cxx +++ b/sw/source/ui/misc/redlndlg.cxx @@ -145,7 +145,7 @@ void SwModelessRedlineAcceptDlg::Activate() if (pChildWin->GetOldDocShell() != pDocSh) { // Dok-Wechsel - SwWait aWait( *pDocSh, sal_False ); + SwWait aWait( *pDocSh, false ); SwWrtShell* pSh = pView->GetWrtShellPtr(); pChildWin->SetOldDocShell(pDocSh); // Rekursion vermeiden (durch Modified-Hdl) @@ -310,7 +310,7 @@ SwRedlineAcceptDlg::~SwRedlineAcceptDlg() void SwRedlineAcceptDlg::Init(sal_uInt16 nStart) { - SwWait aWait( *::GetActiveView()->GetDocShell(), sal_False ); + SwWait aWait( *::GetActiveView()->GetDocShell(), false ); pTable->SetUpdateMode(sal_False); aUsedSeqNo.Remove((sal_uInt16)0, aUsedSeqNo.Count()); @@ -480,7 +480,7 @@ void SwRedlineAcceptDlg::Activate() return; SwView *pView = ::GetActiveView(); - SwWait aWait( *pView->GetDocShell(), sal_False ); + SwWait aWait( *pView->GetDocShell(), false ); aUsedSeqNo.Remove((sal_uInt16)0, aUsedSeqNo.Count()); @@ -922,7 +922,7 @@ void SwRedlineAcceptDlg::CallAcceptReject( sal_Bool bSelect, sal_Bool bAccept ) if( !bAccept ) FnAccRej = &SwEditShell::RejectRedline; - SwWait aWait( *pSh->GetView().GetDocShell(), sal_True ); + SwWait aWait( *pSh->GetView().GetDocShell(), true ); pSh->StartAction(); // #111827# @@ -1328,7 +1328,7 @@ IMPL_LINK( SwRedlineAcceptDlg, CommandHdl, void*, EMPTYARG ) if (pTable->GetSortedCol() == nSortMode) bSortDir = !pTable->GetSortDirection(); - SwWait aWait( *::GetActiveView()->GetDocShell(), sal_False ); + SwWait aWait( *::GetActiveView()->GetDocShell(), false ); pTable->SortByCol(nSortMode, bSortDir); if (nSortMode == 0xffff) Init(); // Alles neu fuellen diff --git a/sw/source/ui/misc/srtdlg.cxx b/sw/source/ui/misc/srtdlg.cxx index c2d459e..8303936 100644 --- a/sw/source/ui/misc/srtdlg.cxx +++ b/sw/source/ui/misc/srtdlg.cxx @@ -392,7 +392,7 @@ void SwSortDlg::Apply() sal_Bool bRet; { - SwWait aWait( *rSh.GetView().GetDocShell(), sal_True ); + SwWait aWait( *rSh.GetView().GetDocShell(), true ); rSh.StartAllAction(); if( 0 != (bRet = rSh.Sort( aOptions ))) rSh.SetModified(); diff --git a/sw/source/ui/shells/annotsh.cxx b/sw/source/ui/shells/annotsh.cxx index 6e8ce45..d9b4e2a 100644 --- a/sw/source/ui/shells/annotsh.cxx +++ b/sw/source/ui/shells/annotsh.cxx @@ -455,7 +455,7 @@ void SwAnnotationShell::Exec( SfxRequest &rReq ) SwDocStat aCurr; SwDocStat aDocStat( rSh.getIDocumentStatistics()->GetDocStat() ); { - SwWait aWait( *rView.GetDocShell(), sal_True ); + SwWait aWait( *rView.GetDocShell(), true ); rSh.StartAction(); rSh.CountWords( aCurr ); rSh.UpdateDocStat( aDocStat ); diff --git a/sw/source/ui/shells/basesh.cxx b/sw/source/ui/shells/basesh.cxx index 950ce0e..79aace3 100644 --- a/sw/source/ui/shells/basesh.cxx +++ b/sw/source/ui/shells/basesh.cxx @@ -647,7 +647,7 @@ void SwBaseShell::Execute(SfxRequest &rReq) break; case FN_UPDATE_CHARTS: { - SwWait aWait( *rView.GetDocShell(), sal_True ); + SwWait aWait( *rView.GetDocShell(), true ); rSh.UpdateAllCharts(); } break; @@ -752,7 +752,7 @@ void SwBaseShell::Execute(SfxRequest &rReq) if ( (!rSh.IsSelFrmMode() || nSelType & nsSelectionType::SEL_GRF) && nGalleryItemType == com::sun::star::gallery::GalleryItemType::GRAPHIC ) { - SwWait aWait( *rView.GetDocShell(), sal_True ); + SwWait aWait( *rView.GetDocShell(), true ); String aGrfName, aFltName; const Graphic aGrf( pGalleryItem->GetGraphic() ); diff --git a/sw/source/ui/shells/drawsh.cxx b/sw/source/ui/shells/drawsh.cxx index e77f293..9718653 100644 --- a/sw/source/ui/shells/drawsh.cxx +++ b/sw/source/ui/shells/drawsh.cxx @@ -340,7 +340,7 @@ void SwDrawShell::Execute(SfxRequest &rReq) SwDocStat aCurr; SwDocStat aDocStat( rSh.getIDocumentStatistics()->GetDocStat() ); { - SwWait aWait( *GetView().GetDocShell(), sal_True ); + SwWait aWait( *GetView().GetDocShell(), true ); rSh.StartAction(); rSh.CountWords( aCurr ); rSh.UpdateDocStat( aDocStat ); diff --git a/sw/source/ui/shells/drwtxtex.cxx b/sw/source/ui/shells/drwtxtex.cxx index c6c780a..63657ef 100644 --- a/sw/source/ui/shells/drwtxtex.cxx +++ b/sw/source/ui/shells/drwtxtex.cxx @@ -418,7 +418,7 @@ void SwDrawTextShell::Execute( SfxRequest &rReq ) SwDocStat aCurr; SwDocStat aDocStat( rSh.getIDocumentStatistics()->GetDocStat() ); { - SwWait aWait( *GetView().GetDocShell(), sal_True ); + SwWait aWait( *GetView().GetDocShell(), true ); rSh.StartAction(); rSh.CountWords( aCurr ); rSh.UpdateDocStat( aDocStat ); diff --git a/sw/source/ui/shells/frmsh.cxx b/sw/source/ui/shells/frmsh.cxx index b854bd6..b520a12 100644 --- a/sw/source/ui/shells/frmsh.cxx +++ b/sw/source/ui/shells/frmsh.cxx @@ -282,7 +282,7 @@ void SwFrameShell::Execute(SfxRequest &rReq) SwDocStat aCurr; SwDocStat aDocStat( rSh.getIDocumentStatistics()->GetDocStat() ); { - SwWait aWait( *GetView().GetDocShell(), sal_True ); + SwWait aWait( *GetView().GetDocShell(), true ); rSh.StartAction(); rSh.CountWords( aCurr ); rSh.UpdateDocStat( aDocStat ); diff --git a/sw/source/ui/shells/grfsh.cxx b/sw/source/ui/shells/grfsh.cxx index b6ffc2d..2ec894b 100644 --- a/sw/source/ui/shells/grfsh.cxx +++ b/sw/source/ui/shells/grfsh.cxx @@ -321,7 +321,7 @@ void SwGrfShell::Execute(SfxRequest &rReq) if( sGrfNm.Len() ) { SwDocShell* pDocSh = GetView().GetDocShell(); - SwWait aWait( *pDocSh, sal_True ); + SwWait aWait( *pDocSh, true ); SfxMedium* pMedium = pDocSh->GetMedium(); INetURLObject aAbs; if( pMedium ) diff --git a/sw/source/ui/shells/textsh1.cxx b/sw/source/ui/shells/textsh1.cxx index bd47adb..b67d2b2 100644 --- a/sw/source/ui/shells/textsh1.cxx +++ b/sw/source/ui/shells/textsh1.cxx @@ -1358,7 +1358,7 @@ void SwTextShell::Execute(SfxRequest &rReq) SwDocStat aCurr; SwDocStat aDocStat( rSh.getIDocumentStatistics()->GetDocStat() ); { - SwWait aWait( *GetView().GetDocShell(), sal_True ); + SwWait aWait( *GetView().GetDocShell(), true ); rSh.StartAction(); rSh.CountWords( aCurr ); rSh.UpdateDocStat( aDocStat ); diff --git a/sw/source/ui/uiview/view2.cxx b/sw/source/ui/uiview/view2.cxx index 4630ce7..6835b5b 100644 --- a/sw/source/ui/uiview/view2.cxx +++ b/sw/source/ui/uiview/view2.cxx @@ -209,7 +209,7 @@ int SwView::InsertGraphic( const String &rPath, const String &rFilter, sal_Bool bLink, GraphicFilter *pFlt, Graphic* pPreviewGrf, sal_Bool bRule ) { - SwWait aWait( *GetDocShell(), sal_True ); + SwWait aWait( *GetDocShell(), true ); Graphic aGrf; int nRes = GRFILTER_OK; @@ -2146,7 +2146,7 @@ long SwView::InsertMedium( sal_uInt16 nSlotId, SfxMedium* pMedium, sal_Int16 nVe sal_uLong nErrno; { //Scope for SwWait-Object, to be able to execute slots //outside this scope. - SwWait aWait( *GetDocShell(), sal_True ); + SwWait aWait( *GetDocShell(), true ); pWrtShell->StartAllAction(); if ( pWrtShell->HasSelection() ) pWrtShell->DelRight(); // Selektionen loeschen @@ -2206,7 +2206,7 @@ extern int lcl_FindDocShell( SfxObjectShellRef& xDocSh, SfxObjectShellLock& xLoc sFltNm, nVersion, pDocSh ); if( nRet ) { - SwWait aWait( *GetDocShell(), sal_True ); + SwWait aWait( *GetDocShell(), true ); pWrtShell->StartAllAction(); pWrtShell->EnterStdMode(); // Selektionen loeschen diff --git a/sw/source/ui/uiview/viewling.cxx b/sw/source/ui/uiview/viewling.cxx index 1554055..79ed597 100644 --- a/sw/source/ui/uiview/viewling.cxx +++ b/sw/source/ui/uiview/viewling.cxx @@ -626,7 +626,7 @@ void SwView::StartThesaurus() { // create dialog { //Scope for SwWait-Object - SwWait aWait( *GetDocShell(), sal_True ); + SwWait aWait( *GetDocShell(), true ); // load library with dialog only on demand ... SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); pDlg = pFact->CreateThesaurusDialog( &GetEditWin(), xThes, aTmp, eLang ); diff --git a/sw/source/ui/uiview/viewsrch.cxx b/sw/source/ui/uiview/viewsrch.cxx index 28274ea..c3fb70e 100644 --- a/sw/source/ui/uiview/viewsrch.cxx +++ b/sw/source/ui/uiview/viewsrch.cxx @@ -335,7 +335,7 @@ void SwView::ExecSearch(SfxRequest& rReq, sal_Bool bNoMessage) sal_uLong nFound; { //Scope for SwWait-Object - SwWait aWait( *GetDocShell(), sal_True ); + SwWait aWait( *GetDocShell(), true ); pWrtShell->StartAllAction(); nFound = FUNC_Search( aOpts ); pWrtShell->EndAllAction(); @@ -479,7 +479,7 @@ sal_Bool SwView::SearchAndWrap(sal_Bool bApi) if (!pSrchItem->GetSelection()) (pWrtShell->*pWrtShell->fnKillSel)(0, sal_False); - SwWait *pWait = new SwWait( *GetDocShell(), sal_True ); + SwWait *pWait = new SwWait( *GetDocShell(), true ); if( FUNC_Search( aOpts ) ) { bFound = sal_True; @@ -546,7 +546,7 @@ sal_Bool SwView::SearchAndWrap(sal_Bool bApi) } pWrtShell->StartAllAction(); pWrtShell->Pop(sal_False); - pWait = new SwWait( *GetDocShell(), sal_True ); + pWait = new SwWait( *GetDocShell(), true ); sal_Bool bSrchBkwrd = DOCPOS_START == aOpts.eEnd; @@ -578,7 +578,7 @@ sal_Bool SwView::SearchAndWrap(sal_Bool bApi) sal_Bool SwView::SearchAll(sal_uInt16* pFound) { - SwWait aWait( *GetDocShell(), sal_True ); + SwWait aWait( *GetDocShell(), true ); pWrtShell->StartAllAction(); SwSearchOptions aOpts( pWrtShell, pSrchItem->GetBackward() ); @@ -607,7 +607,7 @@ sal_Bool SwView::SearchAll(sal_uInt16* pFound) void SwView::Replace() { - SwWait aWait( *GetDocShell(), sal_True ); + SwWait aWait( *GetDocShell(), true ); pWrtShell->StartAllAction(); commit bc34afebf4562ad3a8c48484f3fb9841ab4809b0 Author: Yuri Dario <yda...@apache.org> Date: Mon Feb 17 16:32:25 2014 +0000 #i123744# use only one way to include serf headers. diff --git a/ucb/source/ucp/webdav/SerfCallbacks.hxx b/ucb/source/ucp/webdav/SerfCallbacks.hxx index 840e3a3..0f94c6a 100644 --- a/ucb/source/ucp/webdav/SerfCallbacks.hxx +++ b/ucb/source/ucp/webdav/SerfCallbacks.hxx @@ -23,7 +23,7 @@ #ifndef INCLUDED_CALLBACKS_HXX #define INCLUDED_CALLBACKS_HXX -#include <serf.h> +#include <serf/serf.h> extern "C" apr_status_t Serf_ConnectSetup( apr_socket_t *skt, serf_bucket_t **read_bkt, diff --git a/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx index 4cb0796..a883e2c 100644 --- a/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx @@ -24,7 +24,7 @@ #include "SerfCopyReqProcImpl.hxx" -#include <serf.h> +#include <serf/serf.h> namespace http_dav_ucp { diff --git a/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx index 54b7190..11148d8 100644 --- a/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx @@ -24,7 +24,7 @@ #include "SerfDeleteReqProcImpl.hxx" -#include <serf.h> +#include <serf/serf.h> namespace http_dav_ucp { diff --git a/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx index 14692e1..9b73e9c 100644 --- a/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx @@ -24,7 +24,7 @@ #include "SerfMkColReqProcImpl.hxx" -#include <serf.h> +#include <serf/serf.h> namespace http_dav_ucp { diff --git a/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx index 391313f..91a5463 100644 --- a/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx @@ -24,7 +24,7 @@ #include "SerfMoveReqProcImpl.hxx" -#include <serf.h> +#include <serf/serf.h> namespace http_dav_ucp { diff --git a/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx index e9a55d0..5d5e71d 100644 --- a/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx @@ -24,7 +24,7 @@ #include "SerfPostReqProcImpl.hxx" -#include <serf.h> +#include <serf/serf.h> using namespace com::sun::star; diff --git a/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx index f24f68d..a3f5fba 100644 --- a/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx @@ -26,7 +26,7 @@ #include "SerfPutReqProcImpl.hxx" -#include <serf.h> +#include <serf/serf.h> namespace http_dav_ucp { diff --git a/ucb/source/ucp/webdav/SerfRequestProcessor.hxx b/ucb/source/ucp/webdav/SerfRequestProcessor.hxx index 673eb39..c2ab235 100644 --- a/ucb/source/ucp/webdav/SerfRequestProcessor.hxx +++ b/ucb/source/ucp/webdav/SerfRequestProcessor.hxx @@ -26,7 +26,7 @@ #include <apr_errno.h> #include <apr_pools.h> -#include <serf.h> +#include <serf/serf.h> #include "DAVTypes.hxx" #include "DAVResource.hxx" diff --git a/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx b/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx index 96b0d51..57611ec 100644 --- a/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx +++ b/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx @@ -22,7 +22,7 @@ #ifndef INCLUDED_SERFREQUESTPROCESSORIMPL_HXX #define INCLUDED_SERFREQUESTPROCESSORIMPL_HXX -#include <serf.h> +#include <serf/serf.h> #include <sal/types.h> #include "DAVRequestEnvironment.hxx" commit 50b10da7434d774ac463c148bbaeb051d2b3a22d Author: Oliver-Rainer Wittmann <o...@apache.org> Date: Mon Feb 17 16:20:12 2014 +0000 124096: correct clearance of <LayoutManager::m_xDockingAreaAcceptor> on disposing diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx index 20b18fc..e2fadb1 100644 --- a/framework/source/layoutmanager/layoutmanager.cxx +++ b/framework/source/layoutmanager/layoutmanager.cxx @@ -2895,6 +2895,8 @@ throw( RuntimeException ) // Our frame gets disposed, release all our references that depends on a working frame reference. Application::RemoveEventListener( LINK( this, LayoutManager, SettingsChanged ) ); + setDockingAreaAcceptor( Reference< ui::XDockingAreaAcceptor >() ); + // destroy all elements, it's possible that dettaching is NOT called! implts_destroyElements(); impl_clearUpMenuBar(); @@ -2939,7 +2941,6 @@ throw( RuntimeException ) m_xFrame.clear(); delete m_pGlobalSettings; m_pGlobalSettings = 0; - m_xDockingAreaAcceptor = Reference< ui::XDockingAreaAcceptor >(); bDisposeAndClear = sal_True; } commit 623cd778689bd0851652b2db00b24c308dfb657a Author: Armin Le Grand <a...@apache.org> Date: Mon Feb 17 15:48:54 2014 +0000 i123468 Added SdrEndTextEdit before replacing EmptyPresObj, also secured ReplaceObjectAtView to check for active TextEdit, assert this and make an emergency correction diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx index a10ccd9..1c19b66 100644 --- a/sd/source/ui/func/fuinsert.cxx +++ b/sd/source/ui/func/fuinsert.cxx @@ -378,6 +378,14 @@ void FuInsertOLE::DoExecute( SfxRequest& rReq ) pPage->InsertPresObj( pOleObj, ePresObjKind ); pOleObj->SetUserCall(pPickObj->GetUserCall()); } + + // #123468# we need to end text edit before replacing the object. There cannot yet + // being text typed (else it would not be an EmptyPresObj anymore), but it may be + // in text edit mode + if(mpView->IsTextEdit()) + { + mpView->SdrEndTextEdit(); + } } bool bRet = true; diff --git a/svx/source/svdraw/svdedtv.cxx b/svx/source/svdraw/svdedtv.cxx index 5656cf0..f69242c 100644 --- a/svx/source/svdraw/svdedtv.cxx +++ b/svx/source/svdraw/svdedtv.cxx @@ -39,6 +39,7 @@ #include "svx/svdstr.hrc" // Namen aus der Resource #include "svx/svdglob.hxx" // StringCache #include <svx/e3dsceneupdater.hxx> +#include <svx/svdview.hxx> // #i13033# #include <clonelist.hxx> @@ -1022,6 +1023,26 @@ sal_Bool SdrEditView::InsertObjectAtView(SdrObject* pObj, SdrPageView& rPV, sal_ void SdrEditView::ReplaceObjectAtView(SdrObject* pOldObj, SdrPageView& rPV, SdrObject* pNewObj, sal_Bool bMark) { + if(IsTextEdit()) + { +#ifdef DBG_UTIL + if(pOldObj && dynamic_cast< SdrTextObj* >(pOldObj) && static_cast< SdrTextObj* >(pOldObj)->IsTextEditActive()) + { + OSL_ENSURE(false, "OldObject is in TextEdit mode, this has to be ended before replacing it usnig SdrEndTextEdit (!)"); + } + + if(pNewObj && dynamic_cast< SdrTextObj* >(pNewObj) && static_cast< SdrTextObj* >(pNewObj)->IsTextEditActive()) + { + OSL_ENSURE(false, "NewObject is in TextEdit mode, this has to be ended before replacing it usnig SdrEndTextEdit (!)"); + } +#endif + + // #123468# emergency repair situation, needs to cast up to a class derived from + // this one; (aw080 has a mechanism for that and the view hierarchy is secured to + // always be a SdrView) + if(dynamic_cast< SdrView* >(this)) static_cast< SdrView* >(this)->SdrEndTextEdit(); + } + SdrObjList* pOL=pOldObj->GetObjList(); const bool bUndo = IsUndoEnabled(); if( bUndo ) commit 7cb6c17be30228228b0db7a6497aecca57ad9401 Author: Andre Fischer <a...@apache.org> Date: Mon Feb 17 12:54:23 2014 +0000 124241: Fixed the language name 'Kazakh' diff --git a/svtools/source/misc/langtab.src b/svtools/source/misc/langtab.src index 6e0214f..4f7eb99 100644 --- a/svtools/source/misc/langtab.src +++ b/svtools/source/misc/langtab.src @@ -127,7 +127,7 @@ StringArray STR_ARR_SVT_LANGUAGE_TABLE < "Kannada" ; LANGUAGE_KANNADA ; > ; < "Kashmiri (Kashmir)" ; LANGUAGE_KASHMIRI ; > ; < "Kashmiri (India)" ; LANGUAGE_KASHMIRI_INDIA ; > ; - < "Kazak" ; LANGUAGE_KAZAK ; > ; + < "Kazakh" ; LANGUAGE_KAZAK ; > ; < "Konkani" ; LANGUAGE_KONKANI ; > ; < "Korean (RoK)" ; LANGUAGE_KOREAN ; > ; < "Latvian" ; LANGUAGE_LATVIAN ; > ; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits