summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@oracle.com>2010-12-23 10:01:58 +0100
committerFrank Schoenheit [fs] <frank.schoenheit@oracle.com>2010-12-23 10:01:58 +0100
commitcc8d3de7d22e8f27db46d074e9b310e22f169a34 (patch)
tree8a123fb2997c63a7600e2dbe33de63064ca017c4
parent37d1299dcb5dbd2c9ca417305b30e307b5270861 (diff)
parentfcb659ae5ba83fe354842cf7bdefbdfb95894872 (diff)
undoapi: merged after pulling DEV300_m96. Most probably still not buildable:A number of changes which happened in the CWS need to be redone due to the new build system
-rw-r--r--UnoControls/prj/build.lst2
-rwxr-xr-xaccessibility/prj/build.lst2
-rw-r--r--basctl/prj/build.lst2
-rw-r--r--basctl/source/basicide/baside2b.cxx5
-rw-r--r--basctl/source/basicide/basidesh.cxx2
-rw-r--r--basctl/util/makefile.mk2
-rw-r--r--cui/inc/pch/precompiled_cui.hxx2
-rw-r--r--cui/source/customize/acccfg.cxx4
-rw-r--r--cui/source/customize/acccfg.src4
-rw-r--r--cui/source/inc/align.hxx2
-rw-r--r--cui/source/inc/cuigaldlg.hxx3
-rw-r--r--cui/source/inc/postdlg.hxx2
-rw-r--r--cui/source/inc/splitcelldlg.hxx2
-rwxr-xr-xembedserv/prj/build.lst2
-rw-r--r--extensions/prj/build.lst2
-rw-r--r--extensions/source/bibliography/makefile.mk1
-rw-r--r--extensions/source/bibliography/menu.src6
-rw-r--r--extensions/source/macosx/spotlight/makefile.mk3
-rw-r--r--extensions/source/nsplugin/source/makefile.mk2
-rwxr-xr-xextensions/source/ole/oleobjw.cxx299
-rw-r--r--extensions/source/ole/oleobjw.hxx15
-rw-r--r--extensions/source/propctrlr/standardcontrol.cxx2
-rwxr-xr-x[-rw-r--r--]extensions/source/update/check/updatecheckconfig.cxx101
-rwxr-xr-x[-rw-r--r--]extensions/source/update/check/updatecheckconfig.hxx10
-rwxr-xr-x[-rw-r--r--]extensions/source/update/check/updateprotocol.cxx10
-rw-r--r--extensions/source/update/ui/updatecheckui.cxx2
-rw-r--r--forms/prj/build.lst2
-rwxr-xr-xjavainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java5
-rw-r--r--lingucomponent/prj/build.lst2
-rw-r--r--package/prj/build.lst2
-rw-r--r--setup_native/scripts/osx_install_languagepack.applescript38
-rw-r--r--setup_native/scripts/osx_install_patch.applescript38
-rw-r--r--wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.java2
-rw-r--r--wizards/com/sun/star/wizards/common/Configuration.java2
-rw-r--r--wizards/com/sun/star/wizards/common/NumberFormatter.java2
-rw-r--r--wizards/com/sun/star/wizards/document/OfficeDocument.java10
-rw-r--r--wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.java2
-rw-r--r--wizards/com/sun/star/wizards/form/FormDocument.java4
-rw-r--r--wizards/com/sun/star/wizards/form/StyleApplier.java2
-rw-r--r--wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.java2
-rw-r--r--wizards/com/sun/star/wizards/web/WWD_Events.java2
-rw-r--r--wizards/prj/build.lst2
-rw-r--r--xmlsecurity/prj/build.lst2
43 files changed, 488 insertions, 120 deletions
diff --git a/UnoControls/prj/build.lst b/UnoControls/prj/build.lst
index de5d7fd81d33..775cb902f5ca 100644
--- a/UnoControls/prj/build.lst
+++ b/UnoControls/prj/build.lst
@@ -1,4 +1,4 @@
-us UnoControls : cppuhelper offuh tools NULL
+us UnoControls : LIBXSLT:libxslt cppuhelper offuh tools NULL
us UnoControls usr1 - all us_mkout NULL
us UnoControls\source\base nmake - all us_base NULL
us UnoControls\source\controls nmake - all us_ctrls NULL
diff --git a/accessibility/prj/build.lst b/accessibility/prj/build.lst
index f410ece56d9b..4fbfe135137f 100755
--- a/accessibility/prj/build.lst
+++ b/accessibility/prj/build.lst
@@ -1,4 +1,4 @@
-ac accessibility : l10n tools jurt offuh unoil vcl javaunohelper jvmaccess cppu sal toolkit svtools NULL
+ac accessibility : l10n tools jurt offuh unoil vcl javaunohelper jvmaccess cppu sal toolkit svtools LIBXSLT:libxslt NULL
ac accessibility usr1 - all ac_mkout NULL
ac accessibility\inc nmake - all ac_inc NULL
ac accessibility\bridge\org\openoffice\java\accessibility nmake - w ac_ooja ac_inc NULL
diff --git a/basctl/prj/build.lst b/basctl/prj/build.lst
index a48a698a99a7..0c5283ff0aec 100644
--- a/basctl/prj/build.lst
+++ b/basctl/prj/build.lst
@@ -1,4 +1,4 @@
-bc basctl : l10n svx NULL
+bc basctl : LIBXSLT:libxslt l10n svx NULL
bc basctl usr1 - all bc_mkout NULL
bc basctl\inc nmake - all bc_inc NULL
bc basctl\source\inc get - all bc_sinc NULL
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index 782485b535a2..68cdbe9ad9ed 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -1635,9 +1635,10 @@ void __EXPORT StackWindow::UpdateCalls()
aEntry += pParam->aName;
}
aEntry += '=';
- if( pVar->GetType() & SbxARRAY )
+ SbxDataType eType = pVar->GetType();
+ if( eType & SbxARRAY )
aEntry += String( RTL_CONSTASCII_USTRINGPARAM( "..." ) );
- else
+ else if( eType != SbxOBJECT )
aEntry += pVar->GetString();
if ( nParam < ( pParams->Count() - 1 ) )
aEntry += String( RTL_CONSTASCII_USTRINGPARAM( ", " ) );
diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx
index cffe1748846d..02dbb525b972 100644
--- a/basctl/source/basicide/basidesh.cxx
+++ b/basctl/source/basicide/basidesh.cxx
@@ -161,8 +161,6 @@ SFX_IMPL_NAMED_VIEWFACTORY( BasicIDEShell, "Default" )
}
-// MI: Prinzipiel IDL, aber ich lieber doch nicht?
-// SFX_IMPL_ /*IDL_*/ INTERFACE( BasicIDEShell, SfxViewShell, IDEResId( RID_STR_IDENAME ) )
SFX_IMPL_INTERFACE( BasicIDEShell, SfxViewShell, IDEResId( RID_STR_IDENAME ) )
{
SFX_CHILDWINDOW_REGISTRATION( SID_SEARCH_DLG );
diff --git a/basctl/util/makefile.mk b/basctl/util/makefile.mk
index 9401bbfb8d4d..1719a7c9c078 100644
--- a/basctl/util/makefile.mk
+++ b/basctl/util/makefile.mk
@@ -92,8 +92,6 @@ SRSFILELIST=\
$(SRS)$/basicide.srs \
$(SRS)$/dlged.srs
-SRSFILELIST+= $(SOLARCOMMONRESDIR)$/sfx.srs
-
RESLIB1NAME=basctl
RESLIB1IMAGES =$(PRJ)$/res
RESLIB1SRSFILES= $(SRSFILELIST)
diff --git a/cui/inc/pch/precompiled_cui.hxx b/cui/inc/pch/precompiled_cui.hxx
index de24ee12e98a..d1e46125d965 100644
--- a/cui/inc/pch/precompiled_cui.hxx
+++ b/cui/inc/pch/precompiled_cui.hxx
@@ -55,7 +55,6 @@
#include "boost/scoped_ptr.hpp"
#include "boost/shared_ptr.hpp"
#include "boost/spirit/core.hpp"
-#include "bootstrp/sstring.hxx"
#include "com/sun/star/accessibility/AccessibleEventId.hpp"
#include "com/sun/star/accessibility/AccessibleEventObject.hpp"
#include "com/sun/star/accessibility/AccessibleRelationType.hpp"
@@ -754,7 +753,6 @@
#include "svtools/apearcfg.hxx"
#include "svl/brdcst.hxx"
#include "unotools/cacheoptions.hxx"
-#include "svl/cancel.hxx"
#include "svl/cjkoptions.hxx"
#include "unotools/cmdoptions.hxx"
#include "svl/cntwall.hxx"
diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx
index a4dbef6261cd..6fc47499b003 100644
--- a/cui/source/customize/acccfg.cxx
+++ b/cui/source/customize/acccfg.cxx
@@ -39,6 +39,7 @@
#include <sfx2/app.hxx>
#include <sfx2/filedlghelper.hxx>
#include <sfx2/minfitem.hxx>
+#include <sfx2/sfxresid.hxx>
#include <svl/stritem.hxx>
#include "cuires.hrc"
@@ -720,7 +721,6 @@ SfxAcceleratorConfigPage::SfxAcceleratorConfigPage( Window* pParent, const SfxIt
, aResetButton (this , CUI_RES(BTN_RESET ))
, aLoadAccelConfigStr ( CUI_RES( STR_LOADACCELCONFIG ) )
, aSaveAccelConfigStr ( CUI_RES( STR_SAVEACCELCONFIG ) )
- , aFilterAllStr ( CUI_RES( STR_SFX_FILTERNAME_ALL ) )
, aFilterCfgStr ( CUI_RES( STR_FILTERNAME_CFG ) )
, m_bStylesInfoInitialized(sal_False)
, m_xGlobal ()
@@ -729,6 +729,8 @@ SfxAcceleratorConfigPage::SfxAcceleratorConfigPage( Window* pParent, const SfxIt
{
FreeResource();
+ aFilterAllStr = String( SfxResId( STR_SFX_FILTERNAME_ALL ) );
+
// install handler functions
aChangeButton.SetClickHdl( LINK( this, SfxAcceleratorConfigPage, ChangeHdl ));
aRemoveButton.SetClickHdl( LINK( this, SfxAcceleratorConfigPage, RemoveHdl ));
diff --git a/cui/source/customize/acccfg.src b/cui/source/customize/acccfg.src
index f6bf8df00991..a03fa9c3eb00 100644
--- a/cui/source/customize/acccfg.src
+++ b/cui/source/customize/acccfg.src
@@ -199,10 +199,6 @@ TabPage RID_SVXPAGE_KEYBOARD
{
Text [ en-US ] = "Save Keyboard Configuration" ;
};
- String STR_SFX_FILTERNAME_ALL
- {
- Text [ en-US ] = "All files (*.*)" ;
- };
String STR_FILTERNAME_CFG
{
Text [ en-US ] = "Configuration" ;
diff --git a/cui/source/inc/align.hxx b/cui/source/inc/align.hxx
index 9766a1b5130f..aea3e5a16ffb 100644
--- a/cui/source/inc/align.hxx
+++ b/cui/source/inc/align.hxx
@@ -31,7 +31,7 @@
#include <svx/orienthelper.hxx>
#include <vcl/field.hxx>
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#include <vcl/fixed.hxx>
#include <vcl/lstbox.hxx>
#include <sfx2/tabdlg.hxx>
diff --git a/cui/source/inc/cuigaldlg.hxx b/cui/source/inc/cuigaldlg.hxx
index 56aedff40de1..954866383c4b 100644
--- a/cui/source/inc/cuigaldlg.hxx
+++ b/cui/source/inc/cuigaldlg.hxx
@@ -46,7 +46,8 @@
#include <com/sun/star/media/XPlayer.hpp>
#include <com/sun/star/ui/dialogs/XFolderPicker.hpp>
#include <svtools/dialogclosedlistener.hxx>
-#include <bootstrp/sstring.hxx>
+
+DECLARE_LIST( StringList, String* )
// ------------
// - Forwards -
diff --git a/cui/source/inc/postdlg.hxx b/cui/source/inc/postdlg.hxx
index 0a7b92438db4..701546225bf4 100644
--- a/cui/source/inc/postdlg.hxx
+++ b/cui/source/inc/postdlg.hxx
@@ -33,7 +33,7 @@
#include <vcl/group.hxx>
#endif
#ifndef _IMAGEBTN_HXX //autogen
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#endif
#ifndef _EDIT_HXX //autogen
#include <vcl/edit.hxx>
diff --git a/cui/source/inc/splitcelldlg.hxx b/cui/source/inc/splitcelldlg.hxx
index fc1640fd1dea..4e08cebf2866 100644
--- a/cui/source/inc/splitcelldlg.hxx
+++ b/cui/source/inc/splitcelldlg.hxx
@@ -29,7 +29,7 @@
#include <vcl/fixed.hxx>
#include <vcl/field.hxx>
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#include <vcl/button.hxx>
#include <svx/stddlg.hxx>
diff --git a/embedserv/prj/build.lst b/embedserv/prj/build.lst
index 73e2b81de182..189479e4bca3 100755
--- a/embedserv/prj/build.lst
+++ b/embedserv/prj/build.lst
@@ -1,4 +1,4 @@
-es embedserv : offuh sal cppu cppuhelper comphelper NULL
+es embedserv : offuh sal cppu cppuhelper comphelper LIBXSLT:libxslt NULL
es embedserv usr1 - w es_mkout NULL
es embedserv\source\embed nmake - w es_embed NULL
es embedserv\source\inprocserv nmake - w es_inproc NULL
diff --git a/extensions/prj/build.lst b/extensions/prj/build.lst
index c6f83f789b92..f283da39a4af 100644
--- a/extensions/prj/build.lst
+++ b/extensions/prj/build.lst
@@ -1,4 +1,4 @@
-ex extensions : officecfg l10n rdbmaker svx SANE:sane TWAIN:twain np_sdk offuh stoc ZLIB:zlib CURL:curl NULL
+ex extensions : officecfg l10n rdbmaker svx SANE:sane TWAIN:twain np_sdk offuh stoc ZLIB:zlib CURL:curl LIBXSLT:libxslt NULL
ex extensions usr1 - all ex_mkout NULL
ex extensions\inc nmake - all ex_inc NULL
diff --git a/extensions/source/bibliography/makefile.mk b/extensions/source/bibliography/makefile.mk
index e24c32237533..b681c6c90b19 100644
--- a/extensions/source/bibliography/makefile.mk
+++ b/extensions/source/bibliography/makefile.mk
@@ -54,7 +54,6 @@ SRS1NAME=$(TARGET)
SRC1FILES= bib.src \
datman.src \
sections.src \
- menu.src \
toolbar.src
RESLIB1NAME=bib
diff --git a/extensions/source/bibliography/menu.src b/extensions/source/bibliography/menu.src
index 0ccc8a1c7f41..a2a41ed06def 100644
--- a/extensions/source/bibliography/menu.src
+++ b/extensions/source/bibliography/menu.src
@@ -27,14 +27,8 @@
#include <svl/solar.hrc>
#include <svx/svxids.hrc>
-#ifndef _GLOBLMN_HRC
#include <svx/globlmn.hrc>
-#endif
-#ifndef _GLOBALACC_SRC
-#include <svx/globlac.hrc>
-#endif
#include "bibliography.hrc"
-
#include "bib.hrc"
/*
diff --git a/extensions/source/macosx/spotlight/makefile.mk b/extensions/source/macosx/spotlight/makefile.mk
index 3d1cb12d1dab..e7b15150bd03 100644
--- a/extensions/source/macosx/spotlight/makefile.mk
+++ b/extensions/source/macosx/spotlight/makefile.mk
@@ -74,8 +74,11 @@ ZIP1LIST = *
.INCLUDE : target.mk
+.IF "$(ZIP1TARGETN)"!=""
$(ZIP1TARGETN) : $(plistfiles) $(binaries) $(resources)
+.ENDIF # "$(ZIP1TARGETN)"!=""
+
# Info.plist is just versioned and copied into the bundle
$(CONTENTS)$/%.plist : mdimporter/%.plist
$(MKDIRHIER) $(@:d)
diff --git a/extensions/source/nsplugin/source/makefile.mk b/extensions/source/nsplugin/source/makefile.mk
index 4f9be74348ab..5a0870b47194 100644
--- a/extensions/source/nsplugin/source/makefile.mk
+++ b/extensions/source/nsplugin/source/makefile.mk
@@ -77,7 +77,7 @@ SHL1STDLIBS+=$(SOLARLIBDIR)$/npunix.o
#.ENDIF #FREEBSD
.ENDIF #UNX
.IF "$(GUI)"=="WNT"
-SHL1OBJS+=$(SOLARLIBDIR)$/pathutils-slo.obj
+SHL1OBJS+=$(SOLARLIBDIR)$/pathutils-obj.obj
STDLIBS+=$(SOLARLIBDIR)$/npwin.obj
SHL1STDLIBS+= $(SHELL32LIB) $(SOLARLIBDIR)$/npwin.obj
diff --git a/extensions/source/ole/oleobjw.cxx b/extensions/source/ole/oleobjw.cxx
index 89cb5625bca3..949fb6c7c9b2 100755
--- a/extensions/source/ole/oleobjw.cxx
+++ b/extensions/source/ole/oleobjw.cxx
@@ -74,6 +74,7 @@ using namespace com::sun::star::lang;
using namespace com::sun::star::bridge;
using namespace com::sun::star::bridge::oleautomation;
using namespace com::sun::star::bridge::ModelDependent;
+using namespace ::com::sun::star;
#define JSCRIPT_ID_PROPERTY L"_environment"
#define JSCRIPT_ID L"jscript"
@@ -155,8 +156,8 @@ Any IUnknownWrapper_Impl::queryInterface(const Type& t)
if (t == getCppuType(static_cast<Reference<XInvocation>*>( 0)) && !m_spDispatch)
return Any();
- return WeakImplHelper6<XInvocation, XBridgeSupplier2,
- XInitialization, XAutomationObject, XDefaultProperty, XDefaultMethod>::queryInterface(t);
+ return WeakImplHelper7<XInvocation, XBridgeSupplier2,
+ XInitialization, XAutomationObject, XDefaultProperty, XDefaultMethod, XDirectInvocation>::queryInterface(t);
}
Reference<XIntrospectionAccess> SAL_CALL IUnknownWrapper_Impl::getIntrospection(void)
@@ -1174,7 +1175,7 @@ Any IUnknownWrapper_Impl::invokeWithDispIdUnoTlb(const OUString& sFunctionName,
- // --------------------------
+// --------------------------
// XInitialization
void SAL_CALL IUnknownWrapper_Impl::initialize( const Sequence< Any >& aArguments ) throw(Exception, RuntimeException)
{
@@ -1257,6 +1258,274 @@ void SAL_CALL IUnknownWrapper_Impl::initialize( const Sequence< Any >& aArgument
}
}
+// --------------------------
+// XDirectInvocation
+uno::Any SAL_CALL IUnknownWrapper_Impl::directInvoke( const ::rtl::OUString& aName, const uno::Sequence< uno::Any >& aParams )
+ throw (lang::IllegalArgumentException, script::CannotConvertException, reflection::InvocationTargetException, uno::RuntimeException)
+{
+ Any aResult;
+
+ if ( !m_spDispatch )
+ {
+ throw RuntimeException(
+ OUSTR("[automation bridge] The object does not have an IDispatch interface"),
+ Reference<XInterface>());
+ }
+
+ o2u_attachCurrentThread();
+ DISPID dispid;
+ if ( !getDispid( aName, &dispid ) )
+ throw IllegalArgumentException(
+ OUSTR( "[automation bridge] The object does not have a function or property " )
+ + aName, Reference<XInterface>(), 0);
+
+ CComVariant varResult;
+ ExcepInfo excepinfo;
+ unsigned int uArgErr = 0;
+ INVOKEKIND pInvkinds[2];
+ pInvkinds[0] = INVOKE_FUNC;
+ pInvkinds[1] = aParams.getLength() ? INVOKE_PROPERTYPUT : INVOKE_PROPERTYGET;
+ HRESULT hInvRes = E_FAIL;
+
+ // try Invoke first, if it does not work, try put/get property
+ for ( sal_Int32 nStep = 0; FAILED( hInvRes ) && nStep < 2; nStep++ )
+ {
+ DISPPARAMS dispparams = {NULL, NULL, 0, 0};
+
+ DISPID idPropertyPut = DISPID_PROPERTYPUT;
+ scoped_array<DISPID> arDispidNamedArgs;
+ scoped_array<CComVariant> ptrArgs;
+ scoped_array<CComVariant> ptrRefArgs; // referenced arguments
+ CComVariant * arArgs = NULL;
+ CComVariant * arRefArgs = NULL;
+ bool bVarargParam = false;
+
+ dispparams.cArgs = aParams.getLength();
+
+ // Determine the number of named arguments
+ for ( sal_Int32 nInd = 0; nInd < aParams.getLength(); nInd++ )
+ if ( aParams[nInd].getValueType() == getCppuType((NamedArgument*) 0) )
+ dispparams.cNamedArgs ++;
+
+ // fill the named arguments
+ if ( dispparams.cNamedArgs > 0
+ && !( dispparams.cNamedArgs == 1 && pInvkinds[nStep] == INVOKE_PROPERTYPUT ) )
+ {
+ int nSizeAr = dispparams.cNamedArgs + 1;
+ if ( pInvkinds[nStep] == INVOKE_PROPERTYPUT )
+ nSizeAr = dispparams.cNamedArgs;
+
+ scoped_array<OLECHAR*> saNames(new OLECHAR*[nSizeAr]);
+ OLECHAR ** pNames = saNames.get();
+ pNames[0] = const_cast<OLECHAR*>(reinterpret_cast<LPCOLESTR>(aName.getStr()));
+
+ int cNamedArg = 0;
+ for ( size_t nInd = 0; nInd < dispparams.cArgs; nInd++ )
+ {
+ if ( aParams[nInd].getValueType() == getCppuType((NamedArgument*) 0))
+ {
+ const NamedArgument& arg = *(NamedArgument const*)aParams[nInd].getValue();
+
+ //We put the parameter names in reverse order into the array,
+ //so we can use the DISPID array for DISPPARAMS::rgdispidNamedArgs
+ //The first name in the array is the method name
+ pNames[nSizeAr - 1 - cNamedArg++] = const_cast<OLECHAR*>(reinterpret_cast<LPCOLESTR>(arg.Name.getStr()));
+ }
+ }
+
+ arDispidNamedArgs.reset( new DISPID[nSizeAr] );
+ HRESULT hr = getTypeInfo()->GetIDsOfNames( pNames, nSizeAr, arDispidNamedArgs.get() );
+ if ( hr == E_NOTIMPL )
+ hr = m_spDispatch->GetIDsOfNames(IID_NULL, pNames, nSizeAr, LOCALE_USER_DEFAULT, arDispidNamedArgs.get() );
+
+ if ( SUCCEEDED( hr ) )
+ {
+ if ( pInvkinds[nStep] == DISPATCH_PROPERTYPUT )
+ {
+ DISPID* arIDs = arDispidNamedArgs.get();
+ arIDs[0] = DISPID_PROPERTYPUT;
+ dispparams.rgdispidNamedArgs = arIDs;
+ }
+ else
+ {
+ DISPID* arIDs = arDispidNamedArgs.get();
+ dispparams.rgdispidNamedArgs = & arIDs[1];
+ }
+ }
+ else if (hr == DISP_E_UNKNOWNNAME)
+ {
+ throw IllegalArgumentException(
+ OUSTR("[automation bridge]One of the named arguments is wrong!"),
+ Reference<XInterface>(), 0);
+ }
+ else
+ {
+ throw InvocationTargetException(
+ OUSTR("[automation bridge] ITypeInfo::GetIDsOfNames returned error ")
+ + OUString::valueOf((sal_Int32) hr, 16), Reference<XInterface>(), Any());
+ }
+ }
+
+ //Convert arguments
+ ptrArgs.reset(new CComVariant[dispparams.cArgs]);
+ ptrRefArgs.reset(new CComVariant[dispparams.cArgs]);
+ arArgs = ptrArgs.get();
+ arRefArgs = ptrRefArgs.get();
+
+ sal_Int32 nInd = 0;
+ try
+ {
+ sal_Int32 revIndex = 0;
+ for ( nInd = 0; nInd < sal_Int32(dispparams.cArgs); nInd++)
+ {
+ revIndex = dispparams.cArgs - nInd - 1;
+ arRefArgs[revIndex].byref = 0;
+ Any anyArg;
+ if ( nInd < aParams.getLength() )
+ anyArg = aParams.getConstArray()[nInd];
+
+ // Property Put arguments
+ if ( anyArg.getValueType() == getCppuType((PropertyPutArgument*)0) )
+ {
+ PropertyPutArgument arg;
+ anyArg >>= arg;
+ anyArg <<= arg.Value;
+ }
+ // named argument
+ if (anyArg.getValueType() == getCppuType((NamedArgument*) 0))
+ {
+ NamedArgument aNamedArgument;
+ anyArg >>= aNamedArgument;
+ anyArg <<= aNamedArgument.Value;
+ }
+
+ if ( nInd < aParams.getLength() && anyArg.getValueTypeClass() != TypeClass_VOID )
+ {
+ anyToVariant( &arArgs[revIndex], anyArg, VT_VARIANT );
+ }
+ else
+ {
+ arArgs[revIndex].vt = VT_ERROR;
+ arArgs[revIndex].scode = DISP_E_PARAMNOTFOUND;
+ }
+ }
+ }
+ catch (IllegalArgumentException & e)
+ {
+ e.ArgumentPosition = ::sal::static_int_cast< sal_Int16, sal_Int32 >( nInd );
+ throw;
+ }
+ catch (CannotConvertException & e)
+ {
+ e.ArgumentIndex = nInd;
+ throw;
+ }
+
+ dispparams.rgvarg = arArgs;
+ // invoking OLE method
+ DWORD localeId = LOCALE_USER_DEFAULT;
+ hInvRes = m_spDispatch->Invoke( dispid,
+ IID_NULL,
+ localeId,
+ ::sal::static_int_cast< WORD, INVOKEKIND >( pInvkinds[nStep] ),
+ &dispparams,
+ &varResult,
+ &excepinfo,
+ &uArgErr);
+ }
+
+ // converting return value and out parameter back to UNO
+ if ( SUCCEEDED( hInvRes ) )
+ variantToAny( &varResult, aResult, sal_False );
+ else
+ {
+ // map error codes to exceptions
+ OUString message;
+ switch ( hInvRes )
+ {
+ case S_OK:
+ break;
+ case DISP_E_BADPARAMCOUNT:
+ throw IllegalArgumentException(OUSTR("[automation bridge] Wrong "
+ "number of arguments. Object returned DISP_E_BADPARAMCOUNT."),
+ 0, 0);
+ break;
+ case DISP_E_BADVARTYPE:
+ throw RuntimeException(OUSTR("[automation bridge] One or more "
+ "arguments have the wrong type. Object returned "
+ "DISP_E_BADVARTYPE."), 0);
+ break;
+ case DISP_E_EXCEPTION:
+ message = OUSTR("[automation bridge]: ");
+ message += OUString(reinterpret_cast<const sal_Unicode*>(excepinfo.bstrDescription),
+ ::SysStringLen(excepinfo.bstrDescription));
+ throw InvocationTargetException(message, Reference<XInterface>(), Any());
+ break;
+ case DISP_E_MEMBERNOTFOUND:
+ message = OUSTR("[automation bridge]: A function with the name \"")
+ + aName + OUSTR("\" is not supported. Object returned "
+ "DISP_E_MEMBERNOTFOUND.");
+ throw IllegalArgumentException(message, 0, 0);
+ break;
+ case DISP_E_NONAMEDARGS:
+ throw IllegalArgumentException(OUSTR("[automation bridge] Object "
+ "returned DISP_E_NONAMEDARGS"),0, ::sal::static_int_cast< sal_Int16, unsigned int >( uArgErr ));
+ break;
+ case DISP_E_OVERFLOW:
+ throw CannotConvertException(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("[automation bridge] Call failed.")),
+ static_cast<XInterface*>(
+ static_cast<XWeak*>(this)), TypeClass_UNKNOWN, FailReason::OUT_OF_RANGE, uArgErr);
+ break;
+ case DISP_E_PARAMNOTFOUND:
+ throw IllegalArgumentException(OUSTR("[automation bridge]Call failed."
+ "Object returned DISP_E_PARAMNOTFOUND."),
+ 0, ::sal::static_int_cast< sal_Int16, unsigned int >( uArgErr ));
+ break;
+ case DISP_E_TYPEMISMATCH:
+ throw CannotConvertException(OUSTR("[automation bridge] Call failed. "
+ "Object returned DISP_E_TYPEMISMATCH"),
+ static_cast<XInterface*>(
+ static_cast<XWeak*>(this)) , TypeClass_UNKNOWN, FailReason::UNKNOWN, uArgErr);
+ break;
+ case DISP_E_UNKNOWNINTERFACE:
+ throw RuntimeException(OUSTR("[automation bridge] Call failed. "
+ "Object returned DISP_E_UNKNOWNINTERFACE."),0);
+ break;
+ case DISP_E_UNKNOWNLCID:
+ throw RuntimeException(OUSTR("[automation bridge] Call failed. "
+ "Object returned DISP_E_UNKNOWNLCID."),0);
+ break;
+ case DISP_E_PARAMNOTOPTIONAL:
+ throw CannotConvertException(OUSTR("[automation bridge] Call failed."
+ "Object returned DISP_E_PARAMNOTOPTIONAL"),
+ static_cast<XInterface*>(static_cast<XWeak*>(this)),
+ TypeClass_UNKNOWN, FailReason::NO_DEFAULT_AVAILABLE, uArgErr);
+ break;
+ default:
+ throw RuntimeException();
+ break;
+ }
+ }
+
+ return aResult;
+}
+
+::sal_Bool SAL_CALL IUnknownWrapper_Impl::hasMember( const ::rtl::OUString& aName )
+ throw (uno::RuntimeException)
+{
+ if ( ! m_spDispatch )
+ {
+ throw RuntimeException(
+ OUSTR("[automation bridge] The object does not have an IDispatch interface"),
+ Reference<XInterface>());
+ }
+
+ o2u_attachCurrentThread();
+ DISPID dispid;
+ return getDispid( aName, &dispid );
+}
+
+
// UnoConversionUtilities --------------------------------------------------------------------------------
Reference< XInterface > IUnknownWrapper_Impl::createUnoWrapperInstance()
{
@@ -1591,22 +1860,6 @@ Any IUnknownWrapper_Impl::invokeWithDispIdComTlb(const OUString& sFuncName,
throw IllegalArgumentException( buf.makeStringAndClear(),
Reference<XInterface>(), (sal_Int16) i);
}
- //make sure we get no void any for an in parameter. In StarBasic
- //this may be caused by
- // Dim arg
- // obj.func(arg)
- //A void any is allowed if the parameter is optional
- if ( ! (aFuncDesc->lprgelemdescParam[i].paramdesc.wParamFlags & PARAMFLAG_FOPT)
- && (i < nUnoArgs) && (paramFlags & PARAMFLAG_FIN) &&
- Params.getConstArray()[i].getValueTypeClass() == TypeClass_VOID)
- {
- OUStringBuffer buf(256);
- buf.appendAscii("ole automation bridge: The argument at position: ");
- buf.append(OUString::valueOf((sal_Int32) i));
- buf.appendAscii(" (index starts with 0) is uninitialized.");
- throw IllegalArgumentException( buf.makeStringAndClear(),
- Reference<XInterface>(), (sal_Int16) i);
- }
// Property Put arguments
if (anyArg.getValueType() == getCppuType((PropertyPutArgument*)0))
@@ -1719,12 +1972,16 @@ Any IUnknownWrapper_Impl::invokeWithDispIdComTlb(const OUString& sFuncName,
& aFuncDesc->lprgelemdescParam[i].paramdesc.
pparamdescex->varDefaultValue);
}
- else
+ else if (paramFlags & PARAMFLAG_FOPT)
{
- OSL_ASSERT(paramFlags & PARAMFLAG_FOPT);
arArgs[revIndex].vt = VT_ERROR;
arArgs[revIndex].scode = DISP_E_PARAMNOTFOUND;
}
+ else
+ {
+ arArgs[revIndex].vt = VT_EMPTY;
+ arArgs[revIndex].lVal = 0;
+ }
}
}
}
diff --git a/extensions/source/ole/oleobjw.hxx b/extensions/source/ole/oleobjw.hxx
index b990ac3af17d..fa796013946e 100644
--- a/extensions/source/ole/oleobjw.hxx
+++ b/extensions/source/ole/oleobjw.hxx
@@ -50,7 +50,7 @@
#endif
#include <cppuhelper/implbase3.hxx>
#include <cppuhelper/implbase4.hxx>
-#include <cppuhelper/implbase6.hxx>
+#include <cppuhelper/implbase7.hxx>
#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/bridge/oleautomation/XAutomationObject.hpp>
@@ -58,6 +58,7 @@
#include <com/sun/star/script/XDefaultProperty.hpp>
#include <com/sun/star/script/XDefaultMethod.hpp>
+#include <com/sun/star/script/XDirectInvocation.hpp>
#include <typelib/typedescription.hxx>
#include "unoconversionutilities.hxx"
@@ -81,7 +82,7 @@ typedef hash_multimap<OUString, unsigned int, hashOUString_Impl, equalOUString_I
// This class wraps an IDispatch and maps XInvocation calls to IDispatch calls on the wrapped object.
// If m_TypeDescription is set then this class represents an UNO interface implemented in a COM component.
// The interface is not a real interface in terms of an abstract class but is realized through IDispatch.
-class IUnknownWrapper_Impl : public WeakImplHelper6<XInvocation, XBridgeSupplier2, XInitialization, XAutomationObject, XDefaultProperty, XDefaultMethod>,
+class IUnknownWrapper_Impl : public WeakImplHelper7< XInvocation, XBridgeSupplier2, XInitialization, XAutomationObject, XDefaultProperty, XDefaultMethod, XDirectInvocation >,
public UnoConversionUtilities<IUnknownWrapper_Impl>
@@ -130,10 +131,18 @@ public:
// XInitialization
virtual void SAL_CALL initialize( const Sequence< Any >& aArguments )
throw(Exception, RuntimeException);
+
+ // XDefaultProperty
virtual ::rtl::OUString SAL_CALL getDefaultPropertyName( ) throw (::com::sun::star::uno::RuntimeException) { return m_sDefaultMember; }
-protected:
+
+ // XDefaultMethod
virtual ::rtl::OUString SAL_CALL getDefaultMethodName( ) throw (::com::sun::star::uno::RuntimeException) { return m_sDefaultMember; }
+ // XDirectInvocation
+ virtual ::com::sun::star::uno::Any SAL_CALL directInvoke( const ::rtl::OUString& aName, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aParams ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::script::CannotConvertException, ::com::sun::star::reflection::InvocationTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL hasMember( const ::rtl::OUString& aName ) throw (::com::sun::star::uno::RuntimeException);
+
+protected:
// ----------------------------------------------------------------------------
virtual Any invokeWithDispIdUnoTlb(const OUString& sFunctionName,
const Sequence< Any >& Params,
diff --git a/extensions/source/propctrlr/standardcontrol.cxx b/extensions/source/propctrlr/standardcontrol.cxx
index ca6e1090386f..b0dc9536d0e2 100644
--- a/extensions/source/propctrlr/standardcontrol.cxx
+++ b/extensions/source/propctrlr/standardcontrol.cxx
@@ -47,7 +47,7 @@
#include <svx/svxids.hrc>
#endif
#include <svx/drawitem.hxx>
-#include <xtable.hxx>
+#include <svx/xtable.hxx>
//==================================================================
#include <vcl/floatwin.hxx>
#include <svtools/svmedit.hxx>
diff --git a/extensions/source/update/check/updatecheckconfig.cxx b/extensions/source/update/check/updatecheckconfig.cxx
index 9f78b33270c2..cca69db6ff33 100644..100755
--- a/extensions/source/update/check/updatecheckconfig.cxx
+++ b/extensions/source/update/check/updatecheckconfig.cxx
@@ -32,10 +32,8 @@
#include "updatecheckconfig.hxx"
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/beans/XPropertyState.hpp>
-
-#ifndef _COM_SUN_STAR_CONTAINER_CHANGESEVENT_HPP_
-#include <com/sun/star/beans/XPropertyState.hpp>
-#endif
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/lang/XSingleServiceFactory.hpp>
#include <osl/security.hxx>
#include <osl/time.h>
@@ -78,6 +76,8 @@ namespace uno = com::sun::star::uno ;
#define RELEASE_NOTE "ReleaseNote"
#define EXTENSION_PREFIX "Extension_"
+#define PROPERTY_VERSION UNISTRING("Version")
+
static const sal_Char * const aUpdateEntryProperties[] = {
UPDATE_VERSION,
UPDATE_BUILDID,
@@ -246,19 +246,19 @@ rtl::OUString UpdateCheckConfig::getAllUsersDirectory()
}
//------------------------------------------------------------------------------
-
-UpdateCheckConfig::UpdateCheckConfig(
- const uno::Reference<container::XNameContainer>& xContainer,
- const ::rtl::Reference< UpdateCheckConfigListener >& rListener
-) : m_xContainer(xContainer), m_rListener(rListener)
-{
-}
+UpdateCheckConfig::UpdateCheckConfig( const uno::Reference<container::XNameContainer>& xContainer,
+ const uno::Reference<container::XNameContainer>& xAvailableUpdates,
+ const uno::Reference<container::XNameContainer>& xIgnoredUpdates,
+ const ::rtl::Reference< UpdateCheckConfigListener >& rListener ) :
+ m_xContainer( xContainer ),
+ m_xAvailableUpdates( xAvailableUpdates ),
+ m_xIgnoredUpdates( xIgnoredUpdates ),
+ m_rListener( rListener )
+{}
//------------------------------------------------------------------------------
-
UpdateCheckConfig::~UpdateCheckConfig()
-{
-}
+{}
//------------------------------------------------------------------------------
@@ -295,7 +295,15 @@ UpdateCheckConfig::get(
UNISTRING("com.sun.star.configuration.ConfigurationUpdateAccess"), aArgumentList ),
uno::UNO_QUERY_THROW );
- return new UpdateCheckConfig( xContainer, rListener );
+ aProperty.Value = uno::makeAny( UNISTRING("/org.openoffice.Office.ExtensionManager/ExtensionUpdateData/IgnoredUpdates") );
+ aArgumentList[0] = uno::makeAny( aProperty );
+ uno::Reference< container::XNameContainer > xIgnoredExt( xConfigProvider->createInstanceWithArguments( UNISTRING("com.sun.star.configuration.ConfigurationUpdateAccess"), aArgumentList ), uno::UNO_QUERY_THROW );
+
+ aProperty.Value = uno::makeAny( UNISTRING("/org.openoffice.Office.ExtensionManager/ExtensionUpdateData/AvailableUpdates") );
+ aArgumentList[0] = uno::makeAny( aProperty );
+ uno::Reference< container::XNameContainer > xUpdateAvail( xConfigProvider->createInstanceWithArguments( UNISTRING("com.sun.star.configuration.ConfigurationUpdateAccess"), aArgumentList ), uno::UNO_QUERY_THROW );
+
+ return new UpdateCheckConfig( xContainer, xUpdateAvail, xIgnoredExt, rListener );
}
//------------------------------------------------------------------------------
@@ -627,6 +635,19 @@ UpdateCheckConfig::commitChanges()
}
}
}
+
+ xChangesBatch = uno::Reference< util::XChangesBatch > ( m_xAvailableUpdates, uno::UNO_QUERY );
+ if( xChangesBatch.is() && xChangesBatch->hasPendingChanges() )
+ {
+ util::ChangesSet aChangesSet = xChangesBatch->getPendingChanges();
+ xChangesBatch->commitChanges();
+ }
+ xChangesBatch = uno::Reference< util::XChangesBatch > ( m_xIgnoredUpdates, uno::UNO_QUERY );
+ if( xChangesBatch.is() && xChangesBatch->hasPendingChanges() )
+ {
+ util::ChangesSet aChangesSet = xChangesBatch->getPendingChanges();
+ xChangesBatch->commitChanges();
+ }
}
//------------------------------------------------------------------------------
@@ -654,40 +675,66 @@ UpdateCheckConfig::getPendingChanges( ) throw (uno::RuntimeException)
}
//------------------------------------------------------------------------------
-void UpdateCheckConfig::storeExtensionVersion( const rtl::OUString& rExtensionName,
+bool UpdateCheckConfig::storeExtensionVersion( const rtl::OUString& rExtensionName,
const rtl::OUString& rVersion )
{
- const rtl::OUString aExtName = UNISTRING( EXTENSION_PREFIX ) + rExtensionName;
- const uno::Any aValue = uno::makeAny( rVersion );
+ bool bNotify = true;
- if( m_xContainer->hasByName( aExtName ) )
- m_xContainer->replaceByName( aExtName, aValue );
+ if ( m_xAvailableUpdates->hasByName( rExtensionName ) )
+ uno::Reference< beans::XPropertySet >( m_xAvailableUpdates->getByName( rExtensionName ), uno::UNO_QUERY_THROW )->setPropertyValue( PROPERTY_VERSION, uno::Any( rVersion ) );
else
- m_xContainer->insertByName( aExtName, aValue );
+ {
+ uno::Reference< beans::XPropertySet > elem( uno::Reference< lang::XSingleServiceFactory >( m_xAvailableUpdates, uno::UNO_QUERY_THROW )->createInstance(), uno::UNO_QUERY_THROW );
+ elem->setPropertyValue( PROPERTY_VERSION, uno::Any( rVersion ) );
+ m_xAvailableUpdates->insertByName( rExtensionName, uno::Any( elem ) );
+ }
+
+ if ( m_xIgnoredUpdates->hasByName( rExtensionName ) )
+ {
+ ::rtl::OUString aIgnoredVersion;
+ uno::Any aValue( uno::Reference< beans::XPropertySet >( m_xIgnoredUpdates->getByName( rExtensionName ), uno::UNO_QUERY_THROW )->getPropertyValue( PROPERTY_VERSION ) );
+ aValue >>= aIgnoredVersion;
+ if ( aIgnoredVersion.getLength() == 0 ) // no version means ignore all updates
+ bNotify = false;
+ else if ( aIgnoredVersion == rVersion ) // the user wanted to ignore this update
+ bNotify = false;
+ }
commitChanges();
+
+ return bNotify;
}
//------------------------------------------------------------------------------
bool UpdateCheckConfig::checkExtensionVersion( const rtl::OUString& rExtensionName,
const rtl::OUString& rVersion )
{
- const rtl::OUString aExtName = UNISTRING( EXTENSION_PREFIX ) + rExtensionName;
-
- if( m_xContainer->hasByName( aExtName ) )
+ if ( m_xAvailableUpdates->hasByName( rExtensionName ) )
{
- uno::Any aValue = m_xContainer->getByName( aExtName );
- rtl::OUString aStoredVersion;
+ ::rtl::OUString aStoredVersion;
+ uno::Any aValue( uno::Reference< beans::XPropertySet >( m_xAvailableUpdates->getByName( rExtensionName ), uno::UNO_QUERY_THROW )->getPropertyValue( PROPERTY_VERSION ) );
aValue >>= aStoredVersion;
+ if ( m_xIgnoredUpdates->hasByName( rExtensionName ) )
+ {
+ ::rtl::OUString aIgnoredVersion;
+ uno::Any aValue2( uno::Reference< beans::XPropertySet >( m_xIgnoredUpdates->getByName( rExtensionName ), uno::UNO_QUERY_THROW )->getPropertyValue( PROPERTY_VERSION ) );
+ aValue2 >>= aIgnoredVersion;
+ if ( aIgnoredVersion.getLength() == 0 ) // no version means ignore all updates
+ return false;
+ else if ( aIgnoredVersion == aStoredVersion ) // the user wanted to ignore this update
+ return false;
+ // TODO: else delete ignored entry?
+ }
if ( isVersionGreater( rVersion, aStoredVersion ) )
return true;
else
{
- m_xContainer->removeByName( aExtName );
+ m_xAvailableUpdates->removeByName( rExtensionName );
commitChanges();
}
}
+
return false;
}
diff --git a/extensions/source/update/check/updatecheckconfig.hxx b/extensions/source/update/check/updatecheckconfig.hxx
index bc1fd0987b18..cf55a0787488 100644..100755
--- a/extensions/source/update/check/updatecheckconfig.hxx
+++ b/extensions/source/update/check/updatecheckconfig.hxx
@@ -93,8 +93,10 @@ class UpdateCheckConfig : public ::cppu::WeakImplHelper3<
::com::sun::star::util::XChangesBatch,
::com::sun::star::lang::XServiceInfo >
{
- UpdateCheckConfig(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& xContainer,
- const ::rtl::Reference< UpdateCheckConfigListener >& rListener );
+ UpdateCheckConfig( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& xContainer,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& xAvailableUpdates,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& xIgnoredUpdates,
+ const ::rtl::Reference< UpdateCheckConfigListener >& rListener );
virtual ~UpdateCheckConfig();
@@ -154,7 +156,7 @@ public:
static rtl::OUString getAllUsersDirectory();
// store and retrieve information about extensions
- void storeExtensionVersion( const rtl::OUString& rExtensionName,
+ bool storeExtensionVersion( const rtl::OUString& rExtensionName,
const rtl::OUString& rVersion );
bool checkExtensionVersion( const rtl::OUString& rExtensionName,
const rtl::OUString& rVersion );
@@ -205,6 +207,8 @@ private:
static bool isVersionGreater( const rtl::OUString& rVersion1, const rtl::OUString& rVersion2 );
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xContainer;
+ const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xAvailableUpdates;
+ const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xIgnoredUpdates;
const ::rtl::Reference< UpdateCheckConfigListener > m_rListener;
};
diff --git a/extensions/source/update/check/updateprotocol.cxx b/extensions/source/update/check/updateprotocol.cxx
index 5d51ea14cc6f..fa460ace702c 100644..100755
--- a/extensions/source/update/check/updateprotocol.cxx
+++ b/extensions/source/update/check/updateprotocol.cxx
@@ -255,16 +255,18 @@ checkForUpdates(
bool storeExtensionUpdateInfos( const uno::Reference< uno::XComponentContext > & rxContext,
const uno::Sequence< uno::Sequence< rtl::OUString > > &rUpdateInfos )
{
+ bool bNotify = false;
+
if ( rUpdateInfos.hasElements() )
{
rtl::Reference< UpdateCheckConfig > aConfig = UpdateCheckConfig::get( rxContext );
for ( sal_Int32 i = rUpdateInfos.getLength() - 1; i >= 0; i-- )
{
- aConfig->storeExtensionVersion( rUpdateInfos[i][0], rUpdateInfos[i][1] );
+ bNotify |= aConfig->storeExtensionVersion( rUpdateInfos[i][0], rUpdateInfos[i][1] );
}
}
- return rUpdateInfos.hasElements();
+ return bNotify;
}
//------------------------------------------------------------------------------
@@ -289,9 +291,9 @@ bool checkForExtensionUpdates( const uno::Reference< uno::XComponentContext > &
if ( !xInfoProvider.is() ) return false;
aUpdateList = xInfoProvider->isUpdateAvailable( ::rtl::OUString() );
- storeExtensionUpdateInfos( rxContext, aUpdateList );
+ bool bNotify = storeExtensionUpdateInfos( rxContext, aUpdateList );
- return aUpdateList.hasElements();
+ return bNotify;
}
//------------------------------------------------------------------------------
diff --git a/extensions/source/update/ui/updatecheckui.cxx b/extensions/source/update/ui/updatecheckui.cxx
index a6fe8fb27d32..3456b58c778e 100644
--- a/extensions/source/update/ui/updatecheckui.cxx
+++ b/extensions/source/update/ui/updatecheckui.cxx
@@ -52,7 +52,7 @@
#include <vcl/outdev.hxx>
#include <vcl/msgbox.hxx>
#include <vcl/lineinfo.hxx>
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#include <vcl/settings.hxx>
#include <vcl/svapp.hxx>
#include <sfx2/sfx.hrc>
diff --git a/forms/prj/build.lst b/forms/prj/build.lst
index 2d7c5f49c7e5..115c035edbbc 100644
--- a/forms/prj/build.lst
+++ b/forms/prj/build.lst
@@ -1,4 +1,4 @@
-fm forms : l10n oovbaapi svx sfx2 qadevOOo NULL
+fm forms : l10n oovbaapi svx sfx2 qadevOOo LIBXSLT:libxslt NULL
fm forms usr1 - all fm_mkofrm NULL
fm forms\inc nmake - all fm_inc NULL
fm forms\source\inc get - all fm_sinc NULL
diff --git a/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java b/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java
index 8d43fb4d01f1..6ab7d690faf8 100755
--- a/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java
+++ b/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java
@@ -337,7 +337,9 @@ public class ModuleCtrl {
}
else {
if ( isInstalled ) {
- if ( packageData.isJavaPackage() ) { // only selected checks, because of performance reasons
+ // Maybe a required core module is installed in an older version from another product
+ boolean isRequiredCoreModule = checkRequiredCoreModule(packageData);
+ if (( packageData.isJavaPackage() ) || ( isRequiredCoreModule )) { // only selected checks, because of performance reasons
boolean installedPackageIsOlder = installer.isInstalledPackageOlder(packageData, installData);
if ( ! installedPackageIsOlder ) {
// The package is already installed in the same or in a newer version
@@ -345,6 +347,7 @@ public class ModuleCtrl {
} else {
// This is also something like migrating feature states
packageData.setSelectionState(PackageDescription.INSTALL);
+ LogManager.addLogfileComment("<b>Adding required older installed package:</b> " + packageData.getPackageName() + "</br>");
}
} else { // no version check done -> so what is a good setting for already installed packages?
if ( installData.olderVersionExists() ) { // should never be the case in this function
diff --git a/lingucomponent/prj/build.lst b/lingucomponent/prj/build.lst
index 15ee595c67c0..23137e6209b9 100644
--- a/lingucomponent/prj/build.lst
+++ b/lingucomponent/prj/build.lst
@@ -1,4 +1,4 @@
-lc lingucomponent : linguistic LIBTEXTCAT:libtextcat LIBTEXTCATDATA:libtextcat svl HYPHEN:hyphen HUNSPELL:hunspell MYTHES:mythes NULL
+lc lingucomponent : linguistic LIBTEXTCAT:libtextcat LIBTEXTCATDATA:libtextcat svl HYPHEN:hyphen HUNSPELL:hunspell MYTHES:mythes LIBXSLT:libxslt NULL
lc lingucomponent usr1 - all lc_mkout NULL
lc lingucomponent\inc nmake - all lc_inc NULL
lc lingucomponent\source\lingutil nmake - all lc_util lc_inc NULL
diff --git a/package/prj/build.lst b/package/prj/build.lst
index 0b508271765c..6afa434558a4 100644
--- a/package/prj/build.lst
+++ b/package/prj/build.lst
@@ -1,4 +1,4 @@
-pk package : cppu cppuhelper comphelper ucbhelper sal ZLIB:zlib NULL
+pk package : cppu cppuhelper comphelper ucbhelper sal ZLIB:zlib LIBXSLT:libxslt NULL
pk package usr1 - all pk_mkout NULL
pk package\inc nmake - all pk_inc NULL
pk package\source\zipapi nmake - all pk_zipapi pk_inc NULL
diff --git a/setup_native/scripts/osx_install_languagepack.applescript b/setup_native/scripts/osx_install_languagepack.applescript
index 9fb4bdacbec1..68c31b709412 100644
--- a/setup_native/scripts/osx_install_languagepack.applescript
+++ b/setup_native/scripts/osx_install_languagepack.applescript
@@ -45,13 +45,38 @@ if (button returned of result) is AbortLabel then
return 2
end if
-set the found_ooos to (do shell script "mdfind \"kMDItemContentType == 'com.apple.application-bundle' && kMDItemDisplayName == '[PRODUCTNAME]*' && kMDItemDisplayName != '[FULLAPPPRODUCTNAME].app'\"") & "
+set the found_ooos_all to (do shell script "mdfind \"kMDItemContentType == 'com.apple.application-bundle' && kMDItemDisplayName == '[PRODUCTNAME]*' && kMDItemDisplayName != '[FULLAPPPRODUCTNAME].app'\"") & "
" & chooseMyOwn
+set found_ooos_all_paragraphs to paragraphs in found_ooos_all
+
+set found_ooos to {}
+repeat with currentApp in found_ooos_all_paragraphs
+ if currentApp does not start with "/Volumes" then
+ copy currentApp to the end of found_ooos
+ end if
+end repeat
+
+-- repeat with oneApp in found_ooos
+-- display dialog oneApp
+-- end repeat
+
-- the choice returned is of type "list"
-- Show selection dialog only if more than one or no product was found
-if (get first paragraph of found_ooos) is "" then
- set the choice to (choose from list of paragraphs in found_ooos default items (get last paragraph of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel)
+-- The first item is an empty string, if no app was found and no app started with "/Volumes"
+-- The first item is chooseMyOwn, if no app was found and at least one app started with "/Volumes"
+if (get first item of found_ooos as string) is "" then
+ set the choice to (choose from list found_ooos default items (get second item of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel)
+ if choice is false then
+ -- do nothing, the user cancelled the installation
+ return 2 --aborted by user
+ else if (choice as string) is chooseMyOwn then
+ -- yeah, one needs to use "choose file", otherwise
+ -- the user would not be able to select the .app
+ set the choice to POSIX path of (choose file with prompt chooseManual of type "com.apple.application-bundle" without showing package contents and invisibles)
+ end if
+else if (get first item of found_ooos as string) is chooseMyOwn then
+ set the choice to (choose from list found_ooos default items (get first item of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel)
if choice is false then
-- do nothing, the user cancelled the installation
return 2 --aborted by user
@@ -60,11 +85,12 @@ if (get first paragraph of found_ooos) is "" then
-- the user would not be able to select the .app
set the choice to POSIX path of (choose file with prompt chooseManual of type "com.apple.application-bundle" without showing package contents and invisibles)
end if
-else if (get second paragraph of found_ooos) is chooseMyOwn then
+else if (get second item of found_ooos as string) is chooseMyOwn then
-- set choice to found installation
- set the choice to (get first paragraph of found_ooos)
+ -- set the choice to (get first paragraph of found_ooos)
+ set the choice to (get first item of found_ooos)
else
- set the choice to (choose from list of paragraphs in found_ooos default items (get first paragraph of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel)
+ set the choice to (choose from list found_ooos default items (get first item of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel)
if choice is false then
-- do nothing, the user cancelled the installation
return 2 --aborted by user
diff --git a/setup_native/scripts/osx_install_patch.applescript b/setup_native/scripts/osx_install_patch.applescript
index e9dbd442d3a7..fc12f20108a6 100644
--- a/setup_native/scripts/osx_install_patch.applescript
+++ b/setup_native/scripts/osx_install_patch.applescript
@@ -43,13 +43,38 @@ if (button returned of result) is AbortLabel then
return 2
end if
-set the found_ooos to (do shell script "mdfind \"kMDItemContentType == 'com.apple.application-bundle' && kMDItemDisplayName == '[PRODUCTNAME]*' && kMDItemDisplayName != '[FULLAPPPRODUCTNAME].app'\"") & "
+set the found_ooos_all to (do shell script "mdfind \"kMDItemContentType == 'com.apple.application-bundle' && kMDItemDisplayName == '[PRODUCTNAME]*' && kMDItemDisplayName != '[FULLAPPPRODUCTNAME].app'\"") & "
" & chooseMyOwn
+set found_ooos_all_paragraphs to paragraphs in found_ooos_all
+
+set found_ooos to {}
+repeat with currentApp in found_ooos_all_paragraphs
+ if currentApp does not start with "/Volumes" then
+ copy currentApp to the end of found_ooos
+ end if
+end repeat
+
+-- repeat with oneApp in found_ooos
+-- display dialog oneApp
+-- end repeat
+
-- the choice returned is of type "list"
-- Show selection dialog only if more than one or no product was found
-if (get first paragraph of found_ooos) is "" then
- set the choice to (choose from list of paragraphs in found_ooos default items (get last paragraph of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel)
+-- The first item is an empty string, if no app was found and no app started with "/Volumes"
+-- The first item is chooseMyOwn, if no app was found and at least one app started with "/Volumes"
+if (get first item of found_ooos as string) is "" then
+ set the choice to (choose from list found_ooos default items (get second item of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel)
+ if choice is false then
+ -- do nothing, the user cancelled the installation
+ return 2 --aborted by user
+ else if (choice as string) is chooseMyOwn then
+ -- yeah, one needs to use "choose file", otherwise
+ -- the user would not be able to select the .app
+ set the choice to POSIX path of (choose file with prompt chooseManual of type "com.apple.application-bundle" without showing package contents and invisibles)
+ end if
+else if (get first item of found_ooos as string) is chooseMyOwn then
+ set the choice to (choose from list found_ooos default items (get first item of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel)
if choice is false then
-- do nothing, the user cancelled the installation
return 2 --aborted by user
@@ -58,11 +83,12 @@ if (get first paragraph of found_ooos) is "" then
-- the user would not be able to select the .app
set the choice to POSIX path of (choose file with prompt chooseManual of type "com.apple.application-bundle" without showing package contents and invisibles)
end if
-else if (get second paragraph of found_ooos) is chooseMyOwn then
+else if (get second item of found_ooos as string) is chooseMyOwn then
-- set choice to found installation
- set the choice to (get first paragraph of found_ooos)
+ -- set the choice to (get first paragraph of found_ooos)
+ set the choice to (get first item of found_ooos)
else
- set the choice to (choose from list of paragraphs in found_ooos default items (get first paragraph of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel)
+ set the choice to (choose from list found_ooos default items (get first item of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel)
if choice is false then
-- do nothing, the user cancelled the installation
return 2 --aborted by user
diff --git a/wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.java b/wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.java
index bc09829daea1..50ee492f8c78 100644
--- a/wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.java
+++ b/wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.java
@@ -484,7 +484,7 @@ public class AgendaWizardDialogImpl extends AgendaWizardDialog
xTextDocument = (XTextDocument)UnoRuntime.queryInterface(XTextDocument.class,agendaTemplate.document);
- bSaveSuccess = OfficeDocument.store(xMSF, xTextDocument, sPath , "writer8_template", false, resources.resErrSaveTemplate );
+ bSaveSuccess = OfficeDocument.store(xMSF, xTextDocument, sPath , "writer8_template", false );
} catch (Exception e) {
SystemDialog.showMessageBox(xMSF, xControl.getPeer(), "ErrBox", VclWindowPeerAttribute.OK, resources.resErrSaveTemplate);
//e.printStackTrace();
diff --git a/wizards/com/sun/star/wizards/common/Configuration.java b/wizards/com/sun/star/wizards/common/Configuration.java
index 103fdc5848a2..cbe724335cf8 100644
--- a/wizards/com/sun/star/wizards/common/Configuration.java
+++ b/wizards/com/sun/star/wizards/common/Configuration.java
@@ -134,7 +134,7 @@ public abstract class Configuration
public static void set(boolean value, String name, Object parent) throws Exception
{
- if (value = true)
+ if (value == true)
{
set(Boolean.TRUE, name, parent);
}
diff --git a/wizards/com/sun/star/wizards/common/NumberFormatter.java b/wizards/com/sun/star/wizards/common/NumberFormatter.java
index cb183eb29c25..ccfbee303f98 100644
--- a/wizards/com/sun/star/wizards/common/NumberFormatter.java
+++ b/wizards/com/sun/star/wizards/common/NumberFormatter.java
@@ -134,7 +134,7 @@ public class NumberFormatter
public double convertStringToNumber(int _nkey, String _sString)throws Exception
{
- return convertStringToNumber(_nkey, _sString);
+ return xNumberFormatter.convertStringToNumber(_nkey, _sString);
}
diff --git a/wizards/com/sun/star/wizards/document/OfficeDocument.java b/wizards/com/sun/star/wizards/document/OfficeDocument.java
index 4cb78cd967c3..ea132453bb30 100644
--- a/wizards/com/sun/star/wizards/document/OfficeDocument.java
+++ b/wizards/com/sun/star/wizards/document/OfficeDocument.java
@@ -48,6 +48,7 @@ import com.sun.star.beans.PropertyVetoException;
import com.sun.star.sheet.XCellRangeData;
import com.sun.star.sheet.XSpreadsheetDocument;
import com.sun.star.table.XCellRange;
+import com.sun.star.task.XInteractionHandler;
import com.sun.star.text.XTextDocument;
import com.sun.star.uno.Exception;
import com.sun.star.uno.UnoRuntime;
@@ -288,7 +289,7 @@ public class OfficeDocument
return oDocument;
}
- public static boolean store(XMultiServiceFactory xMSF, XComponent xComponent, String StorePath, String FilterName, boolean bStoreToUrl, String sMsgSavingImpossible)
+ public static boolean store(XMultiServiceFactory xMSF, XComponent xComponent, String StorePath, String FilterName, boolean bStoreToUrl)
{
try
{
@@ -296,10 +297,13 @@ public class OfficeDocument
PropertyValue[] oStoreProperties;
if (FilterName.length() > 0)
{
- oStoreProperties = new PropertyValue[1];
+ oStoreProperties = new PropertyValue[2];
oStoreProperties[0] = new PropertyValue();
oStoreProperties[0].Name = "FilterName";
oStoreProperties[0].Value = FilterName;
+ oStoreProperties[1] = new PropertyValue();
+ oStoreProperties[1].Name = "InteractionHandler";
+ oStoreProperties[1].Value = (XInteractionHandler) UnoRuntime.queryInterface(XInteractionHandler.class, xMSF.createInstance("com.sun.star.comp.uui.UUIInteractionHandler"));
}
else
{
@@ -319,8 +323,6 @@ public class OfficeDocument
{
exception.printStackTrace(System.out);
- //TODO make sure that the peer of the dialog is used when available
- showMessageBox(xMSF, "ErrorBox", VclWindowPeerAttribute.OK, sMsgSavingImpossible);
return false;
}
}
diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.java b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.java
index 6163cd143894..892505baa85b 100644
--- a/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.java
+++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.java
@@ -246,7 +246,7 @@ public class FaxWizardDialogImpl extends FaxWizardDialog
myFaxDoc.killEmptyFrames();
- bSaveSuccess = OfficeDocument.store(xMSF, xTextDocument, sPath, "writer8_template", false, "Template could not be saved to" + sPath);
+ bSaveSuccess = OfficeDocument.store(xMSF, xTextDocument, sPath, "writer8_template", false);
if (bSaveSuccess)
{
saveConfiguration();
diff --git a/wizards/com/sun/star/wizards/form/FormDocument.java b/wizards/com/sun/star/wizards/form/FormDocument.java
index ae1a795368e4..0070fed3ada1 100644
--- a/wizards/com/sun/star/wizards/form/FormDocument.java
+++ b/wizards/com/sun/star/wizards/form/FormDocument.java
@@ -297,7 +297,9 @@ public class FormDocument extends TextDocument
public ControlForm[] getControlForms()
{
- return (ControlForm[]) oControlForms.toArray();
+ ControlForm[] aResult = new ControlForm[oControlForms.size()];
+ oControlForms.toArray( aResult );
+ return aResult;
}
public boolean finalizeForms(DataEntrySetter _curDataEntrySetter, FieldLinker _curFieldLinker, FormConfiguration _curFormConfiguration)
diff --git a/wizards/com/sun/star/wizards/form/StyleApplier.java b/wizards/com/sun/star/wizards/form/StyleApplier.java
index 56337202a213..e1b27c05e7aa 100644
--- a/wizards/com/sun/star/wizards/form/StyleApplier.java
+++ b/wizards/com/sun/star/wizards/form/StyleApplier.java
@@ -341,7 +341,7 @@ public class StyleApplier
{
String[] sPropList = JavaTools.ArrayoutofString(scurline, ":");
String sPropValue = sPropList[1];
- sPropValue.trim();
+ sPropValue = sPropValue.trim();
if (sPropValue.indexOf("#") > 0)
{
sPropValue = JavaTools.replaceSubString(sPropValue, "", ";");
diff --git a/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.java b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.java
index 7cc587a2c63c..9fb6c2e4b2e7 100644
--- a/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.java
+++ b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.java
@@ -305,7 +305,7 @@ public class LetterWizardDialogImpl extends LetterWizardDialog
myLetterDoc.killEmptyFrames();
- bSaveSuccess = OfficeDocument.store(xMSF, xTextDocument, sPath, "writer8_template", false, "Template could not be saved to " + sPath);
+ bSaveSuccess = OfficeDocument.store(xMSF, xTextDocument, sPath, "writer8_template", false);
if (bSaveSuccess)
{
diff --git a/wizards/com/sun/star/wizards/web/WWD_Events.java b/wizards/com/sun/star/wizards/web/WWD_Events.java
index e3927f188460..6e8d0f2e614e 100644
--- a/wizards/com/sun/star/wizards/web/WWD_Events.java
+++ b/wizards/com/sun/star/wizards/web/WWD_Events.java
@@ -1001,7 +1001,7 @@ public abstract class WWD_Events extends WWD_Startup
//replace all '/' with '%2F'
url1 = JavaTools.replaceSubString(url1, "%2F", "/");
- p.url = "vnd.sun.star.pkg://" + url1 + "/";
+ p.url = "vnd.sun.star.zip://" + url1 + "/";
/*
* and now ftp...
diff --git a/wizards/prj/build.lst b/wizards/prj/build.lst
index c4d635a921a8..ca4e940d3527 100644
--- a/wizards/prj/build.lst
+++ b/wizards/prj/build.lst
@@ -1,4 +1,4 @@
-wz wizards : l10n rsc javaunohelper unoil NULL
+wz wizards : l10n rsc javaunohelper unoil LIBXSLT:libxslt NULL
wz wizards\util nmake - all wz_util NULL
wz wizards\source\config nmake - all wz_config NULL
wz wizards\source\configshare nmake - all wz_configshare NULL
diff --git a/xmlsecurity/prj/build.lst b/xmlsecurity/prj/build.lst
index cd438326bd00..3d70b9cb1181 100644
--- a/xmlsecurity/prj/build.lst
+++ b/xmlsecurity/prj/build.lst
@@ -1,4 +1,4 @@
-xs xmlsecurity : l10n xmloff unotools offapi unoil svx MOZ:moz SO:moz_prebuilt LIBXMLSEC:libxmlsec NSS:nss NULL
+xs xmlsecurity : l10n xmloff unotools offapi unoil svx MOZ:moz SO:moz_prebuilt LIBXMLSEC:libxmlsec NSS:nss LIBXSLT:libxslt NULL
xs xmlsecurity usr1 - all xs_mkout NULL
xs xmlsecurity\inc nmake - all xs_inc NULL
xs xmlsecurity\source\framework nmake - all xs_fw xs_inc NULL