[Libreoffice-commits] core.git: Branch 'aoo/trunk' - 6 commits - boost/boost-os2.patch boost/makefile.mk framework/source sd/source svtools/source svx/source sw/inc sw/source ucb/source
Yuri Dario
ydario at apache.org
Tue Feb 18 01:07:46 CET 2014
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 <ydario at 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 <orw at 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 <ydario at 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 <orw at 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 <alg at 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 <af at 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 ; > ;
More information about the Libreoffice-commits
mailing list