[Libreoffice-commits] core.git: 9 commits - bin/run framework/source Repository.mk sc/inc scp2/AutoInstall.mk scp2/InstallModule_quickstart.mk scp2/source sc/source shell/Module_shell.mk solenv/gbuild sw/source
Michael Stahl
mstahl at redhat.com
Fri Oct 31 10:04:05 PDT 2014
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 <mstahl at redhat.com>
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 <mstahl at redhat.com>
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 <mstahl at redhat.com>
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 <mstahl at redhat.com>
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 <mstahl at redhat.com>
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 <mstahl at redhat.com>
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 <mstahl at redhat.com>
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 <mstahl at redhat.com>
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 <mstahl at redhat.com>
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:
More information about the Libreoffice-commits
mailing list