summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Lingner <jl@openoffice.org>2010-06-30 17:12:59 +0200
committerJoachim Lingner <jl@openoffice.org>2010-06-30 17:12:59 +0200
commit216eb3aa22f9c950981d11545caa8f2d7b5172f4 (patch)
tree76a19b19bebf89c1aed948beddc29e0fa626d960
parent6aa8dd96adb6a40c7765d00c2287303346278723 (diff)
parent2902d4875367d656411fbd6e8287f2d4bd4f5ab6 (diff)
jl154 merge with DEV300_m84
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx2
-rw-r--r--idlc/source/preproc/getopt.c94
-rw-r--r--idlc/source/preproc/makefile.mk7
-rw-r--r--idlc/source/preproc/nlist.c3
-rw-r--r--idlc/source/preproc/tokens.c6
-rw-r--r--idlc/source/preproc/unix.c7
-rw-r--r--javaunohelper/com/sun/star/lib/uno/helper/PropertySet.java11
-rw-r--r--offapi/com/sun/star/document/MediaDescriptor.idl5
-rw-r--r--offapi/com/sun/star/embed/XVisualObject.idl18
-rw-r--r--offapi/com/sun/star/sheet/FunctionAccess.idl26
-rw-r--r--offapi/com/sun/star/sheet/NoConvergenceException.idl52
-rw-r--r--offapi/com/sun/star/sheet/Spreadsheet.idl5
-rw-r--r--offapi/com/sun/star/sheet/makefile.mk1
-rw-r--r--offapi/com/sun/star/style/NumberingType.idl10
-rwxr-xr-xoffapi/com/sun/star/task/DocumentMSPasswordRequest2.idl68
-rwxr-xr-xoffapi/com/sun/star/task/DocumentPasswordRequest2.idl67
-rw-r--r--offapi/com/sun/star/task/XInteractionPassword2.idl80
-rwxr-xr-x[-rw-r--r--]offapi/com/sun/star/task/makefile.mk3
-rw-r--r--sal/inc/rtl/locale.h8
-rw-r--r--sal/osl/unx/nlsupport.c15
-rw-r--r--sal/systools/win32/uwinapi/DllMain.cpp9
-rw-r--r--sal/systools/win32/uwinapi/sntprintf.c2
22 files changed, 367 insertions, 132 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx
index ae0fb9de1..21d583c63 100644
--- a/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx
@@ -552,7 +552,7 @@ extern "C" void privateSnippetExecutor( ... )
"mr %0, 1\n\t"
: "=r" (sp) : );
- volatile long nRegReturn[0];
+ volatile long nRegReturn[1];
typelib_TypeClass aType =
cpp_mediate( nOffsetAndIndex, (void**)gpreg, (void**)fpreg, sp, (sal_Int64*)nRegReturn);
diff --git a/idlc/source/preproc/getopt.c b/idlc/source/preproc/getopt.c
deleted file mode 100644
index a8ee22a88..000000000
--- a/idlc/source/preproc/getopt.c
+++ /dev/null
@@ -1,94 +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
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <stdio.h>
-#include <string.h>
-
-#define EPR fprintf(stderr,
-#define ERR(str, chr) if(opterr) { EPR "%s%c\n", str, chr); }
-
-int opterr = 1;
-int optind = 1;
-int optopt;
-char *optarg;
-
-int
- cppgetopt(int argc, char *const argv[], const char *opts)
-{
- static int sp = 1;
- register int c;
- register char *cp;
-
- if (sp == 1)
- {
- if (optind >= argc ||
- argv[optind][0] != '-' || argv[optind][1] == '\0')
- return -1;
- else
- if (strcmp(argv[optind], "--") == 0)
- {
- optind++;
- return -1;
- }
- }
- optopt = c = argv[optind][sp];
- if (c == ':' || (cp = strchr(opts, c)) == 0)
- {
- ERR(": illegal option -- ", c);
- if (argv[optind][++sp] == '\0')
- {
- optind++;
- sp = 1;
- }
- return '?';
- }
- if (*++cp == ':')
- {
- if (argv[optind][sp + 1] != '\0')
- optarg = &argv[optind++][sp + 1];
- else
- if (++optind >= argc)
- {
- ERR(": option requires an argument -- ", c);
- sp = 1;
- return '?';
- }
- else
- optarg = argv[optind++];
- sp = 1;
- }
- else
- {
- if (argv[optind][++sp] == '\0')
- {
- sp = 1;
- optind++;
- }
- optarg = 0;
- }
- return c;
-}
diff --git a/idlc/source/preproc/makefile.mk b/idlc/source/preproc/makefile.mk
index 7347f815a..e6aa457e8 100644
--- a/idlc/source/preproc/makefile.mk
+++ b/idlc/source/preproc/makefile.mk
@@ -43,7 +43,6 @@ LIBSALCPPRT=$(0)
OBJFILES= \
$(OBJ)$/cpp.obj \
$(OBJ)$/eval.obj \
- $(OBJ)$/getopt.obj \
$(OBJ)$/include.obj \
$(OBJ)$/lex.obj \
$(OBJ)$/macro.obj \
@@ -64,6 +63,12 @@ APP1OBJS=$(OBJ)$/cpp.obj
APP1LIBS= $(LB)$/idlcpp.lib
+.IF "$(HAVE_GETOPT)" != "YES"
+.IF "$(GUI)" == "WNT"
+APP1STDLIBS=gnu_getopt.lib
+.ENDIF
+.ENDIF
+
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
diff --git a/idlc/source/preproc/nlist.c b/idlc/source/preproc/nlist.c
index e1b3089e7..1fde3ce43 100644
--- a/idlc/source/preproc/nlist.c
+++ b/idlc/source/preproc/nlist.c
@@ -29,9 +29,6 @@
#include <string.h>
#include "cpp.h"
-extern int cppgetopt(int, char *const *, const char *);
-extern char *optarg;
-extern int optind;
extern int Cplusplus;
Nlist *kwdefined;
char wd[128];
diff --git a/idlc/source/preproc/tokens.c b/idlc/source/preproc/tokens.c
index e1cabf438..b8dbd45c5 100644
--- a/idlc/source/preproc/tokens.c
+++ b/idlc/source/preproc/tokens.c
@@ -474,7 +474,8 @@ void
if (wbp >= &wbuf[OBS])
{
- write(1, wbuf, OBS);
+ if (write(1, wbuf, OBS) != OBS)
+ error(ERROR, "short write!");
if (wbp > &wbuf[OBS])
memcpy(wbuf, wbuf + OBS, wbp - &wbuf[OBS]);
wbp -= OBS;
@@ -490,7 +491,8 @@ void
{
if (wbp > wbuf)
{
- write(1, wbuf, wbp - wbuf);
+ if (write(1, wbuf, wbp - wbuf) != wbp - wbuf)
+ error(ERROR, "short write!");
wbp = wbuf;
}
}
diff --git a/idlc/source/preproc/unix.c b/idlc/source/preproc/unix.c
index fae43597f..922b2a320 100644
--- a/idlc/source/preproc/unix.c
+++ b/idlc/source/preproc/unix.c
@@ -33,15 +33,14 @@
#if (defined(_WIN32) || defined(_MSDOS) || defined(__IBMC__))
#include <io.h>
#include <sys/stat.h>
+#include <external/glibc/getopt.h>
#else
#include <unistd.h>
#endif
#include "cpp.h"
-extern int cppgetopt(int, char *const *, const char *);
-extern char *optarg, rcsid[];
-extern int optind;
+extern char rcsid[];
int Pflag = 0; /* print no line information */
int Iflag = 0; /* print includes */
@@ -62,7 +61,7 @@ void
Tokenrow tr;
setup_kwtab();
- while ((c = cppgetopt(argc, argv, "NOPV:I:D:U:F:A:X:u:l:+")) != -1)
+ while ((c = getopt(argc, argv, "NOPV:I:D:U:F:A:X:u:l:+")) != -1)
switch (c)
{
case 'N':
diff --git a/javaunohelper/com/sun/star/lib/uno/helper/PropertySet.java b/javaunohelper/com/sun/star/lib/uno/helper/PropertySet.java
index f096d6dfd..0f18ac781 100644
--- a/javaunohelper/com/sun/star/lib/uno/helper/PropertySet.java
+++ b/javaunohelper/com/sun/star/lib/uno/helper/PropertySet.java
@@ -836,7 +836,6 @@ XMultiPropertySet
* @return The value of the property.
*/
protected Object getPropertyValue(Property property)
- throws com.sun.star.lang.WrappedTargetException
{
Object ret= null;
try
@@ -853,9 +852,13 @@ XMultiPropertySet
ret= propField.get(this);
}
}
- catch(java.lang.Exception e)
+ catch(java.lang.NoSuchFieldException e)
+ {
+ throw new java.lang.RuntimeException(e);
+ }
+ catch(java.lang.IllegalAccessException e)
{
- throw new WrappedTargetException("PropertySet.setPropertyValue_NoBroadcast", this, e);
+ throw new java.lang.RuntimeException(e);
}
return ret;
}
@@ -1001,7 +1004,7 @@ XMultiPropertySet
{
value= getPropertyValue(prop);
}
- catch(WrappedTargetException e)
+ catch(Exception e)
{
continue;
}
diff --git a/offapi/com/sun/star/document/MediaDescriptor.idl b/offapi/com/sun/star/document/MediaDescriptor.idl
index e94844d21..1daed7b0d 100644
--- a/offapi/com/sun/star/document/MediaDescriptor.idl
+++ b/offapi/com/sun/star/document/MediaDescriptor.idl
@@ -141,6 +141,11 @@ published service MediaDescriptor
for a special component type. Format of that depends from real
type of adressed component.
</p>
+
+ <p>
+ For extensibility, it is recommended to use values of type
+ sequence<com.sun.star.beans.PropertyValue> with this property.
+ </p>
*/
[optional,property] any ComponentData;
diff --git a/offapi/com/sun/star/embed/XVisualObject.idl b/offapi/com/sun/star/embed/XVisualObject.idl
index c2800e180..913507d42 100644
--- a/offapi/com/sun/star/embed/XVisualObject.idl
+++ b/offapi/com/sun/star/embed/XVisualObject.idl
@@ -71,13 +71,13 @@ published interface XVisualObject: ::com::sun::star::uno::XInterface
</p>
@param nAspect
- the aspect specifying the form of object representation
- can take values from <type>Aspects</type> constant set
+ the aspect specifying the form of object representation.
+ Can take values from <type>Aspects</type> constant set.
@param aSize
the new size of the visual area
- @thrown ::com::sun::star::lang::IllegalArgumentException
+ @throws ::com::sun::star::lang::IllegalArgumentException
one of arguments is illegal
@throws ::com::sun::star::embed::WrongStateException
@@ -101,13 +101,13 @@ published interface XVisualObject: ::com::sun::star::uno::XInterface
</p>
@param nAspect
- the aspect specifying the form of object representation
- can take values from <type>Aspects</type> constant set
+ the aspect specifying the form of object representation.
+ Can take values from <type>Aspects</type> constant set.
@return
the size of visual area
- @thrown ::com::sun::star::lang::IllegalArgumentException
+ @throws ::com::sun::star::lang::IllegalArgumentException
one of arguments is illegal
@throws ::com::sun::star::embed::WrongStateException
@@ -127,7 +127,8 @@ published interface XVisualObject: ::com::sun::star::uno::XInterface
</p>
@param nAspect
- the aspect the representation is requested for
+ the aspect the representation is requested for.
+ Can take values from <type>Aspects</type> constant set.
@return
the visual representation of the object in the default format and
@@ -153,7 +154,8 @@ published interface XVisualObject: ::com::sun::star::uno::XInterface
/** retrieves map mode the object communicates in.
@param nAspect
- the aspect the map mode is requested for
+ the aspect the map mode is requested for.
+ Can take values from <type>Aspects</type> constant set.
@return
the map mode the object communicates in, it can take values from
diff --git a/offapi/com/sun/star/sheet/FunctionAccess.idl b/offapi/com/sun/star/sheet/FunctionAccess.idl
index 041849682..2112f5064 100644
--- a/offapi/com/sun/star/sheet/FunctionAccess.idl
+++ b/offapi/com/sun/star/sheet/FunctionAccess.idl
@@ -58,6 +58,32 @@ published service FunctionAccess
/** provides calculating the result of a spreadsheet function.
*/
interface com::sun::star::sheet::XFunctionAccess;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the function call is performed as array function
+ call.
+
+ <p>If set to <TRUE/>, the result of the function call will be
+ calculated similar to array formulas in a spreadsheet document. The
+ return value of the function call will usually be a sequence of
+ sequences containing the values of the resulting array. Example: If the
+ function ABS is called for a 3x2 cell range, the result will be a 3x2
+ array containing the absolute values of the numbers contained in the
+ specified cell range.</p>
+
+ <p>If set to <FALSE/>, the result of the function call will be
+ calculated similar to simple cell formulas in a spreadsheet document.
+ The return value of the function call will usually be a single value.
+ Of course, some functions always return an array, for example the
+ MUNIT function.</p>
+
+ <p>For compatibility with older versions, the default value of this
+ property is <TRUE/>.</p>
+
+ @since OOo 3.3
+ */
+ [optional, property] boolean IsArrayFunction;
};
diff --git a/offapi/com/sun/star/sheet/NoConvergenceException.idl b/offapi/com/sun/star/sheet/NoConvergenceException.idl
new file mode 100644
index 000000000..f846ec9aa
--- /dev/null
+++ b/offapi/com/sun/star/sheet/NoConvergenceException.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_NoConvergenceException_idl__
+#define __com_sun_star_sheet_NoConvergenceException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** Thrown by a Calc Add-In function this exception indicates the
+ function's algorithm did not converge to a meaningful result.
+
+ @since OOo 3.3
+ */
+exception NoConvergenceException : ::com::sun::star::uno::Exception{};
+
+//=============================================================================
+}; }; }; };
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/sheet/Spreadsheet.idl b/offapi/com/sun/star/sheet/Spreadsheet.idl
index 670a05c42..5ba0e5345 100644
--- a/offapi/com/sun/star/sheet/Spreadsheet.idl
+++ b/offapi/com/sun/star/sheet/Spreadsheet.idl
@@ -96,6 +96,8 @@
#include <com/sun/star/sheet/XExternalSheetName.idl>
#endif
+#include <com/sun/star/util/Color.idl>
+
//=============================================================================
module com { module sun { module star { module sheet {
@@ -264,6 +266,9 @@ service Spreadsheet
*/
[optional, property] boolean AutomaticPrintArea;
+ /** specifies the color of the sheet tab, if any.
+ */
+ [optional, property] com::sun::star::util::Color TabColor;
};
//=============================================================================
diff --git a/offapi/com/sun/star/sheet/makefile.mk b/offapi/com/sun/star/sheet/makefile.mk
index dc1935ba2..016378178 100644
--- a/offapi/com/sun/star/sheet/makefile.mk
+++ b/offapi/com/sun/star/sheet/makefile.mk
@@ -164,6 +164,7 @@ IDLFILES=\
NamedRangeFlag.idl\
NamedRanges.idl\
NamedRangesEnumeration.idl\
+ NoConvergenceException.idl\
PasteOperation.idl\
RangeSelectionArguments.idl\
RangeSelectionEvent.idl\
diff --git a/offapi/com/sun/star/style/NumberingType.idl b/offapi/com/sun/star/style/NumberingType.idl
index 506e5ade2..8a408f667 100644
--- a/offapi/com/sun/star/style/NumberingType.idl
+++ b/offapi/com/sun/star/style/NumberingType.idl
@@ -121,6 +121,7 @@ published constants NumberingType
//-------------------------------------------------------------------------
/** Numbering for Chinese lower case number
+ as "一,二,三..."
*/
const short NUMBER_LOWER_ZH = 15;
@@ -136,11 +137,13 @@ published constants NumberingType
//-------------------------------------------------------------------------
/** Bullet for Chinese Tian Gan
+ as "甲,乙,丙..."
*/
const short TIAN_GAN_ZH = 18;
//-------------------------------------------------------------------------
/** Bullet for Chinese Di Zi
+ as "子,丑,寅..."
*/
const short DI_ZI_ZH = 19;
@@ -171,36 +174,43 @@ published constants NumberingType
//-------------------------------------------------------------------------
/** Numbering for Korean upper case number
+ as "壹,貳,參..."
*/
const short NUMBER_UPPER_KO = 25;
//-------------------------------------------------------------------------
/** Numbering for Korean hangul number
+ as "일,이,삼..."
*/
const short NUMBER_HANGUL_KO = 26;
//-------------------------------------------------------------------------
/** Bullet for Korean Hangul Jamo
+ as "ㄱ,ㄴ,ㄷ..."
*/
const short HANGUL_JAMO_KO = 27;
//-------------------------------------------------------------------------
/** Bullet for Korean Hangul Syllable
+ as "가,나,다..."
*/
const short HANGUL_SYLLABLE_KO = 28;
//-------------------------------------------------------------------------
/** Bullet for Korean Hangul Circled Jamo
+ as "㉠,㉡,㉢..."
*/
const short HANGUL_CIRCLED_JAMO_KO = 29;
//-------------------------------------------------------------------------
/** Bullet for Korean Hangul Circled Syllable
+ as "㉮,㉯,㉰..."
*/
const short HANGUL_CIRCLED_SYLLABLE_KO = 30;
//-------------------------------------------------------------------------
/** Numbering in Arabic alphabet letters
+ as "أ,ب,ت..."
@since OOo 1.1.2
*/
diff --git a/offapi/com/sun/star/task/DocumentMSPasswordRequest2.idl b/offapi/com/sun/star/task/DocumentMSPasswordRequest2.idl
new file mode 100755
index 000000000..abd3b08fa
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentMSPasswordRequest2.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2009.
+ * Copyright 2009 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DocumentMSPasswordRequest.idl,v $
+ * $Revision: 1.0 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_DocumentMSPasswordRequest2_idl__
+#define __com_sun_star_task_DocumentMSPasswordRequest2_idl__
+
+#include <com/sun/star/task/DocumentMSPasswordRequest.idl>
+
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** this request specifies if a password for opening or modifying of an encrypted Microsoft Office document is requested.
+
+ <P>
+ It is supported by <type>InteractionHandler</type> service, and can
+ be used to interact for a document password. Continuations for using with
+ the mentioned service are Abort and Approve.
+ </P>
+
+ @see com::sun::star::task::PasswordRequest
+ @see com::sun::star::task::DocumentMSPasswordRequest
+
+ @since OOo 3.3
+*/
+exception DocumentMSPasswordRequest2 : DocumentMSPasswordRequest
+{
+ //-------------------------------------------------------------------------
+ /** specifies if the requested password is for opening a document or for mofiying it.
+ */
+ boolean IsRequestPasswordToModify;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/DocumentPasswordRequest2.idl b/offapi/com/sun/star/task/DocumentPasswordRequest2.idl
new file mode 100755
index 000000000..a9500133e
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentPasswordRequest2.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DocumentPasswordRequest.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_DocumentPasswordRequest2_idl__
+#define __com_sun_star_task_DocumentPasswordRequest2_idl__
+
+#include <com/sun/star/task/DocumentPasswordRequest.idl>
+
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** this request specifies if a password for opening or modifying a document is requested.
+
+ <P>
+ It is supported by <type>InteractionHandler</type> service, and can
+ be used to interact for a document password. Continuations for using with
+ the mentioned service are Abort and Approve.
+ </P>
+
+ @see com::sun::star::task::PasswordRequest
+ @see com::sun::star::task::DocumentPasswordRequest
+
+ @since OOo 3.3
+*/
+exception DocumentPasswordRequest2 : DocumentPasswordRequest
+{
+ //-------------------------------------------------------------------------
+ /** specifies if the requested password is for opening a document or for mofiying it.
+ */
+ boolean IsRequestPasswordToModify;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/XInteractionPassword2.idl b/offapi/com/sun/star/task/XInteractionPassword2.idl
new file mode 100644
index 000000000..97bd6aff5
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionPassword2.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XInteractionPassword.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XInteractionPassword2_idl__
+#define __com_sun_star_task_XInteractionPassword2_idl__
+
+#ifndef __com_sun_star_task_XInteractionPassword_idl__
+#include <com/sun/star/task/XInteractionPassword.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** A continuation to get a password from interaction helper, extends
+ <type>XInteractionPassword</type> with possibility to provide password
+ to modify.
+
+ @since OOo 3.3
+*/
+published interface XInteractionPassword2 : ::com::sun::star::task::XInteractionPassword
+{
+ //-------------------------------------------------------------------------
+ /** stores "password to modify" to the continuation.
+ */
+ void setPasswordToModify( [in] string aPasswd );
+
+ //-------------------------------------------------------------------------
+ /** gets "password to modify" from the continuation.
+ */
+ string getPasswordToModify();
+
+ //-------------------------------------------------------------------------
+ /** stores "recommend readonly" to the continuation. It specifies whether
+ the document should be loaded readonly per default.
+ */
+ void setRecommendReadOnly( [in] boolean bReadOnly );
+
+ //-------------------------------------------------------------------------
+ /** gets "recommend readonly" from the continuation. It specifies whether
+ the document should be loaded readonly per default.
+ */
+ boolean getRecommendReadOnly();
+
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/task/makefile.mk b/offapi/com/sun/star/task/makefile.mk
index 32af74ad8..16b0be56e 100644..100755
--- a/offapi/com/sun/star/task/makefile.mk
+++ b/offapi/com/sun/star/task/makefile.mk
@@ -42,7 +42,9 @@ IDLFILES=\
ClassifiedInteractionRequest.idl\
DocumentMacroConfirmationRequest.idl\
DocumentPasswordRequest.idl\
+ DocumentPasswordRequest2.idl\
DocumentMSPasswordRequest.idl\
+ DocumentMSPasswordRequest2.idl\
ErrorCodeRequest.idl\
ErrorCodeIOException.idl\
FutureDocumentVersionProductUpdateRequest.idl\
@@ -66,6 +68,7 @@ IDLFILES=\
XInteractionAskLater.idl\
XInteractionDisapprove.idl\
XInteractionPassword.idl\
+ XInteractionPassword2.idl\
XJob.idl\
XJobExecutor.idl\
XJobListener.idl\
diff --git a/sal/inc/rtl/locale.h b/sal/inc/rtl/locale.h
index aaab61770..5306da225 100644
--- a/sal/inc/rtl/locale.h
+++ b/sal/inc/rtl/locale.h
@@ -49,7 +49,7 @@ extern "C" {
typedef struct _rtl_Locale
{
/**
- Lowercase two-letter ISO-639 code.
+ Lowercase two-letter ISO 639-1 or three-letter ISO 639-3 code.
*/
rtl_uString * Language;
/**
@@ -72,7 +72,7 @@ typedef struct _rtl_Locale
/**
Register a locale from language, country and variant.
- @param language lowercase two-letter ISO-639 code.
+ @param language lowercase two-letter ISO 639-1 or three-letter ISO 639-3 code.
@param country uppercase two-letter ISO-3166 code. May be null.
@param variant vendor and browser specific code. May be null.
*/
@@ -95,7 +95,7 @@ rtl_Locale * SAL_CALL rtl_locale_getDefault();
Sets the default.
Normally set once at the beginning of applet or application,
then never reset. <code>setDefault</code> does not reset the host locale.
- @param language lowercase two-letter ISO-639 code.
+ @param language lowercase two-letter ISO 639-1 or three-letter ISO 639-3 code.
@param country uppercase two-letter ISO-3166 code.
@param variant vendor and browser specific code. See class description.
*/
@@ -103,7 +103,7 @@ void SAL_CALL rtl_locale_setDefault( const sal_Unicode * language, const sal_Uni
/**
Getter for programmatic name of field,
- an lowercased two-letter ISO-639 code.
+ a lowercased two-letter ISO 639-1 or three-letter ISO 639-3 code.
@see #getDisplayLanguage
*/
rtl_uString * SAL_CALL rtl_locale_getLanguage( rtl_Locale * This );
diff --git a/sal/osl/unx/nlsupport.c b/sal/osl/unx/nlsupport.c
index f6d0b4a16..3cce0e6b0 100644
--- a/sal/osl/unx/nlsupport.c
+++ b/sal/osl/unx/nlsupport.c
@@ -105,7 +105,8 @@ _pair_search (const char *key, const _pair *base, unsigned int member )
static char * _compose_locale( rtl_Locale * pLocale, char * buffer, size_t n )
{
/* check if a valid locale is specified */
- if( pLocale && pLocale->Language && (pLocale->Language->length == 2) )
+ if( pLocale && pLocale->Language &&
+ (pLocale->Language->length == 2 || pLocale->Language->length == 3) )
{
size_t offset = 0;
@@ -193,16 +194,20 @@ static rtl_Locale * _parse_locale( const char * locale )
rtl_Locale * ret;
+ /* language is a two or three letter code */
+ if( (len > 3 && '_' == locale[3]) || (len == 3 && '_' != locale[2]) )
+ offset = 3;
+
/* convert language code to unicode */
- rtl_string2UString( &pLanguage, locale, 2, RTL_TEXTENCODING_ASCII_US, OSTRING_TO_OUSTRING_CVTFLAGS );
+ rtl_string2UString( &pLanguage, locale, offset, RTL_TEXTENCODING_ASCII_US, OSTRING_TO_OUSTRING_CVTFLAGS );
OSL_ASSERT(pLanguage != NULL);
/* convert country code to unicode */
- if( len >= 5 && '_' == locale[2] )
+ if( len >= offset+3 && '_' == locale[offset] )
{
- rtl_string2UString( &pCountry, locale + 3, 2, RTL_TEXTENCODING_ASCII_US, OSTRING_TO_OUSTRING_CVTFLAGS );
+ rtl_string2UString( &pCountry, locale + offset + 1, 2, RTL_TEXTENCODING_ASCII_US, OSTRING_TO_OUSTRING_CVTFLAGS );
OSL_ASSERT(pCountry != NULL);
- offset = 5;
+ offset += 3;
}
/* convert variant code to unicode - do not rely on "." as delimiter */
diff --git a/sal/systools/win32/uwinapi/DllMain.cpp b/sal/systools/win32/uwinapi/DllMain.cpp
index 4f39cfdd8..789604853 100644
--- a/sal/systools/win32/uwinapi/DllMain.cpp
+++ b/sal/systools/win32/uwinapi/DllMain.cpp
@@ -223,14 +223,13 @@ extern "C" BOOL WINAPI DllMain( HMODULE hModule, DWORD dwReason, LPVOID )
{
case DLL_PROCESS_ATTACH:
UWINAPI_BaseAddress = hModule;
+#ifdef __MINGW32__
+ return TRUE;
+#else
return DisableThreadLibraryCalls( hModule );
+#endif
default:
return TRUE;
}
}
-
-
-
-
-
diff --git a/sal/systools/win32/uwinapi/sntprintf.c b/sal/systools/win32/uwinapi/sntprintf.c
index fa0d96e64..a256812ad 100644
--- a/sal/systools/win32/uwinapi/sntprintf.c
+++ b/sal/systools/win32/uwinapi/sntprintf.c
@@ -10,7 +10,7 @@
#pragma warning(disable:4273) // inconsistent dll linkage
#endif
-#if _MSC_VER < 1300
+#if (defined(_MSC_VER) && (_MSC_VER < 1300)) || (defined(__MINGW32_VERSION) && ((__MINGW32_MAJOR_VERSION < 3)||((__MINGW32_MAJOR_VERSION == 3)&&(__MINGW32_MINOR_VERSION < 18))))
/* The non-debug versions of _vscprintf/_scprintf are just calls
to _vsprintf/_sprintf with string buffer pointer set to NULL,