summaryrefslogtreecommitdiff
path: root/patches/vba/vba-reset-screenupdateing.diff
diff options
context:
space:
mode:
Diffstat (limited to 'patches/vba/vba-reset-screenupdateing.diff')
-rw-r--r--patches/vba/vba-reset-screenupdateing.diff69
1 files changed, 0 insertions, 69 deletions
diff --git a/patches/vba/vba-reset-screenupdateing.diff b/patches/vba/vba-reset-screenupdateing.diff
deleted file mode 100644
index 3b0a609b8..000000000
--- a/patches/vba/vba-reset-screenupdateing.diff
+++ /dev/null
@@ -1,69 +0,0 @@
-diff --git basic/source/classes/.sbxmod.cxx.swp basic/source/classes/.sbxmod.cxx.swp
-deleted file mode 100644
-index cf9f771..0000000
-Binary files basic/source/classes/.sbxmod.cxx.swp and /dev/null differ
-diff --git basic/source/classes/sbxmod.cxx basic/source/classes/sbxmod.cxx
-index cf5b5a5..7e42498 100644
---- basic/source/classes/sbxmod.cxx
-+++ basic/source/classes/sbxmod.cxx
-@@ -98,7 +98,31 @@ SV_IMPL_VARARR(SbiBreakpoints,USHORT)
-
- SV_IMPL_VARARR(HighlightPortions, HighlightPortion)
-
--
-+bool UnlockControllerHack( StarBASIC* pBasic )
-+{
-+ bool bRes = false;
-+ if ( pBasic && pBasic->IsDocBasic() )
-+ {
-+ uno::Any aUnoVar;
-+ ::rtl::OUString sVarName( ::rtl::OUString::createFromAscii( "ThisComponent" ) );
-+ SbUnoObject* pGlobs = dynamic_cast<SbUnoObject*>( pBasic->Find( sVarName, SbxCLASS_DONTCARE ) );
-+ if ( pGlobs )
-+ aUnoVar = pGlobs->getUnoAny();
-+ uno::Reference< frame::XModel > xModel( aUnoVar, uno::UNO_QUERY);
-+ if ( xModel.is() )
-+ {
-+ try
-+ {
-+ xModel->unlockControllers();
-+ bRes = true;
-+ }
-+ catch( uno::Exception& )
-+ {
-+ }
-+ }
-+ }
-+ return bRes;
-+}
- /////////////////////////////////////////////////////////////////////////////
-
- // Ein BASIC-Modul hat EXTSEARCH gesetzt, damit die im Modul enthaltenen
-@@ -750,6 +774,15 @@ USHORT SbModule::Run( SbMethod* pMeth )
-
- delete pRt;
- pMOD = pOldMod;
-+ if ( pINST->nCallLvl == 0 && IsVBACompat() )
-+ {
-+ // VBA always ensure screenupdating is enabled after completing
-+ StarBASIC* pBasic = PTR_CAST(StarBASIC,GetParent());
-+ if ( pBasic && pBasic->IsDocBasic() )
-+ {
-+ UnlockControllerHack( pBasic );
-+ }
-+ }
- if( bDelInst )
- {
- // #57841 Uno-Objekte, die in RTL-Funktionen gehalten werden,
-@@ -774,6 +807,11 @@ USHORT SbModule::Run( SbMethod* pMeth )
- pINST->nCallLvl--; // Call-Level wieder runter
- StarBASIC::FatalError( SbERR_STACK_OVERFLOW );
- }
-+
-+ // VBA always ensure screenupdating is enabled after completing
-+ StarBASIC* pBasic = PTR_CAST(StarBASIC,GetParent());
-+ if ( pBasic && pBasic->IsDocBasic() && !pINST )
-+ UnlockControllerHack( pBasic );
- if( bDelInst )
- {
- // #57841 Uno-Objekte, die in RTL-Funktionen gehalten werden,