From b0a348cf9cb5e0a0565735970a895d20fa50e7a8 Mon Sep 17 00:00:00 2001
From: Mathias Bauer
Date: Fri, 16 Apr 2010 23:05:45 +0200
Subject: [PATCH 01/31] CWS gnumake2: move header generation for oovbaapi to
offuh
---
offuh/prj/build.lst | 2 +-
offuh/prj/d.lst | 41 ++++++++++++++++++++++++++++++++++++++++
offuh/source/makefile.mk | 12 ++++++++----
3 files changed, 50 insertions(+), 5 deletions(-)
diff --git a/offuh/prj/build.lst b/offuh/prj/build.lst
index f8f8ca45ba1a..e98f3565b60c 100644
--- a/offuh/prj/build.lst
+++ b/offuh/prj/build.lst
@@ -1,4 +1,4 @@
-ou offuh :: offapi codemaker NULL
+ou offuh :: offapi oovbaapi codemaker NULL
ou offuh usr1 - all ou_mkout NULL
ou offuh\prj get - all ou_prj NULL
ou offuh\source nmake - all ou_source NULL
diff --git a/offuh/prj/d.lst b/offuh/prj/d.lst
index bedbc8d112d4..f2f087bd9c25 100644
--- a/offuh/prj/d.lst
+++ b/offuh/prj/d.lst
@@ -133,6 +133,21 @@ mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\xml\wrapper
#i20156 - end
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\rdf
+mkdir: %_DEST%\inc%_EXT%\offuh\ooo
+mkdir: %_DEST%\inc%_EXT%\offuh\ooo\vba
+mkdir: %_DEST%\inc%_EXT%\offuh\ooo\vba\access
+mkdir: %_DEST%\inc%_EXT%\offuh\ooo\vba\adodb
+mkdir: %_DEST%\inc%_EXT%\offuh\ooo\vba\dao
+mkdir: %_DEST%\inc%_EXT%\offuh\ooo\vba\excel
+mkdir: %_DEST%\inc%_EXT%\offuh\ooo\vba\msforms
+mkdir: %_DEST%\inc%_EXT%\offuh\ooo\vba\office
+mkdir: %_DEST%\inc%_EXT%\offuh\ooo\vba\powerpoint
+mkdir: %_DEST%\inc%_EXT%\offuh\ooo\vba\stdole
+mkdir: %_DEST%\inc%_EXT%\offuh\ooo\vba\word
+mkdir: %_DEST%\inc%_EXT%\offuh\msforms
+
+
+
..\%__SRC%\inc\offuh\com\sun\star\auth\*.hdl %_DEST%\inc%_EXT%\offuh\com\sun\star\auth\*.hdl
..\%__SRC%\inc\offuh\com\sun\star\auth\*.hpp %_DEST%\inc%_EXT%\offuh\com\sun\star\auth\*.hpp
..\%__SRC%\inc\offuh\com\sun\star\accessibility\*.hpp %_DEST%\inc%_EXT%\offuh\com\sun\star\accessibility\*.hpp
@@ -374,3 +389,29 @@ mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\rdf
..\%__SRC%\inc\offuh\com\sun\star\rdf\*.hpp %_DEST%\inc%_EXT%\offuh\com\sun\star\rdf\*.hpp
..\%__SRC%\inc\offuh\com\sun\star\rdf\*.hdl %_DEST%\inc%_EXT%\offuh\com\sun\star\rdf\*.hdl
+
+..\%__SRC%\inc\offuh\ooo\vba\*.hpp %_DEST%\inc%_EXT%\offuh\ooo\vba\*.hpp
+..\%__SRC%\inc\offuh\ooo\vba\*.hdl %_DEST%\inc%_EXT%\offuh\ooo\vba\*.hdl
+..\%__SRC%\inc\offuh\ooo\vba\*.hpp %_DEST%\inc%_EXT%\offuh\ooo\vba\*.hpp
+..\%__SRC%\inc\offuh\ooo\vba\*.hdl %_DEST%\inc%_EXT%\offuh\ooo\vba\*.hdl
+..\%__SRC%\inc\offuh\ooo\vba\access\*.hpp %_DEST%\inc%_EXT%\offuh\ooo\vba\access\*.hpp
+..\%__SRC%\inc\offuh\ooo\vba\access\*.hdl %_DEST%\inc%_EXT%\offuh\ooo\vba\access\*.hdl
+..\%__SRC%\inc\offuh\ooo\vba\adodb\*.hpp %_DEST%\inc%_EXT%\offuh\ooo\vba\adodb\*.hpp
+..\%__SRC%\inc\offuh\ooo\vba\adodb\*.hdl %_DEST%\inc%_EXT%\offuh\ooo\vba\adodb\*.hdl
+..\%__SRC%\inc\offuh\ooo\vba\dao\*.hpp %_DEST%\inc%_EXT%\offuh\ooo\vba\dao\*.hpp
+..\%__SRC%\inc\offuh\ooo\vba\dao\*.hdl %_DEST%\inc%_EXT%\offuh\ooo\vba\dao\*.hdl
+..\%__SRC%\inc\offuh\ooo\vba\excel\*.hpp %_DEST%\inc%_EXT%\offuh\ooo\vba\excel\*.hpp
+..\%__SRC%\inc\offuh\ooo\vba\excel\*.hdl %_DEST%\inc%_EXT%\offuh\ooo\vba\excel\*.hdl
+..\%__SRC%\inc\offuh\ooo\vba\msforms\*.hpp %_DEST%\inc%_EXT%\offuh\ooo\vba\msforms\*.hpp
+..\%__SRC%\inc\offuh\ooo\vba\msforms\*.hdl %_DEST%\inc%_EXT%\offuh\ooo\vba\msforms\*.hdl
+..\%__SRC%\inc\offuh\ooo\vba\office\*.hpp %_DEST%\inc%_EXT%\offuh\ooo\vba\office\*.hpp
+..\%__SRC%\inc\offuh\ooo\vba\office\*.hdl %_DEST%\inc%_EXT%\offuh\ooo\vba\office\*.hdl
+..\%__SRC%\inc\offuh\ooo\vba\powerpoint\*.hpp %_DEST%\inc%_EXT%\offuh\ooo\vba\powerpoint\*.hpp
+..\%__SRC%\inc\offuh\ooo\vba\powerpoint\*.hdl %_DEST%\inc%_EXT%\offuh\ooo\vba\powerpoint\*.hdl
+..\%__SRC%\inc\offuh\ooo\vba\stdole\*.hpp %_DEST%\inc%_EXT%\offuh\ooo\vba\stdole\*.hpp
+..\%__SRC%\inc\offuh\ooo\vba\stdole\*.hdl %_DEST%\inc%_EXT%\offuh\ooo\vba\stdole\*.hdl
+..\%__SRC%\inc\offuh\ooo\vba\word\*.hpp %_DEST%\inc%_EXT%\offuh\ooo\vba\word\*.hpp
+..\%__SRC%\inc\offuh\ooo\vba\word\*.hdl %_DEST%\inc%_EXT%\offuh\ooo\vba\word\*.hdl
+..\%__SRC%\inc\offuh\msforms\*.hpp %_DEST%\inc%_EXT%\offuh\msforms\*.hpp
+..\%__SRC%\inc\offuh\msforms\*.hdl %_DEST%\inc%_EXT%\offuh\msforms\*.hdl
+
diff --git a/offuh/source/makefile.mk b/offuh/source/makefile.mk
index e7e19fddd340..b83e8f6d9adf 100644
--- a/offuh/source/makefile.mk
+++ b/offuh/source/makefile.mk
@@ -37,12 +37,16 @@ TARGET= offuh
.INCLUDE : settings.mk
-# ------------------------------------------------------------------
+# --- Targets ------------------------------------------------------
+.INCLUDE : target.mk
+
+ALLTAR : $(MISC)$/oovbaapi.don $(MISC)$/$(TARGET).don
$(MISC)$/$(TARGET).don : $(UNOUCRRDB)
@@-$(RM) $@
$(CPPUMAKER) -Gc $(CPPUMAKERFLAGS) -B$(UNOUCRBASE) -O$(UNOUCROUT) $(UNOUCRRDB) && echo > $@
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
+$(MISC)$/oovbaapi.don : $(SOLARBINDIR)$/oovbaapi.rdb
+ @@-$(RM) $@
+ $(CPPUMAKER) -Gc $(CPPUMAKERFLAGS) -B$(UNOUCRBASE) -O$(UNOUCROUT) $(SOLARBINDIR)$/oovbaapi.rdb -X$(SOLARBINDIR)$/types.rdb && echo > $@
+ echo $@
From 16813a9d8b461ec6a78373aef29f1d9a74903ef7 Mon Sep 17 00:00:00 2001
From: Daniel Rentz
Date: Tue, 13 Jul 2010 18:26:57 +0200
Subject: [PATCH 02/31] dr77: #i113097# make Sequence(sal_Int32) explicit
---
cppu/inc/com/sun/star/uno/Sequence.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cppu/inc/com/sun/star/uno/Sequence.h b/cppu/inc/com/sun/star/uno/Sequence.h
index da9906533583..71bb42c7413b 100644
--- a/cppu/inc/com/sun/star/uno/Sequence.h
+++ b/cppu/inc/com/sun/star/uno/Sequence.h
@@ -125,7 +125,7 @@ public:
@param len initial sequence length
*/
- inline Sequence( sal_Int32 len );
+ inline explicit Sequence( sal_Int32 len );
/** Destructor: Releases sequence handle. Last handle will destruct
elements and free memory.
From 6d6fa3655e04cdddaf8caf380e356a8382cff425 Mon Sep 17 00:00:00 2001
From: Ingrid Halama
Date: Thu, 19 Aug 2010 09:18:38 +0200
Subject: [PATCH 03/31] chart49: #i113722# duplicate chart creation -
OSingleFactoryHelper::createInstanceWithArgumentsAndContext leak
---
cppuhelper/source/factory.cxx | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/cppuhelper/source/factory.cxx b/cppuhelper/source/factory.cxx
index 96faf2272231..20adf05391b9 100644
--- a/cppuhelper/source/factory.cxx
+++ b/cppuhelper/source/factory.cxx
@@ -232,9 +232,17 @@ Reference< XInterface > OSingleFactoryHelper::createInstanceWithArgumentsAndCont
else
{
if ( rArguments.getLength() )
+ {
+ // dispose the here created UNO object before throwing out exception
+ // to avoid risk of memory leaks #i113722#
+ Reference xComp( xRet, UNO_QUERY );
+ if (xComp.is())
+ xComp->dispose();
+
throw lang::IllegalArgumentException(
OUString( RTL_CONSTASCII_USTRINGPARAM("cannot pass arguments to component => no XInitialization implemented!") ),
Reference< XInterface >(), 0 );
+ }
}
return xRet;
From 0484109ea6e454ce329721e9ad97fb9c46989b2c Mon Sep 17 00:00:00 2001
From: Daniel Rentz
Date: Thu, 26 Aug 2010 18:37:44 +0200
Subject: [PATCH 04/31] dr77: #i114128# import legacy drawing controls
---
.../sun/star/script/vba/VBAMacroResolver.idl | 49 ++++++++++
.../sun/star/script/vba/XVBAMacroResolver.idl | 94 +++++++++++++++++++
offapi/com/sun/star/script/vba/makefile.mk | 47 ++++++++++
offapi/prj/build.lst | 5 +-
offapi/prj/d.lst | 2 +
offapi/util/makefile.mk | 1 +
offuh/prj/d.lst | 3 +
7 files changed, 199 insertions(+), 2 deletions(-)
create mode 100755 offapi/com/sun/star/script/vba/VBAMacroResolver.idl
create mode 100755 offapi/com/sun/star/script/vba/XVBAMacroResolver.idl
create mode 100755 offapi/com/sun/star/script/vba/makefile.mk
diff --git a/offapi/com/sun/star/script/vba/VBAMacroResolver.idl b/offapi/com/sun/star/script/vba/VBAMacroResolver.idl
new file mode 100755
index 000000000000..62f6e8ce0c2a
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAMacroResolver.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ *
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_vba_VBAMacroResolver_idl__
+#define __com_sun_star_script_vba_VBAMacroResolver_idl__
+
+#include
+
+//=============================================================================
+
+module com { module sun { module star { module script { module vba {
+
+//=============================================================================
+
+service VBAMacroResolver : XVBAMacroResolver
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl b/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl
new file mode 100755
index 000000000000..378219268010
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ *
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_vba_XVBAMacroResolver_idl__
+#define __com_sun_star_script_vba_XVBAMacroResolver_idl__
+
+#include
+
+//=============================================================================
+
+module com { module sun { module star { module script { module vba {
+
+//=============================================================================
+
+/** Converts VBA macro names to script URLs and vice versa.
+ */
+interface XVBAMacroResolver
+{
+ //-------------------------------------------------------------------------
+
+ /** Returns the script URL representing the passed VBA macro name.
+
+ @param aVBAMacroName
+ The VBA macro name to be resolved to a script URL. The macro name
+ may consist of up to three parts, divided by periods. The first two
+ parts are optional. The first part represents the VBA project name.
+ The second part represents the module name. The third part
+ represents the procedure name. Example: All the VBA macro names
+ "VBAProject.Module1.TestMacro", "Module1.TestMacro",
+ "VBAProject.TestMacro", and "TestMacro" may refer to the same VBA
+ procedure located in "Module" of the project "VBAProject". If the
+ module name is missing, then all modules are searched for a macro
+ with the specified name.
+
+ @return
+ The script URL referring to the passed VBA macro.
+
+ @throws IllegalArgumentException
+ if a macro with the passed name does not exist.
+ **/
+ string resolveVBAMacroToScriptURL( [in] string aVBAMacroName )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+ //-------------------------------------------------------------------------
+
+ /** Returns the VBA macro name for a macro with the passed script URL.
+
+ @param aScriptURL
+ The script URL to be resolved to a VBA macro name. Must be a
+ document-local script.
+
+ @return
+ The VBA macro name referring to a macro with the passed script URL.
+
+ @throws IllegalArgumentException
+ if a macro with the passed name does not exist.
+ **/
+ string resolveScriptURLtoVBAMacro( [in] string aScriptURL )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/script/vba/makefile.mk b/offapi/com/sun/star/script/vba/makefile.mk
new file mode 100755
index 000000000000..93356e9e8934
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/makefile.mk
@@ -0,0 +1,47 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+#
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssscriptvba
+PACKAGE=com$/sun$/star$/script$/vba
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ VBAMacroResolver.idl \
+ XVBAMacroResolver.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/prj/build.lst b/offapi/prj/build.lst
index a0be2398f429..bc6dda566031 100644
--- a/offapi/prj/build.lst
+++ b/offapi/prj/build.lst
@@ -3,6 +3,7 @@ oa offapi usr1 - all oa_mkout NULL
oa offapi\com\sun\star\script nmake - all oa_script oa_embed NULL
oa offapi\com\sun\star\script\browse nmake - all oa_sfbrowse NULL
oa offapi\com\sun\star\script\provider nmake - all oa_sfprovider NULL
+oa offapi\com\sun\star\script\vba nmake - all oa_script_vba NULL
oa offapi\com\sun\star\auth nmake - all oa_auth NULL
oa offapi\com\sun\star\accessibility nmake - all oa_accessibility oa_awt NULL
oa offapi\com\sun\star\awt nmake - all oa_awt NULL
@@ -21,10 +22,10 @@ oa offapi\com\sun\star\datatransfer\dnd nmake - all oa_datatrans_dnd oa_awt NULL
oa offapi\com\sun\star\deployment nmake - all oa_deployment oa_ucb oa_xml_input NULL
oa offapi\com\sun\star\deployment\test nmake - all oa_deploymenttest oa_ucb NULL
oa offapi\com\sun\star\deployment\ui nmake - all oa_deployment_ui oa_awt oa_ui_dialogs NULL
-oa offapi\com\sun\star\embed nmake - all oa_embed NULL
oa offapi\com\sun\star\document nmake - all oa_docu oa_embed NULL
oa offapi\com\sun\star\drawing nmake - all oa_draw NULL
oa offapi\com\sun\star\drawing\framework nmake - all oa_draw_framework NULL
+oa offapi\com\sun\star\embed nmake - all oa_embed NULL
oa offapi\com\sun\star\form nmake - all oa_form oa_inspection NULL
oa offapi\com\sun\star\form\component nmake - all oa_fcomp oa_form oa_form_submission NULL
oa offapi\com\sun\star\form\inspection nmake - all oa_finsp oa_fcomp oa_inspection NULL
@@ -105,4 +106,4 @@ oa offapi\com\sun\star\rendering nmake - all oa_rendering oa_geometry NU
oa offapi\com\sun\star\rdf nmake - all oa_rdf oa_datatransfer oa_text NULL
oa offapi\com\sun\star\office nmake - all oa_office oa_text NULL
oa offapi\drafts\com\sun\star\form nmake - all oa_drafts_form NULL
-oa offapi\util nmake - all oa_util oa_auth oa_awt oa_awttree oa_awtgrid oa_chart oa_chart2 oa_chart2_data oa_config oa_configbootstrap oa_configbackend oa_configbackend_xml oa_datatrans_clip oa_datatrans_dnd oa_datatransfer oa_docu oa_draw oa_draw_framework oa_embed oa_fcomp oa_finsp oa_fcontr oa_fieldmaster oa_form oa_xforms oa_formula oa_frame oa_i18n oa_inst oa_ldap oa_ling2 oa_logging oa_mail oa_media oa_mozilla oa_packages oa_manifest oa_zippackage oa_plug oa_pres oa_animations oa_putil oa_resrc oa_sax oa_xml_input oa_scan oa_sdb oa_sdbtools oa_sdbapp oa_sdbc oa_sdbcx oa_setup oa_sheet oa_style oa_svg oa_sync oa_sync2 oa_system oa_table oa_task oa_text oa_textfield oa_docinfo oa_ucb oa_view oa_xml oa_xml_dom oa_xml_xpath oa_xml_views oa_xml_events oa_image oa_xsd oa_inspection oa_ui oa_ui_dialogs oa_accessibility oa_form_binding oa_form_validation oa_form_submission oa_fruntime oa_geometry oa_rendering oa_sfprovider oa_sfbrowse oa_drafts_form oa_deployment oa_deploymenttest oa_deployment_ui oa_frame_status oa_gallery oa_graphic oa_security oa_crypto_sax oa_crypto oa_csax oa_wrapper oa_script oa_smarttags oa_report oa_reportins oa_reportmeta oa_rdf oa_oooimprovement oa_office oa_prestextfield oa_starme NULL
+oa offapi\util nmake - all oa_util oa_auth oa_awt oa_awttree oa_awtgrid oa_chart oa_chart2 oa_chart2_data oa_config oa_configbootstrap oa_configbackend oa_configbackend_xml oa_datatrans_clip oa_datatrans_dnd oa_datatransfer oa_docu oa_draw oa_draw_framework oa_embed oa_fcomp oa_finsp oa_fcontr oa_fieldmaster oa_form oa_xforms oa_formula oa_frame oa_i18n oa_inst oa_ldap oa_ling2 oa_logging oa_mail oa_media oa_mozilla oa_packages oa_manifest oa_zippackage oa_plug oa_pres oa_animations oa_putil oa_resrc oa_sax oa_xml_input oa_scan oa_sdb oa_sdbtools oa_sdbapp oa_sdbc oa_sdbcx oa_setup oa_sheet oa_style oa_svg oa_sync oa_sync2 oa_system oa_table oa_task oa_text oa_textfield oa_docinfo oa_ucb oa_view oa_xml oa_xml_dom oa_xml_xpath oa_xml_views oa_xml_events oa_image oa_xsd oa_inspection oa_ui oa_ui_dialogs oa_accessibility oa_form_binding oa_form_validation oa_form_submission oa_fruntime oa_geometry oa_rendering oa_sfprovider oa_sfbrowse oa_drafts_form oa_deployment oa_deploymenttest oa_deployment_ui oa_frame_status oa_gallery oa_graphic oa_security oa_crypto_sax oa_crypto oa_csax oa_wrapper oa_script oa_script_vba oa_smarttags oa_report oa_reportins oa_reportmeta oa_rdf oa_oooimprovement oa_office oa_prestextfield oa_starme NULL
diff --git a/offapi/prj/d.lst b/offapi/prj/d.lst
index 9532cd773c6f..764521f3e944 100644
--- a/offapi/prj/d.lst
+++ b/offapi/prj/d.lst
@@ -69,6 +69,7 @@ mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\scanner
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\script
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\script\browse
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\script\provider
+mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\script\vba
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\sdb
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\sdb\application
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\sdb\tools
@@ -185,6 +186,7 @@ mkdir: %COMMON_DEST%\idl%_EXT%\drafts\com\sun\star\form
..\com\sun\star\script\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\script
..\com\sun\star\script\browse\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\script\browse
..\com\sun\star\script\provider\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\script\provider
+..\com\sun\star\script\vba\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\script\vba
..\com\sun\star\sdb\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\sdb
..\com\sun\star\sdb\application\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\sdb\application
..\com\sun\star\sdb\tools\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\sdb\tools
diff --git a/offapi/util/makefile.mk b/offapi/util/makefile.mk
index 0ed4feba57b6..016180d7765c 100644
--- a/offapi/util/makefile.mk
+++ b/offapi/util/makefile.mk
@@ -95,6 +95,7 @@ UNOIDLDBFILES= \
$(UCR)$/cssdomevents.db \
$(UCR)$/cssscanner.db \
$(UCR)$/cssscript.db \
+ $(UCR)$/cssscriptvba.db \
$(UCR)$/csssdb.db \
$(UCR)$/csssdbc.db \
$(UCR)$/csssdbcx.db \
diff --git a/offuh/prj/d.lst b/offuh/prj/d.lst
index ba7343039eae..a88257dc695d 100644
--- a/offuh/prj/d.lst
+++ b/offuh/prj/d.lst
@@ -72,6 +72,7 @@ mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\sdbc
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\sdbcx
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\scanner
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\script
+mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\script\vba
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\sheet
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\smarttags
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\style
@@ -271,6 +272,8 @@ mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\rdf
..\%__SRC%\inc\offuh\com\sun\star\scanner\*.hpp %_DEST%\inc%_EXT%\offuh\com\sun\star\scanner\*.hpp
..\%__SRC%\inc\offuh\com\sun\star\script\*.hdl %_DEST%\inc%_EXT%\offuh\com\sun\star\script\*.hdl
..\%__SRC%\inc\offuh\com\sun\star\script\*.hpp %_DEST%\inc%_EXT%\offuh\com\sun\star\script\*.hpp
+..\%__SRC%\inc\offuh\com\sun\star\script\vba\*.hdl %_DEST%\inc%_EXT%\offuh\com\sun\star\script\vba\*.hdl
+..\%__SRC%\inc\offuh\com\sun\star\script\vba\*.hpp %_DEST%\inc%_EXT%\offuh\com\sun\star\script\vba\*.hpp
..\%__SRC%\inc\offuh\com\sun\star\sheet\*.hdl %_DEST%\inc%_EXT%\offuh\com\sun\star\sheet\*.hdl
..\%__SRC%\inc\offuh\com\sun\star\sheet\*.hpp %_DEST%\inc%_EXT%\offuh\com\sun\star\sheet\*.hpp
..\%__SRC%\inc\offuh\com\sun\star\smarttags\*.hdl %_DEST%\inc%_EXT%\offuh\com\sun\star\smarttags\*.hdl
From 22ece3acee4c40f774c82cebe73da9de6b144e8c Mon Sep 17 00:00:00 2001
From: "Daniel Rentz [dr]"
Date: Mon, 30 Aug 2010 14:34:00 +0200
Subject: [PATCH 05/31] mib19: #163429# switch off form design mode in new
documents created with VBA symbol Workbooks.Add
---
offapi/com/sun/star/document/MediaDescriptor.idl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/offapi/com/sun/star/document/MediaDescriptor.idl b/offapi/com/sun/star/document/MediaDescriptor.idl
index 36da721cc159..7571cc343e82 100644
--- a/offapi/com/sun/star/document/MediaDescriptor.idl
+++ b/offapi/com/sun/star/document/MediaDescriptor.idl
@@ -144,7 +144,7 @@ published service MediaDescriptor
For extensibility, it is recommended to use values of type
- sequence with this property.
+ sequence with this property.
*/
[optional,property] any ComponentData;
From 587d0274e4052ba6b71f798eb6c47a9fd2a3b3d0 Mon Sep 17 00:00:00 2001
From: "Daniel Rentz [dr]"
Date: Mon, 30 Aug 2010 16:10:01 +0200
Subject: [PATCH 06/31] dr77: change all exported services in oox module from
MultiServiceFactory to ComponentContext
---
cppuhelper/inc/cppuhelper/factory.hxx | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/cppuhelper/inc/cppuhelper/factory.hxx b/cppuhelper/inc/cppuhelper/factory.hxx
index 1b733d7a9170..a2a9bd2c2a69 100644
--- a/cppuhelper/inc/cppuhelper/factory.hxx
+++ b/cppuhelper/inc/cppuhelper/factory.hxx
@@ -27,9 +27,7 @@
#ifndef _CPPUHELPER_FACTORY_HXX_
#define _CPPUHELPER_FACTORY_HXX_
-#ifndef _RTL_STRING_HXX_
#include
-#endif
#include
#include
@@ -54,7 +52,7 @@ typedef struct _uno_Environment uno_Environment;
compiled it. If the environment is NOT session specific (needs no additional context),
then this function should return the environment type name and leave ppEnv (to 0).
- @paramppEnvTypeName environment type name; string must be constant
+ @param ppEnvTypeName environment type name; string must be constant
@param ppEnv function returns its environment if the environment is session specific,
i.e. has special context
*/
From deef6d3019ff148af77344315272d92ec88125e7 Mon Sep 17 00:00:00 2001
From: Andreas Bregas
Date: Wed, 8 Sep 2010 16:34:55 +0200
Subject: [PATCH 07/31] mib19: #163573# NativeObjectWrapper implementation
(deactivated)
---
offapi/com/sun/star/script/ModuleInfo.idl | 40 +++++++-----------
offapi/com/sun/star/script/ModuleType.idl | 40 +++++++-----------
.../sun/star/script/NativeObjectWrapper.idl | 42 +++++++++++++++++++
offapi/com/sun/star/script/makefile.mk | 3 +-
4 files changed, 76 insertions(+), 49 deletions(-)
create mode 100755 offapi/com/sun/star/script/NativeObjectWrapper.idl
diff --git a/offapi/com/sun/star/script/ModuleInfo.idl b/offapi/com/sun/star/script/ModuleInfo.idl
index 158ba387be6b..f9f3b3639c14 100644
--- a/offapi/com/sun/star/script/ModuleInfo.idl
+++ b/offapi/com/sun/star/script/ModuleInfo.idl
@@ -1,35 +1,27 @@
/*************************************************************************
*
- * OpenOffice.org - a multi-platform office productivity suite
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * $RCSfile: ModuleInfo.idl,v $
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
- * $Revision: 1.2 $
+ * OpenOffice.org - a multi-platform office productivity suite
*
- * last change: $Author: rt $ $Date: 2006/05/05 10:14:46 $
+ * This file is part of OpenOffice.org.
*
- * The Contents of this file are made available subject to
- * the terms of GNU Lesser General Public License Version 2.1.
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
*
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
*
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2005 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ *
+ * for a copy of the LGPLv3 License.
*
************************************************************************/
diff --git a/offapi/com/sun/star/script/ModuleType.idl b/offapi/com/sun/star/script/ModuleType.idl
index a9bde042fa5a..fb0b08692219 100644
--- a/offapi/com/sun/star/script/ModuleType.idl
+++ b/offapi/com/sun/star/script/ModuleType.idl
@@ -1,35 +1,27 @@
/*************************************************************************
*
- * OpenOffice.org - a multi-platform office productivity suite
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * $RCSfile: ModuleType.idl,v $
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
- * $Revision: 1.2 $
+ * OpenOffice.org - a multi-platform office productivity suite
*
- * last change: $Author: rt $ $Date: 2006/05/05 10:14:46 $
+ * This file is part of OpenOffice.org.
*
- * The Contents of this file are made available subject to
- * the terms of GNU Lesser General Public License Version 2.1.
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
*
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
*
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2005 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ *
+ * for a copy of the LGPLv3 License.
*
************************************************************************/
diff --git a/offapi/com/sun/star/script/NativeObjectWrapper.idl b/offapi/com/sun/star/script/NativeObjectWrapper.idl
new file mode 100755
index 000000000000..93281a061d6e
--- /dev/null
+++ b/offapi/com/sun/star/script/NativeObjectWrapper.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ *
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_NativeObjectWrapper_idl__
+#define __com_sun_star_script_NativeObjectWrapper_idl__
+
+//=============================================================================
+module com { module sun { module star { module script {
+struct NativeObjectWrapper
+{
+ any ObjectId;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/script/makefile.mk b/offapi/com/sun/star/script/makefile.mk
index da8e9110d1fa..9c0a38fa44c2 100644
--- a/offapi/com/sun/star/script/makefile.mk
+++ b/offapi/com/sun/star/script/makefile.mk
@@ -50,7 +50,8 @@ IDLFILES=\
XStorageBasedLibraryContainer.idl\
ModuleSizeExceededRequest.idl\
ModuleInfo.idl\
- ModuleType.idl
+ ModuleType.idl\
+ NativeObjectWrapper.idl
# ------------------------------------------------------------------
From 0347768811284f62ab5f885f689f3028a71fe48b Mon Sep 17 00:00:00 2001
From: Joachim Lingner
Date: Wed, 15 Sep 2010 10:00:35 +0200
Subject: [PATCH 08/31] jl160 #i114509# installation hangs when installing on
nfs volume
---
jvmfwk/source/elements.cxx | 93 ++++++++++++++++++++++++++++++--------
jvmfwk/source/elements.hxx | 28 ++++++++++++
2 files changed, 102 insertions(+), 19 deletions(-)
diff --git a/jvmfwk/source/elements.cxx b/jvmfwk/source/elements.cxx
index c4e44f7ac375..606929375915 100644
--- a/jvmfwk/source/elements.cxx
+++ b/jvmfwk/source/elements.cxx
@@ -51,16 +51,16 @@ using namespace osl;
namespace jfw
{
-rtl::OString getElementUpdated()
+rtl::OString getElement(::rtl::OString const & docPath,
+ xmlChar const * pathExpression, bool bThrowIfEmpty)
{
//Prepare the xml document and context
- rtl::OString sSettingsPath = jfw::getVendorSettingsPath();
- OSL_ASSERT(sSettingsPath.getLength() > 0);
- jfw::CXmlDocPtr doc(xmlParseFile(sSettingsPath.getStr()));
+ OSL_ASSERT(docPath.getLength() > 0);
+ jfw::CXmlDocPtr doc(xmlParseFile(docPath.getStr()));
if (doc == NULL)
throw FrameworkException(
JFW_E_ERROR,
- rtl::OString("[Java framework] Error in function getElementUpdated "
+ rtl::OString("[Java framework] Error in function getElement "
"(elements.cxx)"));
jfw::CXPathContextPtr context(xmlXPathNewContext(doc));
@@ -68,20 +68,42 @@ rtl::OString getElementUpdated()
(xmlChar*) NS_JAVA_FRAMEWORK) == -1)
throw FrameworkException(
JFW_E_ERROR,
- rtl::OString("[Java framework] Error in function getElementUpdated "
+ rtl::OString("[Java framework] Error in function getElement "
"(elements.cxx)"));
+
CXPathObjectPtr pathObj;
- pathObj = xmlXPathEvalExpression(
- (xmlChar*)"/jf:javaSelection/jf:updated/text()", context);
+ pathObj = xmlXPathEvalExpression(pathExpression, context);
+ rtl::OString sValue;
if (xmlXPathNodeSetIsEmpty(pathObj->nodesetval))
- throw FrameworkException(
- JFW_E_ERROR,
- rtl::OString("[Java framework] Error in function getElementUpdated "
- "(elements.cxx)"));
- rtl::OString sValue = (sal_Char*) pathObj->nodesetval->nodeTab[0]->content;
+ {
+ if (bThrowIfEmpty)
+ throw FrameworkException(
+ JFW_E_ERROR,
+ rtl::OString("[Java framework] Error in function getElement "
+ "(elements.cxx)"));
+ }
+ else
+ {
+ sValue = (sal_Char*) pathObj->nodesetval->nodeTab[0]->content;
+ }
return sValue;
}
+rtl::OString getElementUpdated()
+{
+ return getElement(jfw::getVendorSettingsPath(),
+ (xmlChar*)"/jf:javaSelection/jf:updated/text()", true);
+}
+
+// Use only in INSTALL mode !!!
+rtl::OString getElementModified()
+{
+ //The modified element is only written in INSTALL mode.
+ //That is NodeJava::m_layer = INSTALL
+ return getElement(jfw::getInstallSettingsPath(),
+ (xmlChar*)"/jf:java/jf:modified/text()", false);
+}
+
void createSettingsStructure(xmlDoc * document, bool * bNeedsSave)
{
@@ -579,6 +601,21 @@ void NodeJava::write() const
xmlAddChild(jreLocationsNode, nodeCrLf);
}
}
+
+ if (INSTALL == m_layer)
+ {
+ //now write the current system time
+ ::TimeValue curTime = {0,0};
+ if (::osl_getSystemTime(& curTime))
+ {
+ rtl::OUString sSeconds =
+ rtl::OUString::valueOf((sal_Int64) curTime.Seconds);
+ xmlNewTextChild(
+ root,NULL, (xmlChar*) "modified", CXmlCharPtr(sSeconds));
+ xmlNode * nodeCrLf = xmlNewText((xmlChar*) "\n");
+ xmlAddChild(root, nodeCrLf);
+ }
+ }
if (xmlSaveFormatFile(sSettingsPath.getStr(), docUser, 1) == -1)
throw FrameworkException(JFW_E_ERROR, sExcMsg);
}
@@ -721,7 +758,7 @@ jfw::FileStatus NodeJava::checkSettingsFileStatus() const
File::RC rc_stat = item.getFileStatus(stat);
if (File::E_None == rc_stat)
{
- //ToDo we remove the file and create it shortly after. This
+ // This
//function may be called multiple times when a java is started.
//If the expiretime is too small then we may loop because everytime
//the file is deleted and we need to search for a java again.
@@ -732,20 +769,27 @@ jfw::FileStatus NodeJava::checkSettingsFileStatus() const
//that after removing the file and shortly later creating it again
//did not change the creation time. That is the newly created file
//had the creation time of the former file.
-// ::TimeValue time = stat.getCreationTime();
- ::TimeValue modTime = stat.getModifyTime();
+ // ::TimeValue modTime = stat.getModifyTime();
::TimeValue curTime = {0,0};
+ ret = FILE_OK;
if (sal_True == ::osl_getSystemTime(& curTime))
{
- if ( curTime.Seconds - modTime.Seconds >
+ //get the modified time recorded in the element
+ sal_uInt32 modified = getModifiedTime();
+ OSL_ASSERT(modified <= curTime.Seconds);
+ //Only if modified has a valued then NodeJava::write was called,
+ //then the xml structure was filled with data.
+
+ if ( modified && curTime.Seconds - modified >
BootParams::getInstallDataExpiration())
{
#if OSL_DEBUG_LEVEL >=2
+ fprintf(stderr, "[Java framework] Settings file is %d seconds old. \n",
+ (int)( curTime.Seconds - modified));
rtl::OString s = rtl::OUStringToOString(sURL, osl_getThreadTextEncoding());
- fprintf(stderr, "[Java framework] Deleting settings file at \n%s\n", s.getStr());
+ fprintf(stderr, "[Java framework] Settings file is exspired. Deleting settings file at \n%s\n", s.getStr());
#endif
//delete file
-// File::RC rc_rem = File::remove(sURL);
File f(sURL);
if (File::E_None == f.open(OpenFlag_Write | OpenFlag_Read)
&& File::E_None == f.setPos(0, 0)
@@ -1083,6 +1127,17 @@ JavaInfo * CNodeJavaInfo::makeJavaInfo() const
return pInfo;
}
+sal_uInt32 NodeJava::getModifiedTime() const
+{
+ sal_uInt32 ret = 0;
+ if (m_layer != INSTALL)
+ {
+ OSL_ASSERT(0);
+ return ret;
+ }
+ rtl::OString modTimeSeconds = getElementModified();
+ return (sal_uInt32) modTimeSeconds.toInt64();
+}
//================================================================================
MergedSettings::MergedSettings():
diff --git a/jvmfwk/source/elements.hxx b/jvmfwk/source/elements.hxx
index a4ca1a83fc3d..ec0e06dc5bab 100644
--- a/jvmfwk/source/elements.hxx
+++ b/jvmfwk/source/elements.hxx
@@ -195,6 +195,34 @@ private:
*/
boost::optional< ::std::vector< ::rtl::OUString> > m_JRELocations;
+ /** Only in INSTALL mode. Then NodeJava.write writes a element
+ which contains the seconds value of the TimeValue (osl/time.h), obtained
+ with osl_getSystemTime.
+ It returns 0 if the value cannot be obtained.
+ This is used to fix the problem that the modified time of the settings
+ file is incorrect because it resides on an NFS volume where the NFS
+ server and NFS client do not have the same system time. For example if
+ the server time is ahead of the client time then checkSettingsFileStatus
+ deleted the settings. So even if javaldx determined a Java
+ (jfw_findAndSelectJRE) then jfw_startVM returned a JFW_E_NO_SELECT. Then
+ it looked again for a java by calling jfw_findAndSelectJRE, which
+ returned a JFW_E_NONE. But the following jfw_startVM returned again
+ JFW_E_NO_SELECT. So it looped. (see issue i114509)
+
+ NFS server and NFS client should have the same time. It is common
+ practise to enforce this in networks. We actually should not work
+ around a malconfigured network. We must however, make sure that we do
+ not loop. Maybe a better approach is, that:
+ - assume that mtime and system time are reliable
+ - checkSettingsFile uses system time and mtime of the settings file,
+ instset of using getModifiedTime.
+ - allow a small error margin
+ - jfw_startVM must return a JFW_E_EXPIRED_SETTINGS
+ - XJavaVM::startVM should prevent the loop by processing the new return+ value
+
+ */
+ sal_uInt32 getModifiedTime() const;
+
public:
NodeJava(Layer theLayer = USER_OR_INSTALL);
From ba762c8c7fe208227b2be0f4b15d54f5749d1a2b Mon Sep 17 00:00:00 2001
From: Christian Lippka
Date: Wed, 15 Sep 2010 10:30:26 +0200
Subject: [PATCH 09/31] mib19: #163566# do not fire exceptions when calling
'hasByHierarchicalName'
---
.../source/registry_tdprovider/tdprovider.cxx | 33 +++++++++----------
1 file changed, 15 insertions(+), 18 deletions(-)
diff --git a/stoc/source/registry_tdprovider/tdprovider.cxx b/stoc/source/registry_tdprovider/tdprovider.cxx
index 1d62657beba9..2cf26706993c 100644
--- a/stoc/source/registry_tdprovider/tdprovider.cxx
+++ b/stoc/source/registry_tdprovider/tdprovider.cxx
@@ -172,6 +172,8 @@ public:
virtual Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
// XHierarchicalNameAccess
+ Any getByHierarchicalNameImpl( const OUString & rName );
+
virtual Any SAL_CALL getByHierarchicalName( const OUString & rName ) throw(::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
virtual sal_Bool SAL_CALL hasByHierarchicalName( const OUString & rName ) throw(::com::sun::star::uno::RuntimeException);
@@ -223,14 +225,7 @@ Any ProviderImpl::TypeDescriptionManagerWrapper::getByHierarchicalName(
sal_Bool ProviderImpl::TypeDescriptionManagerWrapper::hasByHierarchicalName(
OUString const & name ) throw (RuntimeException)
{
- try
- {
- return getByHierarchicalName( name ).hasValue();
- }
- catch (container::NoSuchElementException &)
- {
- return false;
- }
+ return m_xTDMgr->hasByHierarchicalName( name ) || m_xThisProvider->hasByHierarchicalName( name );
}
//______________________________________________________________________________
@@ -344,8 +339,7 @@ Sequence< OUString > ProviderImpl::getSupportedServiceNames()
// XHierarchicalNameAccess
//__________________________________________________________________________________________________
-Any SAL_CALL ProviderImpl::getByHierarchicalName( const OUString & rName )
- throw(::com::sun::star::uno::RuntimeException, com::sun::star::container::NoSuchElementException)
+Any ProviderImpl::getByHierarchicalNameImpl( const OUString & rName )
{
Any aRet;
@@ -432,7 +426,17 @@ Any SAL_CALL ProviderImpl::getByHierarchicalName( const OUString & rName )
// Don't stop iteration in this case.
}
+ catch ( NoSuchElementException const & )
+ {
+ }
}
+ return aRet;
+}
+
+Any SAL_CALL ProviderImpl::getByHierarchicalName( const OUString & rName )
+ throw(::com::sun::star::uno::RuntimeException, com::sun::star::container::NoSuchElementException)
+{
+ Any aRet( getByHierarchicalNameImpl( rName ) );
if ( !aRet.hasValue() )
throw NoSuchElementException(
@@ -445,14 +449,7 @@ Any SAL_CALL ProviderImpl::getByHierarchicalName( const OUString & rName )
sal_Bool ProviderImpl::hasByHierarchicalName( const OUString & rName )
throw(::com::sun::star::uno::RuntimeException)
{
- try
- {
- return getByHierarchicalName( rName ).hasValue();
- }
- catch (NoSuchElementException &)
- {
- }
- return sal_False;
+ return getByHierarchicalNameImpl( rName ).hasValue();
}
// XTypeDescriptionEnumerationAccess
From ab471680c2f50d4fbd634374517ab470dd737cca Mon Sep 17 00:00:00 2001
From: Mikhail Voytenko
Date: Fri, 17 Sep 2010 09:40:01 +0200
Subject: [PATCH 10/31] mib19: #163559# allow to call IDispatch
methods/properties that are not available through ITypeInfo
---
.../com/sun/star/script/XDirectInvocation.idl | 82 +++++++++++++++++++
udkapi/com/sun/star/script/makefile.mk | 1 +
2 files changed, 83 insertions(+)
create mode 100644 udkapi/com/sun/star/script/XDirectInvocation.idl
diff --git a/udkapi/com/sun/star/script/XDirectInvocation.idl b/udkapi/com/sun/star/script/XDirectInvocation.idl
new file mode 100644
index 000000000000..8a37c47dd781
--- /dev/null
+++ b/udkapi/com/sun/star/script/XDirectInvocation.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ *
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_script_XDirectInvocation_idl__
+#define __com_sun_star_script_XDirectInvocation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include
+#endif
+
+#ifndef __com_sun_star_script_CannotConvertException_idl__
+#include
+#endif
+
+#ifndef __com_sun_star_reflection_InvocationTargetException_idl__
+#include
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+/** provides access to an object's methods and properties.
+ */
+published interface XDirectInvocation: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** provides access to methods and properties exposed by an object.
+
+ @param aParams all parameters, out parameters are not supported
+ */
+ any directInvoke( [in] string aName,
+ [in] sequence aParams )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::script::CannotConvertException,
+ com::sun::star::reflection::InvocationTargetException );
+
+ //-------------------------------------------------------------------------
+ /** returns if the method or property with the specified name exists, else .
+ */
+ boolean hasMember( [in] string aName );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/udkapi/com/sun/star/script/makefile.mk b/udkapi/com/sun/star/script/makefile.mk
index 32aa58fefa6d..c457b4a78657 100644
--- a/udkapi/com/sun/star/script/makefile.mk
+++ b/udkapi/com/sun/star/script/makefile.mk
@@ -60,6 +60,7 @@ IDLFILES=\
XAllListener.idl\
XAllListenerAdapterService.idl\
XDebugging.idl\
+ XDirectInvocation.idl\
XEngine.idl\
XEngineListener.idl\
XEventAttacher.idl\
From 9cf6c5592989c25126b004fe4cdecb86ce49bd5c Mon Sep 17 00:00:00 2001
From: Dirk Voelzke
Date: Tue, 28 Sep 2010 10:03:56 +0200
Subject: [PATCH 11/31] #dv22#i114788# Add 'show license' to extension popup
menu
---
offapi/com/sun/star/deployment/XPackage.idl | 8 ++++++++
1 file changed, 8 insertions(+)
mode change 100644 => 100755 offapi/com/sun/star/deployment/XPackage.idl
diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl
old mode 100644
new mode 100755
index 9709b579bc2e..a6a2f6adf851
--- a/offapi/com/sun/star/deployment/XPackage.idl
+++ b/offapi/com/sun/star/deployment/XPackage.idl
@@ -262,6 +262,14 @@ interface XPackage
string getDescription()
raises (ExtensionRemovedException);
+ /** returns a string containing the license text.
+
+ @return
+ license
+ */
+ string getLicenseText()
+ raises (ExtensionRemovedException);
+
/** returns a sequence of update information URLs.
The sequence may be empty in case no update information is available.
From c8108e906f998f14a0a7f0125674970b55def952 Mon Sep 17 00:00:00 2001
From: Joachim Lingner
Date: Wed, 29 Sep 2010 09:11:20 +0200
Subject: [PATCH 12/31] jl160 #i114794# registration data folder of bundled
extensions in the user installation references PREREG registration data in
brand/share/prereg/bundled folder
---
.../sun/star/deployment/XExtensionManager.idl | 21 +++++++++++++++++++
.../sun/star/deployment/XPackageRegistry.idl | 7 +++++++
2 files changed, 28 insertions(+)
diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl
index b807df54af65..679ba2ba5a66 100644
--- a/offapi/com/sun/star/deployment/XExtensionManager.idl
+++ b/offapi/com/sun/star/deployment/XExtensionManager.idl
@@ -281,6 +281,8 @@ interface XExtensionManager
Added extensions will be added to the database and removed extensions
will be removed from the database.
+ The active extensions are determined. That is, shared or bundled extensions
+ are not necessaryly registered (XPackage::registerPackage).
@return
If true - then at least one extension was removed or added. Otherwise
@@ -295,6 +297,25 @@ interface XExtensionManager
com::sun::star::lang::IllegalArgumentException);
+ /** synchronizes the special bundled_prereg repository, which is based on
+ the bundled extensions and has its registration data folder at
+ $BUNDLED_EXTENSIONS_PREREG (for example openoffice.org3/share/prereg).
+
+ All bundled extensions are registered (XPackage::registerPackage).
+ The active extensions are NOT determined, because this function only works
+ with bundled extensions.
+
+ This function is intended to be called during the installation of OOo.
+ OOo will copy parts of the registration data folder to the user installation at the
+ first startup.
+ */
+
+ void synchronizeBundledPrereg(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException);
+
+
/** returns all extensions which are currently not in use
because the user did not accept the license.
diff --git a/offapi/com/sun/star/deployment/XPackageRegistry.idl b/offapi/com/sun/star/deployment/XPackageRegistry.idl
index c84f37625ec5..a8e3f556781d 100644
--- a/offapi/com/sun/star/deployment/XPackageRegistry.idl
+++ b/offapi/com/sun/star/deployment/XPackageRegistry.idl
@@ -115,6 +115,13 @@ interface XPackageRegistry
supported XPackageTypeInfos.
*/
sequence getSupportedPackageTypes();
+
+ void packageRemoved(
+ [in] string url,
+ [in] string mediaType)
+ raises (DeploymentException,
+ com::sun::star::lang::IllegalArgumentException);
+
};
}; }; }; };
From 1221920d8979270644cf55c02e9202c534adb20f Mon Sep 17 00:00:00 2001
From: sb
Date: Wed, 6 Oct 2010 17:43:02 +0200
Subject: [PATCH 13/31] sb131: #i114962# first step of passive extension
component registration (no live deployment yet)
---
stoc/source/simpleregistry/textualservices.cxx | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/stoc/source/simpleregistry/textualservices.cxx b/stoc/source/simpleregistry/textualservices.cxx
index 932c639124d0..5a50a5aa62c6 100755
--- a/stoc/source/simpleregistry/textualservices.cxx
+++ b/stoc/source/simpleregistry/textualservices.cxx
@@ -41,8 +41,10 @@
#include "com/sun/star/uno/XInterface.hpp"
#include "cppuhelper/implbase1.hxx"
#include "osl/diagnose.h"
+#include "rtl/malformeduriexception.hxx"
#include "rtl/ref.hxx"
#include "rtl/string.h"
+#include "rtl/uri.hxx"
#include "rtl/ustrbuf.hxx"
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
@@ -306,6 +308,16 @@ void Parser::handleComponent() {
": is missing \"loader\" attribute"))),
css::uno::Reference< css::uno::XInterface >());
}
+ try {
+ attrUri_ = rtl::Uri::convertRelToAbs(reader_.getUrl(), attrUri_);
+ } catch (rtl::MalformedUriException & e) {
+ throw css::registry::InvalidRegistryException(
+ (reader_.getUrl() +
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(": bad \"uri\" attribute: ")) +
+ e.getMessage()),
+ css::uno::Reference< css::uno::XInterface >());
+ }
}
void Parser::handleImplementation() {
From 823c4f2b4b1c118a8944992365a0bb7a7cc8f861 Mon Sep 17 00:00:00 2001
From: sb
Date: Thu, 21 Oct 2010 11:35:24 +0200
Subject: [PATCH 14/31] sb131: #i114962# allow for explicit implementation name
in css.lib.uno.helper.Factory
---
.../com/sun/star/lib/uno/helper/Factory.java | 34 ++++++++++++++++---
1 file changed, 29 insertions(+), 5 deletions(-)
diff --git a/javaunohelper/com/sun/star/lib/uno/helper/Factory.java b/javaunohelper/com/sun/star/lib/uno/helper/Factory.java
index 33d107279633..0780f26486f2 100644
--- a/javaunohelper/com/sun/star/lib/uno/helper/Factory.java
+++ b/javaunohelper/com/sun/star/lib/uno/helper/Factory.java
@@ -51,6 +51,30 @@ public class Factory
com.sun.star.lang.XSingleComponentFactory and
com.sun.star.lang.XServiceInfo
+ @param impl_class
+ implementation class
+ @param impl_name
+ implementation name
+ @param supported_services
+ services implemented
+ @return
+ object factory
+
+ @since UDK 3.2.13
+ */
+ public static XSingleComponentFactory createComponentFactory(
+ Class impl_class, String impl_name, String supported_services [] )
+ throws com.sun.star.uno.RuntimeException
+ {
+ return new Factory( impl_class, impl_name, supported_services );
+ }
+
+ /** Creates an object factory supporting interfaces
+ com.sun.star.lang.XSingleComponentFactory and
+ com.sun.star.lang.XServiceInfo
+
+ The implementation name is the name of the implementation class.
+
@param impl_class
implementation class
@param supported_services
@@ -62,7 +86,8 @@ public class Factory
Class impl_class, String supported_services [] )
throws com.sun.star.uno.RuntimeException
{
- return new Factory( impl_class, supported_services );
+ return createComponentFactory(
+ impl_class, impl_class.getName(), supported_services );
}
/** Writes component's implementation info to given registry key.
@@ -106,11 +131,10 @@ public class Factory
private java.lang.reflect.Method m_method;
private java.lang.reflect.Constructor m_ctor;
- // ctor
- private Factory( Class impl_class, String supported_services [] )
- throws com.sun.star.uno.RuntimeException
+ private Factory(
+ Class impl_class, String impl_name, String supported_services [] )
{
- m_impl_name = impl_class.getName();
+ m_impl_name = impl_name;
m_supported_services = supported_services;
m_impl_class = impl_class;
m_method = null;
From e3d08367e9c907b94f3576f266dc8a2154414d2c Mon Sep 17 00:00:00 2001
From: sb
Date: Thu, 21 Oct 2010 15:41:41 +0200
Subject: [PATCH 15/31] sb131: #i114962# singleton implementations need not
have a .../UNO/SERVICES rdb key
---
.../implementationregistration/implreg.cxx | 96 ++++++++-----------
1 file changed, 42 insertions(+), 54 deletions(-)
diff --git a/stoc/source/implementationregistration/implreg.cxx b/stoc/source/implementationregistration/implreg.cxx
index 2faf13fd159c..cbb49c162fe1 100644
--- a/stoc/source/implementationregistration/implreg.cxx
+++ b/stoc/source/implementationregistration/implreg.cxx
@@ -1153,36 +1153,24 @@ static void prepareRegistry(
{
// update entries in SERVICES section
Sequence< Reference < XRegistryKey > > serviceKeys = xKey->openKeys();
- OUString implName;
+ const Reference < XRegistryKey > * pServiceKeys = serviceKeys.getConstArray();
- if (serviceKeys.getLength())
+ OUString implName = OUString(xImplKey->getKeyName().getStr() + 1);
+ sal_Int32 firstDot = implName.indexOf('/');
+
+ if (firstDot >= 0)
+ implName = implName.copy(firstDot + 1);
+
+ sal_Int32 offset = xKey->getKeyName().getLength() + 1;
+
+ for (sal_Int32 j = 0; j < serviceKeys.getLength(); j++)
{
- const Reference < XRegistryKey > * pServiceKeys = serviceKeys.getConstArray();
+ OUString serviceName = pServiceKeys[j]->getKeyName().copy(offset);
- implName = OUString(xImplKey->getKeyName().getStr() + 1);
- sal_Int32 firstDot = implName.indexOf('/');
-
- if (firstDot >= 0)
- implName = implName.copy(firstDot + 1);
-
- sal_Int32 offset = xKey->getKeyName().getLength() + 1;
-
- for (sal_Int32 j = 0; j < serviceKeys.getLength(); j++)
- {
- OUString serviceName = pServiceKeys[j]->getKeyName().copy(offset);
-
- createUniqueSubEntry(
- xDest->getRootKey()->createKey(
- pool.slash_SERVICES + serviceName ),
- implName);
- }
-
- }
- else
- {
- throw InvalidRegistryException(
- OUString( RTL_CONSTASCII_USTRINGPARAM( "prepareRegistry(): no service names given by component" ) ),
- Reference< XInterface > () );
+ createUniqueSubEntry(
+ xDest->getRootKey()->createKey(
+ pool.slash_SERVICES + serviceName ),
+ implName);
}
xKey = xImplKey->openKey( pool.slash_UNO );
@@ -1205,38 +1193,38 @@ static void prepareRegistry(
}
}
}
+ }
- // update LOCATION entry
- xKey = xImplKey->createKey( pool.slash_UNO_slash_LOCATION );
+ // update LOCATION entry
+ xKey = xImplKey->createKey( pool.slash_UNO_slash_LOCATION );
- if (xKey.is())
+ if (xKey.is())
+ {
+ xKey->setAsciiValue(locationUrl);
+ }
+
+ // update ACTIVATOR entry
+ xKey = xImplKey->createKey( pool.slash_UNO_slash_ACTIVATOR );
+
+ if (xKey.is())
+ {
+ xKey->setAsciiValue(implementationLoaderUrl);
+ }
+
+ xKey = xImplKey->openKey( pool.slash_UNO_slash_SERVICES );
+
+ if (xKey.is() && (xKey->getValueType() == RegistryValueType_ASCIILIST))
+ {
+ // update link entries in REGISTRY_LINKS section
+ Sequence linkNames = xKey->getAsciiListValue();
+
+ if (linkNames.getLength())
{
- xKey->setAsciiValue(locationUrl);
- }
+ const OUString* pLinkNames = linkNames.getConstArray();
- // update ACTIVATOR entry
- xKey = xImplKey->createKey( pool.slash_UNO_slash_ACTIVATOR );
-
- if (xKey.is())
- {
- xKey->setAsciiValue(implementationLoaderUrl);
- }
-
- xKey = xImplKey->openKey( pool.slash_UNO_slash_SERVICES );
-
- if (xKey.is() && (xKey->getValueType() == RegistryValueType_ASCIILIST))
- {
- // update link entries in REGISTRY_LINKS section
- Sequence linkNames = xKey->getAsciiListValue();
-
- if (linkNames.getLength())
+ for (sal_Int32 j = 0; j < linkNames.getLength(); j++)
{
- const OUString* pLinkNames = linkNames.getConstArray();
-
- for (sal_Int32 j = 0; j < linkNames.getLength(); j++)
- {
- prepareLink(xDest, xImplKey, pLinkNames[j]);
- }
+ prepareLink(xDest, xImplKey, pLinkNames[j]);
}
}
}
From 7f942e9705c5f99b91ec5c5f45643fdf4bc7a7a1 Mon Sep 17 00:00:00 2001
From: sb
Date: Fri, 22 Oct 2010 10:37:46 +0200
Subject: [PATCH 16/31] sb131: #i115124# $(XSLTPROC) implies LIBXSLT:libxslt
---
cppuhelper/prj/build.lst | 2 +-
io/prj/build.lst | 2 +-
javaunohelper/prj/build.lst | 2 +-
pyuno/prj/build.lst | 2 +-
remotebridges/prj/build.lst | 2 +-
ure/prj/build.lst | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/cppuhelper/prj/build.lst b/cppuhelper/prj/build.lst
index de66b2d61a4b..ff837f90dd1a 100644
--- a/cppuhelper/prj/build.lst
+++ b/cppuhelper/prj/build.lst
@@ -1,4 +1,4 @@
-ch cppuhelper : BOOST:boost codemaker cppu offuh NULL
+ch cppuhelper : BOOST:boost LIBXSLT:libxslt codemaker cppu offuh NULL
ch cppuhelper usr1 - all ch_mkout NULL
ch cppuhelper\inc nmake - all ch_include NULL
ch cppuhelper\source nmake - all ch_source ch_unotypes ch_include NULL
diff --git a/io/prj/build.lst b/io/prj/build.lst
index 2fa4900f52e6..f2be62d2aa1e 100644
--- a/io/prj/build.lst
+++ b/io/prj/build.lst
@@ -1,4 +1,4 @@
-io io : rdbmaker NULL
+io io : LIBXSLT:libxslt rdbmaker NULL
io io usr1 - all io_mkout NULL
io io\inc nmake - all io_inc NULL
io io\source\acceptor nmake - all io_acceptor io_connector io_inc NULL
diff --git a/javaunohelper/prj/build.lst b/javaunohelper/prj/build.lst
index c18dd3eb94dc..d97a6450d06a 100644
--- a/javaunohelper/prj/build.lst
+++ b/javaunohelper/prj/build.lst
@@ -1,4 +1,4 @@
-jh javaunohelper : bridges cppuhelper jurt ridljar unoil NULL
+jh javaunohelper : LIBXSLT:libxslt bridges cppuhelper jurt ridljar unoil NULL
jh javaunohelper usr1 - all jh_mkout NULL
jh javaunohelper\inc nmake - all jh_inc NULL
jh javaunohelper\com\sun\star\comp\helper nmake - all jh_helper jh_inc NULL
diff --git a/pyuno/prj/build.lst b/pyuno/prj/build.lst
index 92449162071d..5a3b2c179e7d 100644
--- a/pyuno/prj/build.lst
+++ b/pyuno/prj/build.lst
@@ -1,4 +1,4 @@
-bgpu pyuno : stoc cpputools cppuhelper bridges tools PYTHON:python NULL
+bgpu pyuno : stoc cpputools cppuhelper bridges tools PYTHON:python LIBXSLT:libxslt NULL
pu pyuno usr1 - all br_mkout NULL
pu pyuno\zipcore nmake - all pu_zipcore NULL
pu pyuno\source\module nmake - all pu_module NULL
diff --git a/remotebridges/prj/build.lst b/remotebridges/prj/build.lst
index 30a376462d7c..a1f16dbd60d2 100644
--- a/remotebridges/prj/build.lst
+++ b/remotebridges/prj/build.lst
@@ -1,4 +1,4 @@
-rb remotebridges : bridges rdbmaker NULL
+rb remotebridges : LIBXSLT:libxslt bridges rdbmaker NULL
rb remotebridges usr1 - all rb_mkout NULL
rb remotebridges\source\bridge nmake - all rb_iiop NULL
rb remotebridges\source\factory nmake - all rb_factory NULL
diff --git a/ure/prj/build.lst b/ure/prj/build.lst
index 7d3e23edc058..1f9b694ed554 100644
--- a/ure/prj/build.lst
+++ b/ure/prj/build.lst
@@ -1,2 +1,2 @@
-ur ure : cli_ure io javaunohelper remotebridges solenv stoc NULL
+ur ure : LIBXSLT:libxslt cli_ure io javaunohelper remotebridges solenv stoc NULL
ur ure\source nmake - all ur_source NULL
From 739343f846f6feb5c586c5ddbf59a7493a93b494 Mon Sep 17 00:00:00 2001
From: sb
Date: Fri, 22 Oct 2010 16:19:33 +0200
Subject: [PATCH 17/31] sb131: #i115203# note that xmlreader is semi-private
and unversioned for now
---
xmlreader/inc/xmlreader/README | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100644 xmlreader/inc/xmlreader/README
diff --git a/xmlreader/inc/xmlreader/README b/xmlreader/inc/xmlreader/README
new file mode 100644
index 000000000000..cf238a695c61
--- /dev/null
+++ b/xmlreader/inc/xmlreader/README
@@ -0,0 +1,34 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+#
+# for a copy of the LGPLv3 License.
+#
+#***********************************************************************/
+
+: "Issue 113189
+extracted xmlreader from configmgr, to make the former available within URE.
+The xmlreader library is for now considered a private part of URE (cf.
+ure/source/README), for simplicity uses OOO_DLLPUBLIC_XMLREADER-based symbol
+visibility (and thus no symbol versioning), but is of course used from outside
+URE in configmgr. This works as long as its ABI does not change. If it ever
+changes, symbol versioning will have to be added (in some form or other)."
From 918911ae91a8b361b645d2f147fc855cf1bc5945 Mon Sep 17 00:00:00 2001
From: "Daniel Rentz [dr]"
Date: Thu, 28 Oct 2010 16:28:05 +0200
Subject: [PATCH 18/31] dr77: #i115296# add constants for
SpreadsheetViewSettings::Show... properties
---
.../star/sheet/SpreadsheetViewObjectsMode.idl | 61 +++++++++++++++++++
.../star/sheet/SpreadsheetViewSettings.idl | 10 ++-
offapi/com/sun/star/sheet/makefile.mk | 1 +
3 files changed, 70 insertions(+), 2 deletions(-)
create mode 100755 offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl
diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl b/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl
new file mode 100755
index 000000000000..d672dd8931e9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ *
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SpreadsheetViewObjectsMode_idl__
+#define __com_sun_star_sheet_SpreadsheetViewObjectsMode_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** Constants that control how embedded objects are shown in the view.
+ */
+published constants SpreadsheetViewObjectsMode
+{
+ //-------------------------------------------------------------------------
+
+ /** Specifies to display a specific set of objects in the spreadsheet view.
+ */
+ const short SHOW = 0;
+
+ //-------------------------------------------------------------------------
+
+ /** Specifies to hide a specific set of objects from the spreadsheet view.
+ */
+ const short HIDE = 1;
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl b/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl
index e40ea1dd8fe4..c1b56ff7ffc6 100644
--- a/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl
+++ b/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl
@@ -149,18 +149,24 @@ published service SpreadsheetViewSettings
//-------------------------------------------------------------------------
/** enables display of embedded objects in the view.
+
+ @see SpreadsheetViewObjectsMode
*/
[property] short ShowObjects;
//-------------------------------------------------------------------------
/** enables the display of charts in the view.
+
+ @see SpreadsheetViewObjectsMode
*/
[property] short ShowCharts;
//-------------------------------------------------------------------------
/** enables the display of drawing objects in the view.
+
+ @see SpreadsheetViewObjectsMode
*/
[property] short ShowDrawing;
@@ -175,14 +181,14 @@ published service SpreadsheetViewSettings
@see com::sun::star::view::DocumentZoomType
*/
- [property] short ZoomType;
+ [property] short ZoomType;
//-------------------------------------------------------------------------
/** Defines the zoom value to use.
Valid only if the ZoomType is set to
BY_VALUE.
*/
- [property] short ZoomValue;
+ [property] short ZoomValue;
};
//=============================================================================
diff --git a/offapi/com/sun/star/sheet/makefile.mk b/offapi/com/sun/star/sheet/makefile.mk
index 65e8d5c40491..c5b15a5b07af 100644
--- a/offapi/com/sun/star/sheet/makefile.mk
+++ b/offapi/com/sun/star/sheet/makefile.mk
@@ -198,6 +198,7 @@ IDLFILES=\
SpreadsheetDocumentSettings.idl\
SpreadsheetDrawPage.idl\
SpreadsheetView.idl\
+ SpreadsheetViewObjectsMode.idl\
SpreadsheetViewPane.idl\
SpreadsheetViewPanesEnumeration.idl\
SpreadsheetViewSettings.idl\
From f8adcdcdfe9a66d1d52c904b2e32cb6bc48509a2 Mon Sep 17 00:00:00 2001
From: "Daniel Rentz [dr]"
Date: Wed, 3 Nov 2010 09:55:23 +0100
Subject: [PATCH 19/31] dr77: #i102872# little cleanup of IDL documentation
related to sheet filters
---
.../sun/star/sheet/SheetFilterDescriptor.idl | 25 +++++++++++--------
.../com/sun/star/sheet/TableFilterField.idl | 11 +++-----
.../com/sun/star/sheet/TableFilterField2.idl | 12 +++------
offapi/com/sun/star/sheet/XDatabaseRange.idl | 12 ++++++---
.../sun/star/sheet/XSheetFilterDescriptor.idl | 14 +++--------
.../star/sheet/XSheetFilterDescriptor2.idl | 12 +++------
6 files changed, 35 insertions(+), 51 deletions(-)
diff --git a/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl b/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
index 8e94a6b2edcf..e8e12639a244 100644
--- a/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
+++ b/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
@@ -28,21 +28,11 @@
#ifndef __com_sun_star_sheet_SheetFilterDescriptor_idl__
#define __com_sun_star_sheet_SheetFilterDescriptor_idl__
-#ifndef __com_sun_star_sheet_XSheetFilterDescriptor_idl__
#include
-#endif
-
-#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include
#include
-#endif
-
-#ifndef __com_sun_star_table_TableOrientation_idl__
#include
-#endif
-
-#ifndef __com_sun_star_table_CellAddress_idl__
#include
-#endif
//=============================================================================
@@ -66,6 +56,19 @@ published service SheetFilterDescriptor
//-------------------------------------------------------------------------
+ /** provides access to the collection of filter fields.
+
+ This interface provides a sequence of TableFilterField2
+ structures supporting a wider range of comparison operators, compared
+ to the TableFilterField structure provided by interface
+ XSheetFilterDescriptor.
+
+ @since OOo 3.2
+ */
+ [optional] interface com::sun::star::sheet::XSheetFilterDescriptor2;
+
+ //-------------------------------------------------------------------------
+
//!published service PropertySet
/** provides access to the properties.
*/
diff --git a/offapi/com/sun/star/sheet/TableFilterField.idl b/offapi/com/sun/star/sheet/TableFilterField.idl
index 6000a1c0247e..69d9a5bcc6ee 100644
--- a/offapi/com/sun/star/sheet/TableFilterField.idl
+++ b/offapi/com/sun/star/sheet/TableFilterField.idl
@@ -28,13 +28,8 @@
#ifndef __com_sun_star_sheet_TableFilterField_idl__
#define __com_sun_star_sheet_TableFilterField_idl__
-#ifndef __com_sun_star_sheet_FilterConnection_idl__
#include
-#endif
-
-#ifndef __com_sun_star_sheet_FilterOperator_idl__
#include
-#endif
//=============================================================================
@@ -44,7 +39,7 @@ module com { module sun { module star { module sheet {
/** describes a single condition in a filter descriptor.
- @see com::sun::star::sheet::SheetFilterDescriptor
+ @see SheetFilterDescriptor
*/
published struct TableFilterField
{
@@ -52,7 +47,7 @@ published struct TableFilterField
/** specifies how the condition is connected to the previous condition.
*/
- com::sun::star::sheet::FilterConnection Connection;
+ FilterConnection Connection;
//-------------------------------------------------------------------------
@@ -64,7 +59,7 @@ published struct TableFilterField
/** specifies the type of the condition.
*/
- com::sun::star::sheet::FilterOperator Operator;
+ FilterOperator Operator;
//-------------------------------------------------------------------------
diff --git a/offapi/com/sun/star/sheet/TableFilterField2.idl b/offapi/com/sun/star/sheet/TableFilterField2.idl
index cfbcfa4d143c..d7383f477bdc 100644
--- a/offapi/com/sun/star/sheet/TableFilterField2.idl
+++ b/offapi/com/sun/star/sheet/TableFilterField2.idl
@@ -28,14 +28,8 @@
#ifndef __com_sun_star_sheet_TableFilterField2_idl__
#define __com_sun_star_sheet_TableFilterField2_idl__
-
-#ifndef __com_sun_star_sheet_FilterConnection_idl__
#include
-#endif
-
-#ifndef __com_sun_star_sheet_FilterOperator2_idl__
#include
-#endif
//=============================================================================
@@ -49,7 +43,7 @@ module com { module sun { module star { module sheet {
member, whereas the TableFilterField struct uses the
FilterOperator enum.
- @see com::sun::star::sheet::SheetFilterDescriptor
+ @see SheetFilterDescriptor
@since OOo 3.2
*/
published struct TableFilterField2
@@ -58,7 +52,7 @@ published struct TableFilterField2
/** specifies how the condition is connected to the previous condition.
*/
- com::sun::star::sheet::FilterConnection Connection;
+ FilterConnection Connection;
//-------------------------------------------------------------------------
@@ -69,7 +63,7 @@ published struct TableFilterField2
//-------------------------------------------------------------------------
/** specifies the type of the condition as defined in
- FilterOperator2.
+ FilterOperator2.
*/
long Operator;
diff --git a/offapi/com/sun/star/sheet/XDatabaseRange.idl b/offapi/com/sun/star/sheet/XDatabaseRange.idl
index 573578f0c355..9826ab8278e6 100644
--- a/offapi/com/sun/star/sheet/XDatabaseRange.idl
+++ b/offapi/com/sun/star/sheet/XDatabaseRange.idl
@@ -77,7 +77,7 @@ published interface XDatabaseRange: com::sun::star::uno::XInterface
/** returns the sort descriptor stored with the database range.
- @see com::sun::star::sheet::SheetSortDescriptor2
+ @see SheetSortDescriptor2
*/
sequence< com::sun::star::beans::PropertyValue > getSortDescriptor();
@@ -88,8 +88,10 @@ published interface XDatabaseRange: com::sun::star::uno::XInterface
If the filter descriptor is modified, the new filtering is
carried out when XDatabaseRange::refresh() is
called.
+
+ @see SheetFilterDescriptor
*/
- com::sun::star::sheet::XSheetFilterDescriptor getFilterDescriptor();
+ XSheetFilterDescriptor getFilterDescriptor();
//-------------------------------------------------------------------------
@@ -98,15 +100,17 @@ published interface XDatabaseRange: com::sun::star::uno::XInterface
If the subtotal descriptor is modified, the new subtotals are
inserted when XDatabaseRange::refresh() is
called.
+
+ @see SubTotalDescriptor
*/
- com::sun::star::sheet::XSubTotalDescriptor getSubTotalDescriptor();
+ XSubTotalDescriptor getSubTotalDescriptor();
//-------------------------------------------------------------------------
/** returns the database import descriptor stored with this database
range.
- @see com::sun::star::sheet::DatabaseImportDescriptor
+ @see DatabaseImportDescriptor
*/
sequence< com::sun::star::beans::PropertyValue > getImportDescriptor();
diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl
index 49f44fd534d8..b3864f373c8a 100644
--- a/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl
+++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl
@@ -28,13 +28,8 @@
#ifndef __com_sun_star_sheet_XSheetFilterDescriptor_idl__
#define __com_sun_star_sheet_XSheetFilterDescriptor_idl__
-#ifndef __com_sun_star_uno_XInterface_idl__
-#include
-#endif
-
-#ifndef __com_sun_star_sheet_TableFilterField_idl__
#include
-#endif
+#include
//=============================================================================
@@ -44,7 +39,7 @@ module com { module sun { module star { module sheet {
/** provides access to a collection of filter conditions (filter fields).
- @see com::sun::star::sheet::SheetFilterDescriptor
+ @see SheetFilterDescriptor
*/
published interface XSheetFilterDescriptor: com::sun::star::uno::XInterface
{
@@ -52,14 +47,13 @@ published interface XSheetFilterDescriptor: com::sun::star::uno::XInterface
/** returns the collection of filter fields.
*/
- sequence< com::sun::star::sheet::TableFilterField > getFilterFields();
+ sequence< TableFilterField > getFilterFields();
//-------------------------------------------------------------------------
/** sets a new collection of filter fields.
*/
- void setFilterFields(
- [in] sequence< com::sun::star::sheet::TableFilterField > aFilterFields );
+ void setFilterFields( [in] sequence< TableFilterField > aFilterFields );
};
diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl
index 8f94ee65fc8e..ba8b7904366e 100644
--- a/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl
+++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl
@@ -28,13 +28,8 @@
#ifndef __com_sun_star_sheet_XSheetFilterDescriptor2_idl__
#define __com_sun_star_sheet_XSheetFilterDescriptor2_idl__
-#ifndef __com_sun_star_sheet_TableFilterField2_idl__
#include
-#endif
-
-#ifndef __com_sun_star_uno_XInterface_idl__
#include
-#endif
//=============================================================================
@@ -48,7 +43,7 @@ module com { module sun { module star { module sheet {
whereas the XSheetFilterDescriptor interface uses the
TableFilterField struct.
- @see com::sun::star::sheet::SheetFilterDescriptor
+ @see SheetFilterDescriptor
@since OOo 3.2
*/
published interface XSheetFilterDescriptor2: com::sun::star::uno::XInterface
@@ -57,14 +52,13 @@ published interface XSheetFilterDescriptor2: com::sun::star::uno::XInterface
/** returns the collection of filter fields.
*/
- sequence< com::sun::star::sheet::TableFilterField2 > getFilterFields2();
+ sequence< TableFilterField2 > getFilterFields2();
//-------------------------------------------------------------------------
/** sets a new collection of filter fields.
*/
- void setFilterFields2(
- [in] sequence< com::sun::star::sheet::TableFilterField2 > aFilterFields );
+ void setFilterFields2( [in] sequence< TableFilterField2 > aFilterFields );
};
From 771b51557acb2f789ee82080ecfdc39c1f8c3a27 Mon Sep 17 00:00:00 2001
From: "Daniel Rentz [dr]"
Date: Wed, 3 Nov 2010 10:02:35 +0100
Subject: [PATCH 20/31] dr77: #i102872# little cleanup of IDL documentation
related to sheet filters
---
offapi/com/sun/star/sheet/SheetFilterDescriptor.idl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl b/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
index e8e12639a244..cd4a12abde76 100644
--- a/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
+++ b/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
@@ -52,7 +52,7 @@ published service SheetFilterDescriptor
/** provides access to the collection of filter fields.
*/
- interface com::sun::star::sheet::XSheetFilterDescriptor;
+ interface XSheetFilterDescriptor;
//-------------------------------------------------------------------------
@@ -65,7 +65,7 @@ published service SheetFilterDescriptor
@since OOo 3.2
*/
- [optional] interface com::sun::star::sheet::XSheetFilterDescriptor2;
+ [optional] interface XSheetFilterDescriptor2;
//-------------------------------------------------------------------------
From 82cdefeb20ce8ccb1ae39b03364e8b79988c0db9 Mon Sep 17 00:00:00 2001
From: "Daniel Rentz [dr]"
Date: Wed, 3 Nov 2010 20:04:05 +0100
Subject: [PATCH 21/31] dr77: typos in IDL
---
offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
index 06008bbc059d..90edc6b22200 100644
--- a/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
+++ b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
@@ -56,7 +56,7 @@ constants FormulaMapGroupSpecialOffset
constants.
A string for literal text.
A any for a literal array. The contained
- values shall be of type double or atom>string.
+ values shall be of type double or string.
Floating-point values and strings may occur together in an array.
A struct of type SingleReference for a reference to a
single cell in the own document.
@@ -142,7 +142,7 @@ constants FormulaMapGroupSpecialOffset
able to parse.
The FormulaToken::Data member shall contain a
- string with the bad data. This string will be displayed
+ string with the bad data. This string will be displayed
literally in the formula.
*/
const long BAD = 7;
From f468ede49f6de848a1d877673fd411dbb330b2a0 Mon Sep 17 00:00:00 2001
From: Mihaela Kedikova
Date: Mon, 8 Nov 2010 17:59:39 +0100
Subject: [PATCH 22/31] gridcontrol07: bugfixes for gridcontrol
---
offapi/com/sun/star/awt/grid/UnoControlGridModel.idl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
index 7eea49624045..b9cf8745d96e 100644
--- a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
+++ b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
@@ -80,7 +80,7 @@ service UnoControlGridModel
You can implement your own instance of XGridDataModel or use
the DefaultGridDataModel.
*/
- [property] XGridDataModel DataModel;
+ [property] XGridDataModel GridDataModel;
/** Specifies the vertical scrollbar mode.
The default value is
From dd72a5d618a7de6cc6d6d5f31fe7a683745535f3 Mon Sep 17 00:00:00 2001
From: Mikhail Voytenko
Date: Fri, 19 Nov 2010 17:14:11 +0100
Subject: [PATCH 23/31] fwk160: #i105047# provide anough place for the locale,
since it could contain currency and etc.
---
sal/osl/unx/nlsupport.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sal/osl/unx/nlsupport.c b/sal/osl/unx/nlsupport.c
index c9f4fd18df21..af7d420ee524 100644
--- a/sal/osl/unx/nlsupport.c
+++ b/sal/osl/unx/nlsupport.c
@@ -844,9 +844,9 @@ void _imp_getProcessLocale( rtl_Locale ** ppLocale )
if ( NULL == locale )
{
- locale = (char *)malloc( 20 );
+ locale = (char *)malloc( 128 );
if ( locale )
- macosx_getLocale( locale, 20 );
+ macosx_getLocale( locale, 128 );
else
fprintf( stderr, "nlsupport.c: locale allocation returned NULL!\n" );
}
From b57987d3d0d749e82d96f5fb8750b71fda8b4924 Mon Sep 17 00:00:00 2001
From: Hans-Joachim Lankenau
Date: Tue, 7 Dec 2010 19:13:10 +0100
Subject: [PATCH 24/31] ause128: #i115964# create .jnilib file on request when
linking; deliver .jnilib files instead of deliver magic
---
jurt/prj/d.lst | 1 +
jurt/source/pipe/makefile.mk | 1 +
2 files changed, 2 insertions(+)
diff --git a/jurt/prj/d.lst b/jurt/prj/d.lst
index 848435f61138..74f5b60d7748 100644
--- a/jurt/prj/d.lst
+++ b/jurt/prj/d.lst
@@ -3,5 +3,6 @@
..\%__SRC%\bin\jpipx.dll %_DEST%\bin%_EXT%\jpipx.dll
..\%__SRC%\lib\libjpipe*.so %_DEST%\lib%_EXT%\libjpipe*.so
..\%__SRC%\lib\libjpipe*.dylib %_DEST%\lib%_EXT%\libjpipe*.dylib
+..\%__SRC%\lib\libjpipe*.jnilib %_DEST%\lib%_EXT%\libjpipe*.jnilib
..\%__SRC%\bin\jurt_src.zip %COMMON_DEST%\bin%_EXT%\jurt_src.zip
diff --git a/jurt/source/pipe/makefile.mk b/jurt/source/pipe/makefile.mk
index 5be6f1ebfd10..4a6dc59c89c2 100644
--- a/jurt/source/pipe/makefile.mk
+++ b/jurt/source/pipe/makefile.mk
@@ -41,6 +41,7 @@ SHL1TARGET = jpipe
.END
SHL1CODETYPE = C
+SHL1CREATEJNILIB=TRUE
SHL1IMPLIB = i$(SHL1TARGET)
SHL1OBJS = $(SLO)/com_sun_star_lib_connections_pipe_PipeConnection.obj
SHL1RPATH = URELIB
From 2482b356193c3a6ac933b9b98ee6721e8dec7106 Mon Sep 17 00:00:00 2001
From: Hans-Joachim Lankenau
Date: Wed, 8 Dec 2010 15:17:09 +0100
Subject: [PATCH 25/31] ause128: #i115964# add creating libjava_uno.jnilib for
tests that may need it
---
bridges/source/jni_uno/makefile.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/bridges/source/jni_uno/makefile.mk b/bridges/source/jni_uno/makefile.mk
index da0942cdad29..1474a86cd741 100644
--- a/bridges/source/jni_uno/makefile.mk
+++ b/bridges/source/jni_uno/makefile.mk
@@ -67,6 +67,7 @@ SHL1STDLIBS= \
SHL1VERSIONMAP=$(TARGET).map
+SHL1CREATEJNILIB=TRUE
SHL1IMPLIB=i$(TARGET)
SHL1LIBS=$(SLB)$/$(TARGET).lib
SHL1DEF=$(MISC)$/$(SHL1TARGET).def
From 0d2b12deb5d2a78d795ac39b36d51170ef0439de Mon Sep 17 00:00:00 2001
From: sb
Date: Fri, 10 Dec 2010 13:46:18 +0100
Subject: [PATCH 26/31] sb135: #i116043# handle extended
InterfaceAttributeTypeDescription information
---
cppuhelper/source/tdmgr.cxx | 34 ++++++++++++++++++++++++++++------
1 file changed, 28 insertions(+), 6 deletions(-)
diff --git a/cppuhelper/source/tdmgr.cxx b/cppuhelper/source/tdmgr.cxx
index 1174c1822fb6..4a8a88f2093a 100644
--- a/cppuhelper/source/tdmgr.cxx
+++ b/cppuhelper/source/tdmgr.cxx
@@ -27,6 +27,11 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_cppuhelper.hxx"
+
+#include "sal/config.h"
+
+#include
+
#include
#include
@@ -45,7 +50,7 @@
#include
#include
#include
-#include
+#include
#include
#include
#include
@@ -302,7 +307,7 @@ inline static typelib_TypeDescription * createCTD(
}
//==================================================================================================
inline static typelib_TypeDescription * createCTD(
- const Reference< XInterfaceAttributeTypeDescription > & xAttribute )
+ const Reference< XInterfaceAttributeTypeDescription2 > & xAttribute )
{
typelib_TypeDescription * pRet = 0;
if (xAttribute.is())
@@ -310,14 +315,31 @@ inline static typelib_TypeDescription * createCTD(
OUString aMemberName( xAttribute->getName() );
Reference< XTypeDescription > xType( xAttribute->getType() );
OUString aMemberTypeName( xType->getName() );
-
- typelib_typedescription_newInterfaceAttribute(
+ std::vector< rtl_uString * > getExc;
+ Sequence< Reference< XCompoundTypeDescription > > getExcs(
+ xAttribute->getGetExceptions() );
+ for (sal_Int32 i = 0; i != getExcs.getLength(); ++i)
+ {
+ OSL_ASSERT( getExcs[i].is() );
+ getExc.push_back( getExcs[i]->getName().pData );
+ }
+ std::vector< rtl_uString * > setExc;
+ Sequence< Reference< XCompoundTypeDescription > > setExcs(
+ xAttribute->getSetExceptions() );
+ for (sal_Int32 i = 0; i != setExcs.getLength(); ++i)
+ {
+ OSL_ASSERT( setExcs[i].is() );
+ setExc.push_back( setExcs[i]->getName().pData );
+ }
+ typelib_typedescription_newExtendedInterfaceAttribute(
(typelib_InterfaceAttributeTypeDescription **)&pRet,
xAttribute->getPosition(),
aMemberName.pData, // name
(typelib_TypeClass)xType->getTypeClass(),
aMemberTypeName.pData, // type name
- xAttribute->isReadOnly() );
+ xAttribute->isReadOnly(),
+ getExc.size(), getExc.empty() ? 0 : &getExc[0],
+ setExc.size(), setExc.empty() ? 0 : &setExc[0] );
}
return pRet;
}
@@ -643,7 +665,7 @@ static typelib_TypeDescription * createCTD(
pRet = createCTD( Reference< XInterfaceMethodTypeDescription >::query( xType ) );
break;
case TypeClass_INTERFACE_ATTRIBUTE:
- pRet = createCTD( Reference< XInterfaceAttributeTypeDescription >::query( xType ) );
+ pRet = createCTD( Reference< XInterfaceAttributeTypeDescription2 >::query( xType ) );
break;
default:
break;
From 4eb067284ed88651b0a8c89813515f0b88b2bb04 Mon Sep 17 00:00:00 2001
From: sb
Date: Fri, 10 Dec 2010 14:37:57 +0100
Subject: [PATCH 27/31] sb135: #i116046# fixed
jurt.com.sun.star.lib.uno.protocols.urp.Cache typo, adapted corresponding
tests plus solenv/inc/javaunittest.mk to JUnit framework
---
.../sun/star/lib/uno/protocols/urp/Cache.java | 2 +-
jurt/prj/build.lst | 1 +
.../lib/uno/protocols/urp/Cache_Test.java | 100 ++++++++++++------
.../uno/protocols/urp/Marshaling_Test.java | 17 +--
.../lib/uno/protocols/urp/Protocol_Test.java | 45 ++++----
.../star/lib/uno/protocols/urp/makefile.mk | 9 ++
6 files changed, 105 insertions(+), 69 deletions(-)
diff --git a/jurt/com/sun/star/lib/uno/protocols/urp/Cache.java b/jurt/com/sun/star/lib/uno/protocols/urp/Cache.java
index 48268a53a260..d9c57af30cce 100644
--- a/jurt/com/sun/star/lib/uno/protocols/urp/Cache.java
+++ b/jurt/com/sun/star/lib/uno/protocols/urp/Cache.java
@@ -52,7 +52,7 @@ final class Cache {
if (e == null) {
if (map.size() < maxSize) {
// There is still room for a new entry at the front:
- e = new Entry(content, map.size(), last, null);
+ e = new Entry(content, map.size(), null, first);
if (first == null) {
last = e;
} else {
diff --git a/jurt/prj/build.lst b/jurt/prj/build.lst
index 9b9b722bc3ae..6ba92a9ec6b6 100644
--- a/jurt/prj/build.lst
+++ b/jurt/prj/build.lst
@@ -17,3 +17,4 @@ ju jurt\com\sun\star\comp\urlresolver nmake - all ju_urlres ju_co_loader NULL
ju jurt\source\pipe nmake - all ju_src_pipe NULL
ju jurt\source\pipe\wrapper nmake - w ju_src_pipe_wrapper NULL
ju jurt\util nmake - all ju_ut ju_brid_jrm ju_co_bfactr ju_con ju_con_sock ju_con_pipe ju_cssl_uno ju_env_java ju_prot_urp ju_servman ju_urlres ju_src_pipe ju_libutil ju_uno NULL
+ju jurt\test\com\sun\star\lib\uno\protocols\urp nmake - all ju_test_css_lib_uno_protocols_urp NULL
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java b/jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java
index 31d3454bde48..2deb525adeac 100644
--- a/jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java
+++ b/jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java
@@ -27,80 +27,114 @@
package com.sun.star.lib.uno.protocols.urp;
-import complexlib.ComplexTestCase;
+import org.junit.Test;
+import static org.junit.Assert.*;
-public final class Cache_Test extends ComplexTestCase {
- public String[] getTestMethodNames() {
- return new String[] { "test0", "test1", "test2", "test3" };
- }
-
- public void test0() {
+public final class Cache_Test {
+ @Test public void test0() {
Cache c = new Cache(0);
boolean[] f = new boolean[1];
int i;
i = c.add(f, "a");
- assure("1", i == Cache.NOT_CACHED && !f[0]);
+ assertTrue(i == Cache.NOT_CACHED && !f[0]);
i = c.add(f, "a");
- assure("2", i == Cache.NOT_CACHED && !f[0]);
+ assertTrue(i == Cache.NOT_CACHED && !f[0]);
i = c.add(f, "b");
- assure("3", i == Cache.NOT_CACHED && !f[0]);
+ assertTrue(i == Cache.NOT_CACHED && !f[0]);
i = c.add(f, "a");
- assure("4", i == Cache.NOT_CACHED && !f[0]);
+ assertTrue(i == Cache.NOT_CACHED && !f[0]);
}
- public void test1() {
+ @Test public void test1() {
Cache c = new Cache(1);
boolean[] f = new boolean[1];
int i;
i = c.add(f, "a");
- assure("1", i == 0 && !f[0]);
+ assertTrue(i == 0 && !f[0]);
i = c.add(f, "a");
- assure("2", i == 0 && f[0]);
+ assertTrue(i == 0 && f[0]);
i = c.add(f, "b");
- assure("3", i == 0 && !f[0]);
+ assertTrue(i == 0 && !f[0]);
i = c.add(f, "b");
- assure("4", i == 0 && f[0]);
+ assertTrue(i == 0 && f[0]);
i = c.add(f, "a");
- assure("5", i == 0 && !f[0]);
+ assertTrue(i == 0 && !f[0]);
}
- public void test2() {
+ @Test public void test2() {
Cache c = new Cache(2);
boolean[] f = new boolean[1];
int i;
i = c.add(f, "a");
- assure("1", i == 0 && !f[0]);
+ assertTrue(i == 0 && !f[0]);
i = c.add(f, "a");
- assure("2", i == 0 && f[0]);
+ assertTrue(i == 0 && f[0]);
i = c.add(f, "b");
- assure("3", i == 1 && !f[0]);
+ assertTrue(i == 1 && !f[0]);
i = c.add(f, "b");
- assure("4", i == 1 && f[0]);
+ assertTrue(i == 1 && f[0]);
i = c.add(f, "a");
- assure("5", i == 0 && f[0]);
+ assertTrue(i == 0 && f[0]);
i = c.add(f, "c");
- assure("6", i == 1 && !f[0]);
+ assertTrue(i == 1 && !f[0]);
i = c.add(f, "b");
- assure("7", i == 0 && !f[0]);
+ assertTrue(i == 0 && !f[0]);
}
- public void test3() {
+ @Test public void test3() {
Cache c = new Cache(3);
boolean[] f = new boolean[1];
int i;
i = c.add(f, "a");
- assure("1", i == 0 && !f[0]);
+ assertTrue(i == 0 && !f[0]);
i = c.add(f, "a");
- assure("3", i == 0 && f[0]);
+ assertTrue(i == 0 && f[0]);
i = c.add(f, "b");
- assure("5", i == 1 && !f[0]);
+ assertTrue(i == 1 && !f[0]);
i = c.add(f, "a");
- assure("3", i == 0 && f[0]);
+ assertTrue(i == 0 && f[0]);
i = c.add(f, "c");
- assure("7", i == 2 && !f[0]);
+ assertTrue(i == 2 && !f[0]);
i = c.add(f, "d");
- assure("9", i == 1 && !f[0]);
+ assertTrue(i == 1 && !f[0]);
i = c.add(f, "d");
- assure("11", i == 1 && f[0]);
+ assertTrue(i == 1 && f[0]);
+ }
+
+ @Test public void testNothingLostFromLruList() {
+ // Regardless in what order arbitrary values from 0, ..., 3 are inserted
+ // into a size-4 cache, afterwards adding -1, ..., -4 must return each
+ // possible index in the range from 0, ..., 3 exactly once (so their sum
+ // must be 6); this code systematically tests all such arbitrary ways up
+ // to length 8 (the code arguably violates recommendations for writing
+ // good tests, but actually helped track down an error in the Cache
+ // implementation):
+ int[] a = new int[8];
+ for (int i = 0; i < a.length; ++i) {
+ for (int j = 0; j < i; ++j) {
+ a[j] = 0;
+ }
+ for (;;) {
+ Cache c = new Cache(4);
+ for (int k = 0; k < i; ++k) {
+ c.add(new boolean[1], a[k]);
+ }
+ assertEquals(
+ 6,
+ (c.add(new boolean[1], -1) + c.add(new boolean[1], -2) +
+ c.add(new boolean[1], -3) + c.add(new boolean[1], -4)));
+ int j = i - 1;
+ while (j >= 0 && a[j] == 3) {
+ --j;
+ }
+ if (j < 0) {
+ break;
+ }
+ ++a[j];
+ for (int k = j + 1; k < i; ++k) {
+ a[k] = 0;
+ }
+ }
+ }
}
}
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java b/jurt/test/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java
index 4c01e9acc9c6..2621006faf95 100644
--- a/jurt/test/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java
+++ b/jurt/test/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java
@@ -32,21 +32,14 @@ import com.sun.star.uno.IBridge;
import com.sun.star.uno.Type;
import com.sun.star.uno.TypeClass;
import com.sun.star.uno.XInterface;
-import complexlib.ComplexTestCase;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
+import org.junit.Test;
+import static org.junit.Assert.*;
-public final class Marshaling_Test extends ComplexTestCase {
- public String getTestObjectName() {
- return getClass().getName();
- }
-
- public String[] getTestMethodNames() {
- return new String[] { "test" };
- }
-
- public void test() throws Exception {
+public final class Marshaling_Test {
+ @Test public void test() throws Exception {
short cacheSize = (short)256;
TestBridge testBridge = new TestBridge();
Marshal marshal = new Marshal(testBridge, cacheSize);
@@ -239,7 +232,7 @@ public final class Marshaling_Test extends ComplexTestCase {
if(op1 instanceof Any)
op1 = ((Any)op1).getObject();
- assure("", compareObjects(op1, op2));
+ assertTrue(compareObjects(op1, op2));
}
}
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java b/jurt/test/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java
index 393720c9756d..6a74710625e9 100644
--- a/jurt/test/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java
+++ b/jurt/test/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java
@@ -34,20 +34,17 @@ import com.sun.star.uno.Any;
import com.sun.star.uno.IBridge;
import com.sun.star.uno.Type;
import com.sun.star.uno.XInterface;
-import complexlib.ComplexTestCase;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
import java.util.LinkedList;
+import org.junit.Test;
+import static org.junit.Assert.*;
-public final class Protocol_Test extends ComplexTestCase {
- public String[] getTestMethodNames() {
- return new String[] { "test" };
- }
-
- public void test() throws Exception {
+public final class Protocol_Test {
+ @Test public void test() throws Exception {
IBridge iBridge = new TestBridge();
PipedInputStream inA = new PipedInputStream();
PipedOutputStream outA = new PipedOutputStream(inA);
@@ -93,7 +90,7 @@ public final class Protocol_Test extends ComplexTestCase {
new Object[] { "hallo" });
Message iMessage = iReceiver.readMessage();
Object[] t_params = iMessage.getArguments();
- assure("", "hallo".equals((String)t_params[0]));
+ assertEquals("hallo", (String)t_params[0]);
// send a reply
iReceiver.writeReply(false, new ThreadId(new byte[] { 0, 1 }), null);
@@ -118,7 +115,7 @@ public final class Protocol_Test extends ComplexTestCase {
iReceiver.writeReply(false, new ThreadId(new byte[] { 0, 1 }), null);
iSender.readMessage();
- assure("", "testString".equals(((String [])params[0])[0]));
+ assertEquals("testString", ((String [])params[0])[0]);
}
public void testCallWithInOutParameter(
@@ -133,7 +130,7 @@ public final class Protocol_Test extends ComplexTestCase {
Object[] t_params = iMessage.getArguments();
- assure("", "inString".equals(((String [])t_params[0])[0]));
+ assertEquals("inString", ((String [])t_params[0])[0]);
// provide reply
((String [])t_params[0])[0] = "outString";
@@ -142,7 +139,7 @@ public final class Protocol_Test extends ComplexTestCase {
iReceiver.writeReply(false, new ThreadId(new byte[] { 0, 1 }), null);
iSender.readMessage();
- assure("", "outString".equals(((String [])params[0])[0]));
+ assertEquals("outString", ((String [])params[0])[0]);
}
public void testCallWithResult(
@@ -161,7 +158,7 @@ public final class Protocol_Test extends ComplexTestCase {
Message iMessage = iSender.readMessage();
Object result = iMessage.getResult();
- assure("", "resultString".equals(result));
+ assertEquals("resultString", result);
}
public void testCallWhichRaisesException(
@@ -181,7 +178,7 @@ public final class Protocol_Test extends ComplexTestCase {
Object result = iMessage.getResult();
- assure("", result instanceof com.sun.star.uno.RuntimeException);
+ assertTrue(result instanceof com.sun.star.uno.RuntimeException);
}
public void testCallWithIn_Out_InOut_Paramters_and_result(
@@ -196,9 +193,9 @@ public final class Protocol_Test extends ComplexTestCase {
Object[] t_params = iMessage.getArguments();
- assure("", "hallo".equals((String)t_params[0]));
+ assertEquals("hallo", (String)t_params[0]);
- assure("", "inOutString".equals(((String [])t_params[2])[0]));
+ assertEquals("inOutString", ((String [])t_params[2])[0]);
((String [])t_params[1])[0] = "outString";
((String [])t_params[2])[0] = "inOutString_res";
@@ -209,11 +206,11 @@ public final class Protocol_Test extends ComplexTestCase {
iMessage = iSender.readMessage();
Object result = iMessage.getResult();
- assure("", "outString".equals(((String [])params[1])[0]));
+ assertEquals("outString", ((String [])params[1])[0]);
- assure("", "inOutString_res".equals(((String [])params[2])[0]));
+ assertEquals("inOutString_res", ((String [])params[2])[0]);
- assure("", "resultString".equals(result));
+ assertEquals("resultString", result);
}
public void testCallWhichReturnsAny(
@@ -229,9 +226,11 @@ public final class Protocol_Test extends ComplexTestCase {
false, new ThreadId(new byte[] { 0, 1 }), Any.VOID);
Message iMessage = iSender.readMessage();
Object result = iMessage.getResult();
- assure("", result instanceof Any
- && (TypeDescription.getTypeDescription(((Any) result).getType()).
- getZClass() == void.class));
+ assertTrue(
+ result instanceof Any &&
+ ((TypeDescription.getTypeDescription(((Any) result).getType()).
+ getZClass()) ==
+ void.class));
// send an ordinary request
iSender.writeRequest(
@@ -244,7 +243,7 @@ public final class Protocol_Test extends ComplexTestCase {
new Any(XInterface.class, null));
iMessage = iSender.readMessage();
result = iMessage.getResult();
- assure("", result == null);
+ assertNull(result);
// send an ordinary request
iSender.writeRequest(
@@ -256,7 +255,7 @@ public final class Protocol_Test extends ComplexTestCase {
false, new ThreadId(new byte[] { 0, 1 }), new Integer(501));
iMessage = iSender.readMessage();
result = iMessage.getResult();
- assure("", result.equals(new Integer(501)));
+ assertEquals(501, result);
}
private static final class Endpoint {
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/makefile.mk b/jurt/test/com/sun/star/lib/uno/protocols/urp/makefile.mk
index c6e66558b65d..8403b2bd71ed 100644
--- a/jurt/test/com/sun/star/lib/uno/protocols/urp/makefile.mk
+++ b/jurt/test/com/sun/star/lib/uno/protocols/urp/makefile.mk
@@ -24,10 +24,16 @@
# for a copy of the LGPLv3 License.
#
#*************************************************************************
+
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
PRJ := ..$/..$/..$/..$/..$/..$/..$/..
PRJNAME := jurt
TARGET := test_com_sun_star_lib_uno_protocols_urp
+.IF "$(OOO_JUNIT_JAR)" != ""
PACKAGE := com$/sun$/star$/lib$/uno$/protocols$/urp
JAVATESTFILES := \
Cache_Test.java \
@@ -38,5 +44,8 @@ JAVAFILES := \
TestObject.java
JARFILES := ridl.jar
IDLTESTFILES := interfaces.idl
+.END
.INCLUDE: javaunittest.mk
+
+.END
From 5a9b9d77de92117e13208d0c15bbfc120697e0b7 Mon Sep 17 00:00:00 2001
From: sb
Date: Tue, 14 Dec 2010 13:30:07 +0100
Subject: [PATCH 28/31] sb135: #i116050# make osl_trace output atomic
---
sal/osl/all/makefile.mk | 6 ++--
sal/osl/all/printtrace.cxx | 65 ++++++++++++++++++++++++++++++++++++++
sal/osl/inc/printtrace.h | 46 +++++++++++++++++++++++++++
sal/osl/os2/diagnose.c | 26 +++------------
sal/osl/unx/diagnose.c | 32 +++----------------
sal/osl/w32/diagnose.c | 37 ++++------------------
6 files changed, 132 insertions(+), 80 deletions(-)
create mode 100644 sal/osl/all/printtrace.cxx
create mode 100644 sal/osl/inc/printtrace.h
mode change 100644 => 100755 sal/osl/w32/diagnose.c
diff --git a/sal/osl/all/makefile.mk b/sal/osl/all/makefile.mk
index 0d105906effb..5da61e8b2ec3 100644
--- a/sal/osl/all/makefile.mk
+++ b/sal/osl/all/makefile.mk
@@ -55,7 +55,8 @@ SLOFILES= \
$(SLO)$/utility.obj\
$(SLO)$/filepath.obj\
$(SLO)$/debugbase.obj\
- $(SLO)$/loadmodulerelative.obj
+ $(SLO)$/loadmodulerelative.obj \
+ $(SLO)/printtrace.obj
# $(SLO)$/readline.obj\
@@ -64,7 +65,8 @@ OBJFILES= \
$(OBJ)$/utility.obj\
$(OBJ)$/filepath.obj\
$(OBJ)$/debugbase.obj\
- $(OBJ)$/loadmodulerelative.obj
+ $(OBJ)$/loadmodulerelative.obj \
+ $(OBJ)/printtrace.obj
# $(OBJ)$/readline.obj\
#.ENDIF
diff --git a/sal/osl/all/printtrace.cxx b/sal/osl/all/printtrace.cxx
new file mode 100644
index 000000000000..5d79d9b1de5a
--- /dev/null
+++ b/sal/osl/all/printtrace.cxx
@@ -0,0 +1,65 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+*
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+#include "precompiled_sal.hxx"
+
+#include "sal/config.h"
+
+#include
+#include
+#include
+
+#include // snprintf, vsnprintf
+
+#include "osl/diagnose.h"
+#include "osl/thread.hxx"
+#include "rtl/string.h"
+#include "sal/types.h"
+
+#include "printtrace.h"
+
+void printTrace(unsigned long pid, char const * format, std::va_list arguments)
+{
+ char buf[1024];
+ int n1 = snprintf(
+ buf, sizeof buf, "Trace %lu/%" SAL_PRIuUINT32 ": \"", pid,
+ osl::Thread::getCurrentIdentifier());
+ OSL_ASSERT(
+ n1 >= 0 &&
+ (static_cast< unsigned int >(n1) <
+ sizeof buf - RTL_CONSTASCII_LENGTH("\"...\n")));
+ int n2 = sizeof buf - n1 - RTL_CONSTASCII_LENGTH("\"...\n");
+ int n3 = vsnprintf(buf + n1, n2, format, arguments);
+ if (n3 < 0) {
+ std::strcpy(buf + n1, "\"???\n");
+ } else if (n3 < n2) {
+ std::strcpy(buf + n1 + n3, "\"\n");
+ } else {
+ std::strcpy(buf + n1 + n2 - 1, "\"...\n");
+ }
+ std::fputs(buf, stderr);
+}
diff --git a/sal/osl/inc/printtrace.h b/sal/osl/inc/printtrace.h
new file mode 100644
index 000000000000..9e1d514b0d08
--- /dev/null
+++ b/sal/osl/inc/printtrace.h
@@ -0,0 +1,46 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+*
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+#ifndef INCLUDED_SAL_OSL_INC_PRINTTRACE_H
+#define INCLUDED_SAL_OSL_INC_PRINTTRACE_H
+
+#include "sal/config.h"
+
+#include
+
+#if defined __cplusplus
+extern "C" {
+#endif
+
+/* called internally by osl_trace */
+void printTrace(unsigned long pid, char const * format, va_list arguments);
+
+#if defined __cplusplus
+}
+#endif
+
+#endif
diff --git a/sal/osl/os2/diagnose.c b/sal/osl/os2/diagnose.c
index 4921e20fd5af..b105e0b78c29 100644
--- a/sal/osl/os2/diagnose.c
+++ b/sal/osl/os2/diagnose.c
@@ -35,6 +35,8 @@
#include
#include
+#include "printtrace.h"
+
BYTE oslTraceEnv[] = "OSL_TRACE_TO_FILE";
typedef pfunc_osl_printDebugMessage oslDebugMessageFunc;
@@ -53,29 +55,11 @@ void SAL_CALL osl_breakDebug()
/************************************************************************/
/* osl_trace */
/************************************************************************/
-/* comment this define to stop output thread identifier*/
-#define OSL_TRACE_THREAD 1
-void SAL_CALL osl_trace (
- const sal_Char* lpszFormat, ...)
-{
+void osl_trace(char const * pszFormat, ...) {
va_list args;
-
-#if defined(OSL_PROFILING)
- fprintf(stderr, "Time: %06lu : ", osl_getGlobalTimer() );
-#else
-#if defined(OSL_TRACE_THREAD)
- fprintf(stderr,"Thread: %6d :",osl_getThreadIdentifier(NULL));
-#else
- fprintf(stderr, "Trace Message: ");
-#endif
-#endif
-
- va_start(args, lpszFormat);
- vfprintf(stderr, lpszFormat, args);
+ va_start(args, pszFormat);
+ printTrace(0, pszFormat, args); /* TODO: pid */
va_end(args);
-
- fprintf(stderr,"\n");
- fflush(stderr);
}
/*----------------------------------------------------------------------------*/
diff --git a/sal/osl/unx/diagnose.c b/sal/osl/unx/diagnose.c
index bb8cbca406bd..02967b3ad7f7 100644
--- a/sal/osl/unx/diagnose.c
+++ b/sal/osl/unx/diagnose.c
@@ -28,7 +28,6 @@
#include "osl/diagnose.h"
#include "system.h"
-
#ifndef HAVE_DLFCN_H
#if defined(LINUX) || defined(SOLARIS)
@@ -58,6 +57,8 @@
#define INCLUDED_STDDEF_H
#endif
+#include "printtrace.h"
+
/************************************************************************/
/* Internal data structures and functions */
/************************************************************************/
@@ -301,32 +302,9 @@ pfunc_osl_printDetailedDebugMessage SAL_CALL osl_setDetailedDebugMessageFunc (
/************************************************************************/
/* osl_trace */
/************************************************************************/
-/* comment this define to stop output thread identifier*/
-#define OSL_TRACE_THREAD 1
-void SAL_CALL osl_trace (
- const sal_Char* lpszFormat, ...)
-{
+void osl_trace(char const * pszFormat, ...) {
va_list args;
-
-#if defined(OSL_PROFILING)
- fprintf(stderr, "Time: %06lu : ", osl_getGlobalTimer() );
-#else
-#if defined(OSL_TRACE_THREAD)
- fprintf(
- stderr, "Thread: %6lu :",
- SAL_INT_CAST(unsigned long, osl_getThreadIdentifier(NULL)));
-#else
- fprintf(stderr, "Trace Message: ");
-#endif
-#endif
-
- va_start(args, lpszFormat);
- vfprintf(stderr, lpszFormat, args);
+ va_start(args, pszFormat);
+ printTrace((unsigned long) getpid(), pszFormat, args);
va_end(args);
-
- fprintf(stderr,"\n");
- fflush(stderr);
}
-
-/************************************************************************/
-
diff --git a/sal/osl/w32/diagnose.c b/sal/osl/w32/diagnose.c
old mode 100644
new mode 100755
index b46bff44b73c..9c75e4502743
--- a/sal/osl/w32/diagnose.c
+++ b/sal/osl/w32/diagnose.c
@@ -32,6 +32,8 @@
#include
#include
+#include "printtrace.h"
+
#define NO_DEBUG_CRT
static pfunc_osl_printDebugMessage _pPrintDebugMessage = NULL;
@@ -61,46 +63,21 @@ void SAL_CALL osl_breakDebug(void)
DebugBreak();
}
-
-
-/* Uncomment this define to get profiling time output */
-/* #define OSL_PROFILING */
-/* comment this define to stop output thread identifier*/
-#define OSL_TRACE_THREAD 1
-void SAL_CALL osl_trace(const sal_Char* lpszFormat, ...)
-{
+void osl_trace(char const * pszFormat, ...) {
va_list args;
- int written = 0;
-
- va_start(args, lpszFormat);
-
-#if defined(OSL_PROFILING)
- fprintf(stderr, "time : %06lu : ", osl_getGlobalTimer() );
-#else
-#if defined(OSL_TRACE_THREAD)
- fprintf(stderr,"Thread: %6d :",osl_getThreadIdentifier(NULL));
-#else
- fprintf(stderr,"Trace Message : ");
-#endif
-#endif
-
+ va_start(args, pszFormat);
if ( IsDebuggerPresent() )
{
sal_Char szMessage[512];
- written = _vsnprintf( szMessage, sizeof(szMessage) - 2, lpszFormat, args );
+ int written = _vsnprintf(
+ szMessage, sizeof(szMessage) - 2, pszFormat, args );
if ( written == -1 )
written = sizeof(szMessage) - 2;
szMessage[ written++ ] = '\n';
szMessage[ written ] = 0;
OutputDebugString( szMessage );
}
-
- vfprintf(stderr,lpszFormat, args);
-
- fprintf(stderr,"\n");
-
- fflush(stderr);
-
+ printTrace((unsigned long) _getpid(), pszFormat, args);
va_end(args);
}
From b4c4ba6a57ab808f90d8fcef23351ca78e2c46b4 Mon Sep 17 00:00:00 2001
From: tono
Date: Wed, 5 Jan 2011 22:59:59 +0900
Subject: [PATCH 29/31] mingwport33: i#113566: MinGW port fix: w32api-3.14
---
sal/systools/win32/uwinapi/ResolveUnicows.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sal/systools/win32/uwinapi/ResolveUnicows.cpp b/sal/systools/win32/uwinapi/ResolveUnicows.cpp
index cd5943004f17..d2864d3413cb 100644
--- a/sal/systools/win32/uwinapi/ResolveUnicows.cpp
+++ b/sal/systools/win32/uwinapi/ResolveUnicows.cpp
@@ -1,6 +1,7 @@
#ifdef __MINGW32__
#define _GDI32_
#include "macros.h"
+#include
#include
extern "C" {
extern HMODULE hModuleUnicowsDLL;
@@ -461,7 +462,11 @@ DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, UpdateResourceW, (HANDLE,LPCWSTR,L
DEFINE_UNICOWS_THUNK( version, DWORD, WINAPI, VerFindFileW, (DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT) )
DEFINE_UNICOWS_THUNK( version, DWORD, WINAPI, VerInstallFileW, (DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT) )
DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, VerLanguageNameW, (DWORD,LPWSTR,DWORD) )
+#if ( __W32API_MAJOR_VERSION > 3 ) || ( __W32API_MAJOR_VERSION == 3 && __W32API_MINOR_VERSION > 13 )
+DEFINE_UNICOWS_THUNK( version, BOOL, WINAPI, VerQueryValueW, (const LPVOID,LPCWSTR,LPVOID*,PUINT) )
+#else
DEFINE_UNICOWS_THUNK( version, BOOL, WINAPI, VerQueryValueW, (const LPVOID,LPWSTR,LPVOID*,PUINT) )
+#endif
DEFINE_UNICOWS_THUNK( user32, SHORT, WINAPI, VkKeyScanExW, (WCHAR,HKL) )
DEFINE_UNICOWS_THUNK( user32, SHORT, WINAPI, VkKeyScanW, (WCHAR) )
DEFINE_UNICOWS_THUNK( user32, DWORD, WINAPI, SetupDecompressOrCopyFileW, (PCWSTR,PCWSTR,PUINT) )
From ae26c3df379267dbd5c6af5cc21e466bfe4f1128 Mon Sep 17 00:00:00 2001
From: tono
Date: Sat, 8 Jan 2011 13:14:44 +0900
Subject: [PATCH 30/31] mingwport33: i#116357: sal: stop exporting exception
class on MinGW
---
sal/inc/sal/types.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sal/inc/sal/types.h b/sal/inc/sal/types.h
index 14c24480d98b..2db057b2fa12 100644
--- a/sal/inc/sal/types.h
+++ b/sal/inc/sal/types.h
@@ -291,7 +291,7 @@ typedef void * sal_Handle;
These macros are used for inline declarations of exception classes, as in
rtl/malformeduriexception.hxx.
*/
-#if defined __GNUC__
+#if defined(__GNUC__) && ! defined(__MINGW32__)
#define SAL_EXCEPTION_DLLPUBLIC_EXPORT SAL_DLLPUBLIC_EXPORT
#define SAL_EXCEPTION_DLLPRIVATE SAL_DLLPRIVATE
#else
From 143f3034d17306416ac8ceade8437ef56059e239 Mon Sep 17 00:00:00 2001
From: Vladimir Glazunov
Date: Sat, 8 Jan 2011 11:30:31 +0100
Subject: [PATCH 31/31] #100000# Remove obsolete file
---
udkapi/prj/makefile.mk | 61 ------------------------------------------
1 file changed, 61 deletions(-)
delete mode 100644 udkapi/prj/makefile.mk
diff --git a/udkapi/prj/makefile.mk b/udkapi/prj/makefile.mk
deleted file mode 100644
index 0b1e9335ed44..000000000000
--- a/udkapi/prj/makefile.mk
+++ /dev/null
@@ -1,61 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-#
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=.
-PRJNAME:=udkapi
-
-# --- Settings -----------------------------------------------------
-
-OUT!:=$(PRJ)$/out
-
-# ------------------------------------------------------------------
-
-INCLUDES= \
- com$/sun$/star$/container$/makefile.mk \
- com$/sun$/star$/io$/makefile.mk \
- com$/sun$/star$/reflection$/makefile.mk \
- com$/sun$/star$/beans$/makefile.mk \
- com$/sun$/star$/lang$/makefile.mk \
- com$/sun$/star$/uno$/makefile.mk \
- com$/sun$/star$/uno$/util$/logging$/makefile.mk \
- com$/sun$/star$/corba$/makefile.mk \
- com$/sun$/star$/corba$/iop$/makefile.mk \
- com$/sun$/star$/corba$/giop$/makefile.mk \
- com$/sun$/star$/corba$/iiop$/makefile.mk \
- com$/sun$/star$/script$/makefile.mk \
- com$/sun$/star$/test$/makefile.mk \
- com$/sun$/star$/registry$/makefile.mk \
- com$/sun$/star$/loader$/makefile.mk \
- com$/sun$/star$/bridge$/makefile.mk
-
-.INCLUDE: $(INCLUDES)
-
-out$/$(PRJNAME).rdb:: $(ALLIDLFILES)
- unoidl @$(mktmp -I$(PRJ) -Burd -OHout $(ALLIDLFILES:+"\n"))
- regmerge @$(mktmp $@ /UCR out$/{$(?:f:s/.idl/.urd/:+"\n")} )
- touch $@
-