Repository.mk | 57 +++++++++++----------- bin/run | 24 +++++++++ framework/source/uielement/toolbarmanager.cxx | 14 ++++- sc/inc/cellsuno.hxx | 1 sc/source/ui/unoobj/cellsuno.cxx | 28 +++++++++- scp2/AutoInstall.mk | 3 - scp2/InstallModule_quickstart.mk | 4 + scp2/source/gnome/module_gnome.scp | 4 - scp2/source/ooo/file_library_ooo.scp | 21 -------- scp2/source/ooo/file_ooo.scp | 47 ------------------ scp2/source/ooo/module_ooo.scp | 3 - scp2/source/quickstart/file_quickstart.scp | 26 ---------- scp2/source/quickstart/module_quickstart.scp | 4 + shell/Module_shell.mk | 2 solenv/gbuild/Helper.mk | 67 +++++++++++++++++++------- sw/source/uibase/uno/SwXDocumentSettings.cxx | 5 + 16 files changed, 155 insertions(+), 155 deletions(-)
New commits: commit fc9e78f4498a3b44be72e13c0c64d235f62b8a99 Author: Michael Stahl <[email protected]> Date: Fri Oct 31 17:51:46 2014 +0100 framework: avoid double-free in ToolBarManager() The timer could run after the ToolBarManager is deleted because the dispose() method can accidentally restart the timer somehow. Change-Id: I86868f08f436976761e814d4cea1cd5a0e348935 diff --git a/framework/source/uielement/toolbarmanager.cxx b/framework/source/uielement/toolbarmanager.cxx index e00a974..bac2210 100644 --- a/framework/source/uielement/toolbarmanager.cxx +++ b/framework/source/uielement/toolbarmanager.cxx @@ -243,6 +243,7 @@ ToolBarManager::ToolBarManager( const Reference< XComponentContext >& rxContext, ToolBarManager::~ToolBarManager() { + assert(!m_aAsyncUpdateControllersTimer.IsActive()); OSL_ASSERT( m_pToolBar == 0 ); OSL_ASSERT( !m_bAddedToTaskPaneList ); } @@ -475,7 +476,9 @@ throw ( RuntimeException, std::exception ) { SolarMutexGuard g; if ( Action.Action == FrameAction_CONTEXT_CHANGED ) + { m_aAsyncUpdateControllersTimer.Start(); + } } void SAL_CALL ToolBarManager::statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) @@ -563,9 +566,6 @@ void SAL_CALL ToolBarManager::dispose() throw( RuntimeException, std::exception { SolarMutexGuard g; - // stop timer to prevent timer events after dispose - m_aAsyncUpdateControllersTimer.Stop(); - RemoveControllers(); if ( m_xDocImageManager.is() ) @@ -629,6 +629,10 @@ void SAL_CALL ToolBarManager::dispose() throw( RuntimeException, std::exception m_xModuleAcceleratorManager.clear(); m_xDocAcceleratorManager.clear(); + // stop timer to prevent timer events after dispose + // do it last because other calls could restart timer in StateChanged() + m_aAsyncUpdateControllersTimer.Stop(); + m_bDisposed = true; } } @@ -1412,7 +1416,9 @@ void ToolBarManager::FillToolbar( const Reference< XIndexAccess >& rItemContaine if( m_pToolBar->WillUsePopupMode() ) UpdateControllers(); else if ( m_pToolBar->IsReallyVisible() ) + { m_aAsyncUpdateControllersTimer.Start(); + } // Try to retrieve UIName from the container property set and set it as the title // if it is not empty. @@ -2038,7 +2044,9 @@ IMPL_LINK( ToolBarManager, StateChanged, StateChangedType*, pStateChangedType ) else if ( *pStateChangedType == StateChangedType::VISIBLE ) { if ( m_pToolBar->IsReallyVisible() ) + { m_aAsyncUpdateControllersTimer.Start(); + } } else if ( *pStateChangedType == StateChangedType::INITSHOW ) { commit 03cca068ed901d1862c440a6f414d17609785974 Author: Michael Stahl <[email protected]> Date: Fri Oct 31 12:35:53 2014 +0100 i#90076: avoid double-free race condition for ScCellRangesBase This is similar to fdo#72695, just with SfxBroadcaster in Calc. Solve it in a similar way, by putting a WeakReference to "this" into the UNO object so its Notify() can return if another thread is already in the dtor waiting for the SolarMutex. ==11581==ERROR: AddressSanitizer: heap-use-after-free on address 0x6170006fdb08 at pc 0x2b2c4f5b8e3e bp 0x2b2c0b2ad9f0 sp 0x2b2c0b2ad9e8 READ of size 8 at 0x6170006fdb08 thread T262 (cppu_threadpool) #0 0x2b2c4f5b8e3d in ScCellRangesBase::~ScCellRangesBase() /sc/source/ui/unoobj/cellsuno.cxx:1448 #1 0x2b2c4f643914 in ScCellRangeObj::~ScCellRangeObj() /sc/source/ui/unoobj/cellsuno.cxx:4751 #2 0x2b2c4f697624 in ScCellObj::~ScCellObj() /sc/source/ui/unoobj/cellsuno.cxx:6053 #3 0x2b2c4f69648d in ScCellObj::~ScCellObj() /sc/source/ui/unoobj/cellsuno.cxx:6052 #4 0x2b2c4f69661f in non-virtual thunk to ScCellObj::~ScCellObj() /sc/source/ui/unoobj/cellsuno.cxx:6053 #5 0x2b2b2c58b6af in cppu::OWeakObject::release() /cppuhelper/source/weak.cxx:204 #6 0x2b2c4f5c50ff in ScCellRangesBase::release() /sc/source/ui/unoobj/cellsuno.cxx:1752 #7 0x2b2c4f64de58 in ScCellRangeObj::release() /sc/source/ui/unoobj/cellsuno.cxx:4800 #8 0x2b2c4f6a2c08 in ScCellObj::release() /sc/source/ui/unoobj/cellsuno.cxx:6093 #9 0x2b2c4f6a5f0f in non-virtual thunk to ScCellObj::release() /sc/source/ui/unoobj/cellsuno.cxx:6094 #10 0x2b2c053b96fb in bridges::cpp_uno::shared::freeUnoInterfaceProxy(_uno_ExtEnvironment*, void*) /bridges/source/cpp_uno/shared/unointerfaceproxy.cxx:43 #11 0x2b2b2bae80fb in (anonymous namespace)::s_stub_defenv_revokeInterface(__va_list_tag (*) [1]) /cppu/source/uno/lbenv.cxx:383 0x6170006fdb08 is located 264 bytes inside of 728-byte region [0x6170006fda00,0x6170006fdcd8) freed by thread T264 (cppu_threadpool) here: #3 0x2b2c49c980f5 in cppu::OWeakObject::operator delete(void*) /include/cppuhelper/weak.hxx:87 #4 0x2b2c4f5b840a in ScCellRangesBase::~ScCellRangesBase() /sc/source/ui/unoobj/cellsuno.cxx:1442 #5 0x2b2c4f5b858f in non-virtual thunk to ScCellRangesBase::~ScCellRangesBase() /sc/source/ui/unoobj/cellsuno.cxx:1458 #6 0x2b2b2c58b6af in cppu::OWeakObject::release() /cppuhelper/source/weak.cxx:204 #7 0x2b2c4f5c50ff in ScCellRangesBase::release() /sc/source/ui/unoobj/cellsuno.cxx:1752 #8 0x2b2c4f5c65ff in non-virtual thunk to ScCellRangesBase::release() /sc/source/ui/unoobj/cellsuno.cxx:1753 #9 0x2b2c4af84583 in com::sun::star::uno::Reference<com::sun::star::uno::XInterface>::~Reference() /include/com/sun/star/uno/Reference.hxx:104 #10 0x2b2c4f5bc66f in ScCellRangesBase::Notify(SfxBroadcaster&, SfxHint const&) /sc/source/ui/unoobj/cellsuno.cxx:1570 #11 0x2b2c4f5bdf0d in non-virtual thunk to ScCellRangesBase::Notify(SfxBroadcaster&, SfxHint const&) /sc/source/ui/unoobj/cellsuno.cxx:1645 #12 0x2b2b31dda705 in SfxBroadcaster::Broadcast(SfxHint const&) /svl/source/notify/SfxBroadcaster.cxx:41 #13 0x2b2c4b03f2e4 in ScDocument::InsertTab(short, rtl::OUString const&, bool, bool) /sc/source/core/data/document.cxx:510 #14 0x2b2c4e7ed861 in ScDocFunc::InsertTable(short, rtl::OUString const&, bool, bool) /sc/source/ui/docshell/docfunc.cxx:3007 #15 0x2b2c50b1f415 in ScViewFunc::InsertTable(rtl::OUString const&, short, bool) /sc/source/ui/view/viewfun2.cxx:1855 #16 0x2b2c502e075f in ScDBFunc::ShowDataPilotSourceData(ScDPObject&, com::sun::star::uno::Sequence<com::sun::star::sheet::DataPilotFieldFilter> const&) /sc/source/ui/view/dbfunc3.cxx:2056 #17 0x2b2c4fa8924d in ScDataPilotTableObj::insertDrillDownSheet(com::sun::star::table::CellAddress const&) /sc/source/ui/unoobj/dapiuno.cxx:1286 Change-Id: I4cd0fca46b9b81311bddfab2229ab9abf4c06c4e diff --git a/sc/inc/cellsuno.hxx b/sc/inc/cellsuno.hxx index 7408ee2..0ec4e6c 100644 --- a/sc/inc/cellsuno.hxx +++ b/sc/inc/cellsuno.hxx @@ -175,6 +175,7 @@ class SC_DLLPUBLIC ScCellRangesBase : public com::sun::star::beans::XPropertySet friend class ooo::vba::excel::ScVbaCellRangeAccess; private: + css::uno::WeakReference<css::uno::XInterface> m_wThis; const SfxItemPropertySet* pPropSet; ScDocShell* pDocShell; ScLinkListener* pValueListener; diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx index 9280d96..7a50745 100644 --- a/sc/source/ui/unoobj/cellsuno.cxx +++ b/sc/source/ui/unoobj/cellsuno.cxx @@ -1401,6 +1401,15 @@ ScCellRangesBase::ScCellRangesBase(ScDocShell* pDocSh, const ScRange& rR) : bGotDataChangedHint( false ), aValueListeners( 0 ) { + // this is a hack to get m_wThis initialized; ideally there would be + // factory functions doing this but there are so many subclasses of this... + ++m_refCount; + { + m_wThis = uno::Reference<uno::XInterface>( + static_cast<cppu::OWeakObject*>(this)); + } + --m_refCount; + ScRange aCellRange(rR); aCellRange.Justify(); aRanges.Append( aCellRange ); @@ -1430,6 +1439,15 @@ ScCellRangesBase::ScCellRangesBase(ScDocShell* pDocSh, const ScRangeList& rR) : bGotDataChangedHint( false ), aValueListeners( 0 ) { + // this is a hack to get m_wThis initialized; ideally there would be + // factory functions doing this but there are so many subclasses of this... + ++m_refCount; + { + m_wThis = uno::Reference<uno::XInterface>( + static_cast<cppu::OWeakObject*>(this)); + } + --m_refCount; + if (pDocShell) // Null if created with createInstance { ScDocument& rDoc = pDocShell->GetDocument(); @@ -1529,6 +1547,11 @@ const ScMarkData* ScCellRangesBase::GetMarkData() void ScCellRangesBase::Notify( SfxBroadcaster&, const SfxHint& rHint ) { + uno::Reference<uno::XInterface> const xThis(m_wThis); + if (!xThis.is()) + { // fdo#72695: if UNO object is already dead, don't revive it with event + return; + } if ( dynamic_cast<const ScUpdateRefHint*>(&rHint) ) { const ScUpdateRefHint& rRef = static_cast<const ScUpdateRefHint&>(rHint); @@ -1541,12 +1564,9 @@ void ScCellRangesBase::Notify( SfxBroadcaster&, const SfxHint& rHint ) if ( aRanges.UpdateReference( rRef.GetMode(), &rDoc, rRef.GetRange(), rRef.GetDx(), rRef.GetDy(), rRef.GetDz() ) ) { - // i#90076; the object "this" was destroyed after calling ScTableSheetObj::getImplementation - // this hack make sure that the object lives a bit longer - uno::Reference<uno::XInterface> xInterface((cppu::OWeakObject*)this, uno::UNO_QUERY); if ( rRef.GetMode() == URM_INSDEL && aRanges.size() == 1 - && ScTableSheetObj::getImplementation( xInterface ) + && ScTableSheetObj::getImplementation(xThis) ) { // #101755#; the range size of a sheet does not change commit 21a5dc2ac524815a7b80fa54cd28a7b49aae6d5f Author: Michael Stahl <[email protected]> Date: Thu Oct 30 23:52:56 2014 +0100 gbuild: enforce AutoInstall for Library, Executable, Jar ... by disallowing usage of gb_Helper_register_* without _for_install for layers that imply installation. Change-Id: I5734b2d6fbc57196633a562dd5df0236cc290ca6 diff --git a/solenv/gbuild/Helper.mk b/solenv/gbuild/Helper.mk index 398b2f7..943cce3 100644 --- a/solenv/gbuild/Helper.mk +++ b/solenv/gbuild/Helper.mk @@ -92,8 +92,14 @@ $(2)_$(1).clean : $(if $(4),$(4),$(call gb_$(2)_get_clean_target,$(1))) endef define gb_Helper_init_registries +gb_Executable_VALIDGROUPS_INSTALLED := UREBIN SDK OOO +gb_Executable_VALIDGROUPS_NOTINSTALLED := NONE gb_Executable_VALIDGROUPS := UREBIN SDK OOO NONE -gb_Library_VALIDGROUPS := OOOLIBS PLAINLIBS_NONE PLAINLIBS_URE PLAINLIBS_OOO PRIVATELIBS_URE RTVERLIBS UNOVERLIBS EXTENSIONLIBS PLAINLIBS_SHLXTHDL +gb_Library_VALIDGROUPS_INSTALLED := OOOLIBS PLAINLIBS_URE PLAINLIBS_OOO PRIVATELIBS_URE RTVERLIBS UNOVERLIBS PLAINLIBS_SHLXTHDL +gb_Library_VALIDGROUPS_NOTINSTALLED := PLAINLIBS_NONE EXTENSIONLIBS +gb_Library_VALIDGROUPS := OOOLIBS PLAINLIBS_URE PLAINLIBS_OOO PRIVATELIBS_URE RTVERLIBS UNOVERLIBS PLAINLIBS_SHLXTHDL PLAINLIBS_NONE EXTENSIONLIBS +gb_Jar_VALIDGROUPS_INSTALLED := URE OOO +gb_Jar_VALIDGROUPS_NOTINSTALLED := OXT NONE gb_Jar_VALIDGROUPS := URE OOO OXT NONE $$(foreach group,$$(gb_Executable_VALIDGROUPS),$$(eval gb_Executable_$$(group) :=)) @@ -117,10 +123,7 @@ $(foreach group,$(gb_Executable_VALIDGROUPS),\ endef -define gb_Helper_register_executables -ifeq ($$(filter $(1),$$(gb_Executable_VALIDGROUPS)),) -$$(eval $$(call gb_Output_error,$(1) is not a valid group for executables. Valid groups are: $$(gb_Executable_VALIDGROUPS))) -endif +define gb_Helper__register_executables $(foreach group,$(gb_Executable_VALIDGROUPS),\ $(foreach target,$(2),\ $(if $(filter $(target),$(gb_Executable_$(group))),\ @@ -132,18 +135,28 @@ gb_Executable_$(1) += $(2) endef +# $(call gb_Helper_register_executables,layer,exes) +define gb_Helper_register_executables +ifeq ($$(filter $(1),$$(gb_Executable_VALIDGROUPS_NOTINSTALLED)),) +$$(eval $$(call gb_Output_error,$(1) is not a valid group for executables that are not installed. Valid groups are: $$(gb_Executable_VALIDGROUPS_NOTINSTALLED). Use gb_Helper_register_executables_for_install for installed executables.)) +endif +$(call gb_Helper__register_executables,$(1),$(2)) + +endef + +# $(call gb_Helper_register_executables_for_install,layer,installmodule,exes) define gb_Helper_register_executables_for_install $(if $(3),,$(call gb_Output_error,gb_Helper_register_executables_for_install: no executables - need 3 parameters)) -$(call gb_Helper_register_executables,$(1),$(3)) +ifeq ($$(filter $(1),$$(gb_Executable_VALIDGROUPS_INSTALLED)),) +$$(eval $$(call gb_Output_error,$(1) is not a valid group for installed executables. Valid groups are: $$(gb_Executable_VALIDGROUPS_INSTALLED). Use gb_Helper_register_executables for executables that are not installed.)) +endif +$(call gb_Helper__register_executables,$(1),$(3)) gb_Executable_MODULE_$(2) += $(3) endef -define gb_Helper_register_libraries -ifeq ($$(filter $(1),$$(gb_Library_VALIDGROUPS)),) -$$(eval $$(call gb_Output_error,$(1) is not a valid group for libraries. Valid groups are: $$(gb_Library_VALIDGROUPS))) -endif +define gb_Helper__register_libraries $(foreach group,$(gb_Library_VALIDGROUPS),\ $(foreach target,$(2),\ $(if $(filter $(target),$(gb_Library_$(group))),\ @@ -155,12 +168,25 @@ gb_Library_$(1) += $(2) endef +# $(call gb_Helper_register_libraries,layer,libs) +define gb_Helper_register_libraries +ifeq ($$(filter $(1),$$(gb_Library_VALIDGROUPS_NOTINSTALLED)),) +$$(eval $$(call gb_Output_error,$(1) is not a valid group for libraries that are not installed. Valid groups are: $$(gb_Library_VALIDGROUPS_NOTINSTALLED). Use gb_Helper_register_libraries_for_install for installed libraries.)) +endif +$(call gb_Helper__register_libraries,$(1),$(2)) + +endef + # the first argument is the group, which sets rpaths etc. # the second argument is the install module, which describes in which distro package/msi a lib should show up # UGLY: for versioned libraries "sdk" module is hard-coded for now +# $(call gb_Helper_register_libraries_for_install,layer,installmodule,libs) define gb_Helper_register_libraries_for_install $(if $(3),,$(call gb_Output_error,gb_Helper_register_libraries_for_install: no libraries - need 3 parameters)) -$(call gb_Helper_register_libraries,$(1),$(3)) +ifeq ($$(filter $(1),$$(gb_Library_VALIDGROUPS_INSTALLED)),) +$$(eval $$(call gb_Output_error,$(1) is not a valid group for installed libraries. Valid groups are: $$(gb_Library_VALIDGROUPS_INSTALLED). Use gb_Helper_register_libraries for libraries that are not installed.)) +endif +$(call gb_Helper__register_libraries,$(1),$(3)) gb_Library_MODULE_$(2) += $(filter-out $(gb_MERGEDLIBS) $(gb_URELIBS),$(3)) @@ -169,10 +195,7 @@ $(if $(filter UNOVERLIBS RTVERLIBS,$(1)),\ endef -define gb_Helper_register_jars -ifeq ($$(filter $(1),$$(gb_Jar_VALIDGROUPS)),) -$$(eval $$(call gb_Output_error,$(1) is not a valid group for jars. Valid groups are: $$(gb_Jar_VALIDGROUPS))) -endif +define gb_Helper__register_jars $(foreach group,$(gb_Jar_VALIDGROUPS),\ $(foreach target,$(2),\ $(if $(filter $(target),$(gb_Jar_$(group))),\ @@ -184,10 +207,22 @@ gb_Jar_$(1) += $(2) endef +# $(call gb_Helper_register_jars,layer,jars) +define gb_Helper_register_jars +ifeq ($$(filter $(1),$$(gb_Jar_VALIDGROUPS_NOTINSTALLED)),) +$$(eval $$(call gb_Output_error,$(1) is not a valid group for jars that are not installed. Valid groups are: $$(gb_Jar_VALIDGROUPS_NOTINSTALLED). Use gb_Helper_register_jars_for_install for installed jars.)) +endif +$(call gb_Helper__register_jars,$(1),$(2)) + +endef + # $(call gb_Helper_register_jars_for_install,layer,installmodule,jars) define gb_Helper_register_jars_for_install $(if $(3),,$(call gb_Output_error,gb_Helper_register_jars_for_install: no jars - need 3 parameters)) -$(call gb_Helper_register_jars,$(1),$(3)) +ifeq ($$(filter $(1),$$(gb_Jar_VALIDGROUPS_INSTALLED)),) +$$(eval $$(call gb_Output_error,$(1) is not a valid group for installed jars. Valid groups are: $$(gb_Jar_VALIDGROUPS_INSTALLED). Use gb_Helper_register_jars for jars that are not installed.)) +endif +$(call gb_Helper__register_jars,$(1),$(3)) gb_Jar_MODULE_$(2) += $(3) commit ad43a1707353cdef79f6eb2fbc3da1a48838f6e4 Author: Michael Stahl <[email protected]> Date: Thu Oct 30 23:05:17 2014 +0100 Repository.mk: move mobile-only libraries to NONE layer Change-Id: Iae0c3fc429c74713662f1a75ef0a2150700274c7 diff --git a/Repository.mk b/Repository.mk index 62561ca..f879375 100644 --- a/Repository.mk +++ b/Repository.mk @@ -194,13 +194,12 @@ $(eval $(call gb_Helper_register_executables_for_install,UREBIN,ure,\ ifneq (,$(filter ANDROID IOS,$(OS))) -$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \ +# these are in NONE layer because +# a) scp2 is not used on mobile b) layers don't mean anything on mobile +$(eval $(call gb_Helper_register_libraries,PLAINLIBS_NONE, \ $(if $(filter $(OS),ANDROID), \ lo-bootstrap \ ) \ -)) - -$(eval $(call gb_Helper_register_libraries,OOOLIBS, \ libotouch \ )) commit 30c237aef724591a8804f62eb05bae3101461f5a Author: Michael Stahl <[email protected]> Date: Thu Oct 30 22:59:02 2014 +0100 Repository.mk: move executables that are not installed to NONE layer Change-Id: I494349840e5b95a7c9f477a4b3133d1a2318ab7e diff --git a/Repository.mk b/Repository.mk index 811ed6d..62561ca 100644 --- a/Repository.mk +++ b/Repository.mk @@ -67,6 +67,11 @@ $(eval $(call gb_Helper_register_executables,NONE, \ svptest \ svpclient \ pixelctl ) \ + $(if $(and $(ENABLE_GTK), $(filter LINUX,$(OS))), tilebench) \ + $(if $(filter LINUX MACOSX WNT,$(OS)),icontest) \ + vcldemo \ + tiledrendering \ + $(if $(and $(ENABLE_GTK), $(filter LINUX,$(OS))), gtktiledviewer) \ )) $(eval $(call gb_Helper_register_executables_for_install,SDK,sdk, \ @@ -180,15 +185,6 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,pdfimport, \ )) endif -$(eval $(call gb_Helper_register_executables,OOO, \ - $(if $(and $(ENABLE_GTK), $(filter LINUX,$(OS))), tilebench) \ - $(if $(filter LINUX MACOSX WNT,$(OS)), \ - icontest) \ - vcldemo \ - tiledrendering \ - $(if $(and $(ENABLE_GTK), $(filter LINUX,$(OS))), gtktiledviewer) \ -)) - $(eval $(call gb_Helper_register_executables_for_install,UREBIN,ure,\ $(if $(and $(ENABLE_JAVA),$(filter-out MACOSX WNT,$(OS)),$(filter DESKTOP,$(BUILD_TYPE))),javaldx) \ regmerge \ commit e37837c48b739d0a6654b03cddf8f97a753f0af1 Author: Michael Stahl <[email protected]> Date: Fri Oct 31 14:41:02 2014 +0100 bin/run: add a convenient shell wrapper to run executables from workdir Change-Id: Ide3361fd5eba6462095cc45c0c99b1ab27a16262 diff --git a/bin/run b/bin/run new file mode 100755 index 0000000..365e287 --- /dev/null +++ b/bin/run @@ -0,0 +1,24 @@ +#!/bin/sh + +# simple wrapper script to run non-installed executables from workdir + +dir=$(realpath "$(pwd)") + +while test ! -d "${dir}/instdir/program" ; do + if test "${dir}" = "/"; then + echo "error: cannot find \"program\" dir from \"$(pwd)\"" + exit 1 + fi + dir=$(realpath "${dir}/..") +done + +exedir="${dir}"/workdir/LinkTarget/Executable +export URE_BOOTSTRAP=file://"${dir}"/instdir/program/fundamentalrc +export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"${dir}"/instdir/ure/lib:"${dir}"/instdir/program + +echo "setting URE_BOOTSTRAP to: ${URE_BOOTSTRAP}" +echo "setting search path to: ${LD_LIBRARY_PATH}" +echo "execing: ${exedir}/$1" + +cd "${dir}"/instdir/program +exec "${exedir}"/$@ commit f049b83cc2947efbe7382f23e12fc91fe50a589d Author: Michael Stahl <[email protected]> Date: Thu Oct 30 22:57:06 2014 +0100 scp2: move WNT executables to AutoInstall Change-Id: I3e541053faf956dc0cd2a3f068cd93b73fcaab6d diff --git a/Repository.mk b/Repository.mk index b094828..811ed6d 100644 --- a/Repository.mk +++ b/Repository.mk @@ -141,7 +141,16 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,ooo, \ $(if $(filter unx-TRUE,$(GUIBASE)-$(ENABLE_TDE)),tdefilepicker) \ $(if $(filter unx,$(GUIBASE)),uri-encode) \ ui-previewer \ + $(if $(filter WNT,$(OS)), \ + senddoc \ + ) \ +)) + +ifeq ($(OS),WNT) +$(eval $(call gb_Helper_register_executables_for_install,OOO,quickstart, \ + quickstart \ )) +endif ifneq ($(ENABLE_CRASHDUMP),) $(eval $(call gb_Helper_register_executables_for_install,OOO,crashrep, \ @@ -178,10 +187,6 @@ $(eval $(call gb_Helper_register_executables,OOO, \ vcldemo \ tiledrendering \ $(if $(and $(ENABLE_GTK), $(filter LINUX,$(OS))), gtktiledviewer) \ - $(if $(filter WNT,$(OS)), \ - quickstart \ - senddoc \ - ) \ )) $(eval $(call gb_Helper_register_executables_for_install,UREBIN,ure,\ diff --git a/scp2/AutoInstall.mk b/scp2/AutoInstall.mk index 72a6340..9ab563b 100644 --- a/scp2/AutoInstall.mk +++ b/scp2/AutoInstall.mk @@ -35,6 +35,7 @@ $(eval $(call gb_AutoInstall_add_module,ooobinarytable,LIBO_LIB_FILE_BINARYTABLE $(eval $(call gb_AutoInstall_add_module,python,LIBO_LIB_FILE,LIBO_EXECUTABLE)) $(eval $(call gb_AutoInstall_add_module,postgresqlsdbc,LIBO_LIB_FILE)) $(eval $(call gb_AutoInstall_add_module,pdfimport,LIBO_LIB_FILE,LIBO_EXECUTABLE)) +$(eval $(call gb_AutoInstall_add_module,quickstart,,LIBO_EXECUTABLE)) $(eval $(call gb_AutoInstall_add_module,reportbuilder,LIBO_LIB_FILE,,LIBO_JAR_FILE)) $(eval $(call gb_AutoInstall_add_module,sdk,,SDK_EXECUTABLE)) $(eval $(call gb_AutoInstall_add_module,tde,LIBO_LIB_FILE)) diff --git a/scp2/InstallModule_quickstart.mk b/scp2/InstallModule_quickstart.mk index 3d9be72..c29768c 100644 --- a/scp2/InstallModule_quickstart.mk +++ b/scp2/InstallModule_quickstart.mk @@ -9,6 +9,10 @@ $(eval $(call gb_InstallModule_InstallModule,scp2/quickstart)) +$(eval $(call gb_installmodule_use_auto_install_libs,scp2/quickstart,\ + quickstart \ +)) + $(eval $(call gb_InstallModule_add_scpfiles,scp2/quickstart,\ scp2/source/quickstart/file_quickstart \ scp2/source/quickstart/registryitem_quickstart \ diff --git a/scp2/source/ooo/file_ooo.scp b/scp2/source/ooo/file_ooo.scp index 7e6187f..ce9d533 100644 --- a/scp2/source/ooo/file_ooo.scp +++ b/scp2/source/ooo/file_ooo.scp @@ -165,13 +165,6 @@ File gid_File_Bin_Senddoc Name = "shell_senddoc.filelist"; Styles = (FILELIST, PACKED); End -#elif defined WNT -File gid_File_Bin_Senddoc - BIN_FILE_BODY; - Dir = gid_Brand_Dir_Program; - Name = "senddoc.exe"; - Styles = (PACKED); -End #endif File gid_File_framework_dtd diff --git a/scp2/source/quickstart/file_quickstart.scp b/scp2/source/quickstart/file_quickstart.scp deleted file mode 100644 index 51e2d8b..0000000 --- a/scp2/source/quickstart/file_quickstart.scp +++ /dev/null @@ -1,26 +0,0 @@ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include "macros.inc" - -File gid_File_Exe_Quickstart - BIN_FILE_BODY; - Styles = (PACKED); - Dir = gid_Brand_Dir_Program; - Name = "quickstart.exe"; -End diff --git a/scp2/source/quickstart/module_quickstart.scp b/scp2/source/quickstart/module_quickstart.scp index 62407d8..1080526 100644 --- a/scp2/source/quickstart/module_quickstart.scp +++ b/scp2/source/quickstart/module_quickstart.scp @@ -18,10 +18,12 @@ #include "macros.inc" +#include "AutoInstall/quickstart" + Module gid_Module_Optional_Quickstart MOD_NAME_DESC ( MODULE_OPTIONAL_QUICKSTART ); Sortkey = "1400"; Default = YES; ParentID = gid_Module_Optional; - Files = (gid_File_Exe_Quickstart, gid_File_Tmp_Userinstall_Quickstart_Inf); + Files = (auto_quickstart_ALL, gid_File_Tmp_Userinstall_Quickstart_Inf); End commit 58735f060804248089c0919c67485ae78c462c36 Author: Michael Stahl <[email protected]> Date: Thu Oct 30 22:43:27 2014 +0100 scp2: move unix/gnome executables to AutoInstall Change-Id: I0e0c3b5e3f130093f430f47c1730580105718c1e diff --git a/Repository.mk b/Repository.mk index 7ca98ff..b094828 100644 --- a/Repository.mk +++ b/Repository.mk @@ -137,6 +137,10 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,writer_brand, \ $(eval $(call gb_Helper_register_executables_for_install,OOO,ooo, \ gengal \ + $(if $(filter unx-TRUE,$(GUIBASE)-$(ENABLE_NPAPI_FROM_BROWSER)),pluginapp.bin) \ + $(if $(filter unx-TRUE,$(GUIBASE)-$(ENABLE_TDE)),tdefilepicker) \ + $(if $(filter unx,$(GUIBASE)),uri-encode) \ + ui-previewer \ )) ifneq ($(ENABLE_CRASHDUMP),) @@ -152,6 +156,15 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,python, \ ) \ )) +ifeq ($(GUIBASE),unx) +$(eval $(call gb_Helper_register_executables_for_install,OOO,gnome, \ + gnome-open-url.bin \ + $(if $(ENABLE_GTK),\ + xid-fullscreen-on-all-monitors \ + ) \ +)) +endif + ifneq ($(ENABLE_PDFIMPORT),) $(eval $(call gb_Helper_register_executables_for_install,OOO,pdfimport, \ xpdfimport \ @@ -160,16 +173,6 @@ endif $(eval $(call gb_Helper_register_executables,OOO, \ $(if $(and $(ENABLE_GTK), $(filter LINUX,$(OS))), tilebench) \ - gnome-open-url.bin \ - $(if $(ENABLE_NPAPI_FROM_BROWSER),pluginapp.bin) \ - $(if $(filter $(GUIBASE)$(ENABLE_GTK),unxTRUE), \ - xid-fullscreen-on-all-monitors \ - ) \ - $(if $(filter $(GUIBASE)$(ENABLE_TDE),unxTRUE), \ - tdefilepicker \ - ) \ - uri-encode \ - ui-previewer \ $(if $(filter LINUX MACOSX WNT,$(OS)), \ icontest) \ vcldemo \ diff --git a/scp2/AutoInstall.mk b/scp2/AutoInstall.mk index 0cd2268..72a6340 100644 --- a/scp2/AutoInstall.mk +++ b/scp2/AutoInstall.mk @@ -21,7 +21,7 @@ $(eval $(call gb_AutoInstall_add_module,crashrep,,LIBO_EXECUTABLE)) $(eval $(call gb_AutoInstall_add_module,draw_brand,,LIBO_EXECUTABLE)) $(eval $(call gb_AutoInstall_add_module,extensions_bsh,,,LIBO_JAR_FILE)) $(eval $(call gb_AutoInstall_add_module,extensions_rhino,,,LIBO_JAR_FILE)) -$(eval $(call gb_AutoInstall_add_module,gnome,LIBO_LIB_FILE)) +$(eval $(call gb_AutoInstall_add_module,gnome,LIBO_LIB_FILE,LIBO_EXECUTABLE)) $(eval $(call gb_AutoInstall_add_module,graphicfilter,LIBO_LIB_FILE)) $(eval $(call gb_AutoInstall_add_module,impress,LIBO_LIB_FILE)) $(eval $(call gb_AutoInstall_add_module,impress_brand,,LIBO_EXECUTABLE)) diff --git a/scp2/source/gnome/module_gnome.scp b/scp2/source/gnome/module_gnome.scp index c124441..91d0a00 100644 --- a/scp2/source/gnome/module_gnome.scp +++ b/scp2/source/gnome/module_gnome.scp @@ -33,9 +33,7 @@ Module gid_Module_Optional_Gnome #if (defined ENABLE_GNOMEVFS && defined ENABLE_LOCKDOWN) || defined ENABLE_GIO gid_File_Share_Registry_Gnome_Xcd, #endif - gid_File_Bin_Gnome_Open_Url, - gid_File_Bin_Gnome_Open_Url_Bin, - gid_File_Bin_XidFullscreen + gid_File_Bin_Gnome_Open_Url ); End diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp index 21b0538..a71dff4 100644 --- a/scp2/source/ooo/file_library_ooo.scp +++ b/scp2/source/ooo/file_library_ooo.scp @@ -71,27 +71,6 @@ End #endif -#if defined UNX && ! defined MACOSX -#ifdef ENABLE_TDE -File gid_File_Bin_TdeFilePicker - BIN_FILE_BODY; - Styles = (PACKED); - Dir = gid_Brand_Dir_Program; - Name = "tdefilepicker"; -End -#endif - -#ifdef ENABLE_GTK -File gid_File_Bin_XidFullscreen - BIN_FILE_BODY; - Styles = (PACKED); - Dir = gid_Brand_Dir_Program; - Name = "xid-fullscreen-on-all-monitors"; -End -#endif - -#endif - #if defined WNT && !defined _gcc3 && defined WITH_MOZAB4WIN // see common_brand.scp gid_Brand_File_Lib_Msvcp80 and // gid_Brand_File_Lib_Msvcr80 diff --git a/scp2/source/ooo/file_ooo.scp b/scp2/source/ooo/file_ooo.scp index 706a907..7e6187f 100644 --- a/scp2/source/ooo/file_ooo.scp +++ b/scp2/source/ooo/file_ooo.scp @@ -122,17 +122,6 @@ File gid_File_Basic_Tutorials Name = "wizards_basicsrvtutorials.filelist"; End -File gid_File_Bin_UIPreviewer - BIN_FILE_BODY; - Dir = gid_Brand_Dir_Program; - Styles = (PACKED); - #ifdef UNX - Name = "ui-previewer"; - #else - Name = "ui-previewer.exe"; - #endif -End - #if defined UNX && !defined MACOSX File gid_File_Script_Gengal @@ -144,17 +133,6 @@ End #endif -#if defined ENABLE_NPAPI_FROM_BROWSER && defined UNX && !defined MACOSX - -File gid_File_Bin_Pluginapp - BIN_FILE_BODY; - Dir = gid_Brand_Dir_Program; - Name = "pluginapp.bin"; - Styles = (PACKED); -End - -#endif - #if defined UNX && ! defined MACOSX File gid_File_Bin_Gnome_Open_Url @@ -164,13 +142,6 @@ File gid_File_Bin_Gnome_Open_Url Styles = (FILELIST, PACKED); End -File gid_File_Bin_Gnome_Open_Url_Bin - BIN_FILE_BODY; - Dir = gid_Brand_Dir_Program; - Name = "gnome-open-url.bin"; - Styles = (PACKED); -End - File gid_File_shell_scripts BIN_FILE_BODY; Dir = FILELIST_DIR; @@ -188,17 +159,6 @@ End #endif #if defined UNX && ! defined MACOSX - -File gid_File_Bin_Uri_Encode - BIN_FILE_BODY; - Dir = gid_Brand_Dir_Program; - Name = "uri-encode"; - Styles = (PACKED); -End - -#endif - -#if defined UNX && ! defined MACOSX File gid_File_Bin_Senddoc BIN_FILE_BODY; Dir = FILELIST_DIR; diff --git a/scp2/source/ooo/module_ooo.scp b/scp2/source/ooo/module_ooo.scp index b93e685..e70e471 100644 --- a/scp2/source/ooo/module_ooo.scp +++ b/scp2/source/ooo/module_ooo.scp @@ -24,11 +24,8 @@ Module gid_Module_Root InstallOrder = "20"; MOD_NAME_DESC(MODULE_ROOT_OSL); Files = (gid_File_shell_scripts, - gid_File_Bin_Pluginapp, gid_File_Bin_Senddoc, gid_File_Script_Gengal, - gid_File_Bin_Uri_Encode, - gid_File_Bin_UIPreviewer, gid_File_Txt_Pagein_Common, gid_File_Txt_Pagein_Calc, gid_File_Txt_Pagein_Draw, diff --git a/shell/Module_shell.mk b/shell/Module_shell.mk index 98f6c87..4a291de 100644 --- a/shell/Module_shell.mk +++ b/shell/Module_shell.mk @@ -115,6 +115,7 @@ ifneq ($(filter-out MACOSX WNT,$(OS)),) $(eval $(call gb_Module_add_targets,shell,\ Executable_gnome_open_url \ + Executable_uri_encode \ Library_recentfile \ Package_scripts \ Package_scripts_gnome \ @@ -126,7 +127,6 @@ endif ifneq ($(OS),WNT) $(eval $(call gb_Module_add_targets,shell,\ - Executable_uri_encode \ Library_cmdmail \ Package_senddoc \ )) commit 6c778e0a9b80734becb52fe3d0799754393c4bc4 Author: Michael Stahl <[email protected]> Date: Thu Oct 30 20:06:12 2014 +0100 sw: [loplugin:salbool] Change-Id: I7d8e2606f0518d489473a9824cb25b6bcd6a9bb2 diff --git a/sw/source/uibase/uno/SwXDocumentSettings.cxx b/sw/source/uibase/uno/SwXDocumentSettings.cxx index b34dd65..aceed1f 100644 --- a/sw/source/uibase/uno/SwXDocumentSettings.cxx +++ b/sw/source/uibase/uno/SwXDocumentSettings.cxx @@ -1248,8 +1248,9 @@ void SwXDocumentSettings::_getSingleValue( const comphelper::PropertyInfo & rInf break; case HANDLE_PROP_LINE_SPACING_SHRINKS_FIRST_LINE: { - sal_Bool bTmp = mpDoc->getIDocumentSettingAccess().get( IDocumentSettingAccess::PROP_LINE_SPACING_SHRINKS_FIRST_LINE); - rValue.setValue( &bTmp, ::getBooleanCppuType() ); + bool const bTmp(mpDoc->getIDocumentSettingAccess().get( + IDocumentSettingAccess::PROP_LINE_SPACING_SHRINKS_FIRST_LINE)); + rValue <<= bTmp; } break; default: _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
