android/qa/desktop/Makefile | 20 +++++++++++++++++++- sal/osl/unx/pipe.c | 42 +++++++++++++++++++++++++++++++++++++++--- vcl/source/window/msgbox.cxx | 8 +++++++- 3 files changed, 65 insertions(+), 5 deletions(-)
New commits: commit e384f241554a1157137b6121a064f75308b2ba10 Author: Michael Meeks <[email protected]> Date: Mon Jan 23 22:02:43 2012 +0000 android: get dummy user-install 'presets' setup to please first-run diff --git a/android/qa/desktop/Makefile b/android/qa/desktop/Makefile index 63399d7..eae96e0 100644 --- a/android/qa/desktop/Makefile +++ b/android/qa/desktop/Makefile @@ -43,7 +43,7 @@ buildrcs: echo 'CONFIGURATION_LAYERS=xcsxcu:$${BRAND_BASE_DIR}/share/registry module:$${BRAND_BASE_DIR}/share/registry/modules res:$${BRAND_BASE_DIR}/share/registry user:$${$$BRAND_BASE_DIR/program/bootstraprc:UserInstallation}/user/registrymodifications.xcu' >> assets/program/fundamentalrc echo 'URE_BIN_DIR=file:///assets/ure/bin/dir/not-here/can-we/exec-anyway' >> assets/program/fundamentalrc echo 'URE_MORE_TYPES=file:///assets/ure/share/misc/types.rdb file:///assets/program/types/types.rdb' >> assets/program/fundamentalrc - echo 'URE_MORE_SERVICES=file:///assets/ure/share/misc/services.rdb file:///assets/program/services/services.rdb <$$ORIGIN/services>*' >> assets/program/fundamentalrc + echo 'URE_MORE_SERVICES=file:///assets/ure/share/misc/services.rdb file:///assets/program/services/services.rdb <$$BRAND_BASE_DIR/program/services>*' >> assets/program/fundamentalrc # unorc ini ... echo "[Bootstrap]" > assets/program/unorc echo "URE_INTERNAL_LIB_DIR=file://$(APP_DATA_PATH)/lib/" >> assets/program/unorc @@ -53,7 +53,7 @@ buildrcs: echo "[Bootstrap]" > assets/program/bootstraprc echo "InstallMode=<installmode>" >> assets/program/bootstraprc echo "ProductKey=LibreOffice 3.5" >> assets/program/bootstraprc - echo "UserInstallation=file://$(APP_DATA_PATH)=/data/data/$(APP_PACKAGE)/files/.libreoffice" >> assets/program/bootstraprc + echo "UserInstallation=file://$(APP_DATA_PATH)/files/.libreoffice" >> assets/program/bootstraprc copy-stuff: buildrcs # @@ -177,6 +177,16 @@ copy-stuff: buildrcs cp -R $(OUTDIR)/bin/images_tango.zip assets/share/config/images.zip # .res files cp $(OUTDIR)/bin/*en-US.res assets/program/resource/ +# presets - becomes the users home directory + mkdir -p assets/presets/autocorr + mkdir -p assets/presets/autotext + mkdir -p assets/presets/backup + mkdir -p assets/presets/basic + mkdir -p assets/presets/config + mkdir -p assets/presets/gallery + mkdir -p assets/presets/psprint + mkdir -p assets/presets/template + mkdir -p assets/presets/wordbook # Then assets that are unpacked at run-time into the app's data directory. mkdir -p assets/unpack/etc/fonts cp fonts.conf assets/unpack/etc/fonts commit 6ce3dc5165cdc1328ae0dd877d183fc688b43299 Author: Michael Meeks <[email protected]> Date: Mon Jan 23 21:16:37 2012 +0000 vcl: early crash => no ucb => no images.zip => unhandled exception, caught. diff --git a/vcl/source/window/msgbox.cxx b/vcl/source/window/msgbox.cxx index 042c629..b42136c 100644 --- a/vcl/source/window/msgbox.cxx +++ b/vcl/source/window/msgbox.cxx @@ -573,7 +573,13 @@ ErrorBox::ErrorBox( Window* pParent, const ResId& rResId ) : Image ErrorBox::GetStandardImage() { - ImplInitMsgBoxImageList(); + try { + ImplInitMsgBoxImageList(); + } catch (const ::com::sun::star::uno::Exception &e) { + // During early bootstrap we can have no initialized + // ucb and hence no ability to get this image, so nop. + return Image(); + } return ImplGetSVData()->maWinData.mpMsgBoxImgList->GetImage( 1 ); } commit d83eb4b9ff792080f3c0012f7e0b59ed3c8639ce Author: Michael Meeks <[email protected]> Date: Mon Jan 23 21:09:48 2012 +0000 android: get osl_Pipe creation sorted out, before we kill it. use new OSL_SOCKET_PATH bootstrap variable to customise this. diff --git a/android/qa/desktop/Makefile b/android/qa/desktop/Makefile index 0076b6f..63399d7 100644 --- a/android/qa/desktop/Makefile +++ b/android/qa/desktop/Makefile @@ -33,6 +33,8 @@ buildrcs: echo "Logo=1" >> assets/program/lofficerc echo "NativeProgress=1" >> assets/program/lofficerc echo "URE_BOOTSTRAP=file:///assets/program/fundamentalrc" >> assets/program/lofficerc + echo "RTL_LOGFILE=file:///dev/log/main" >> assets/program/lofficerc + echo "OSL_SOCKET_PATH=$(APP_DATA_PATH)/files" >> assets/program/lofficerc # fundamentalrc ini ... echo "[Bootstrap]" > assets/program/fundamentalrc echo "LO_LIB_DIR=file://$(APP_DATA_PATH)/lib/" >> assets/program/fundamentalrc diff --git a/sal/osl/unx/pipe.c b/sal/osl/unx/pipe.c index 6deac99..fd472fa 100644 --- a/sal/osl/unx/pipe.c +++ b/sal/osl/unx/pipe.c @@ -32,6 +32,9 @@ #include <osl/diagnose.h> #include <osl/thread.h> #include <osl/interlck.h> +#include <rtl/string.h> +#include <rtl/ustring.h> +#include <rtl/bootstrap.h> #include "sockimpl.h" @@ -158,8 +161,38 @@ oslPipe SAL_CALL osl_createPipe(rtl_uString *ustrPipeName, oslPipeOptions Option } +static sal_Bool +cpyBootstrapSocketPath(sal_Char *name, size_t len) +{ + sal_Bool bRet = sal_False; + rtl_uString *pName = 0, *pValue = 0; + + rtl_uString_newFromAscii(&pName, "OSL_SOCKET_PATH"); + + if (rtl_bootstrap_get(pName, &pValue, NULL)) + { + rtl_String *pStrValue = 0; + if (pValue && pValue->length > 0) + { + rtl_uString2String(&pStrValue, pValue->buffer, + pValue->length, RTL_TEXTENCODING_UTF8, + OUSTRING_TO_OSTRING_CVTFLAGS); + if (pStrValue && pStrValue->length > 0) + { + size_t nCopy = SAL_MIN (len-1, (size_t)pStrValue->length); + strncpy (name, pStrValue->buffer, nCopy); + name[nCopy] = '\0'; + bRet = (size_t)pStrValue->length < len; + } + rtl_string_release(pStrValue); + } + rtl_uString_release(pName); + } + return bRet; +} + oslPipe SAL_CALL osl_psz_createPipe(const sal_Char *pszPipeName, oslPipeOptions Options, - oslSecurity Security) + oslSecurity Security) { int Flags; size_t len; @@ -174,10 +207,14 @@ oslPipe SAL_CALL osl_psz_createPipe(const sal_Char *pszPipeName, oslPipeOptions { strncpy(name, PIPEDEFAULTPATH, sizeof(name)); } - else + else if (access(PIPEALTERNATEPATH, R_OK|W_OK) == 0) { strncpy(name, PIPEALTERNATEPATH, sizeof(name)); } + else if (!cpyBootstrapSocketPath (name, sizeof (name))) + { + return NULL; + } name[sizeof(name) - 1] = '\0'; // ensure the string is NULL-terminated nNameLength = strlen(name); bNameTooLong = nNameLength > sizeof(name) - 2; @@ -600,5 +637,4 @@ sal_Int32 SAL_CALL osl_readPipe( oslPipe pPipe, void *pBuffer , sal_Int32 n ) return BytesRead; } - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 90f6080e6b27278fd3f50b0e96aa0df328d6b07d Author: Michael Meeks <[email protected]> Date: Mon Jan 23 20:00:17 2012 +0000 android: add package2 and create bootstraprc diff --git a/android/qa/desktop/Makefile b/android/qa/desktop/Makefile index 2d55786..0076b6f 100644 --- a/android/qa/desktop/Makefile +++ b/android/qa/desktop/Makefile @@ -47,6 +47,11 @@ buildrcs: echo "URE_INTERNAL_LIB_DIR=file://$(APP_DATA_PATH)/lib/" >> assets/program/unorc echo 'UNO_TYPES=file:///assets/ure/share/misc/types.rdb file:///assets/program/types/types.rdb $${URE_MORE_TYPES}' >> assets/program/unorc echo 'UNO_SERVICES=file:///assets/ure/share/misc/services.rdb file:///assets/program/services/services.rdb $${URE_MORE_SERVICES}' >> assets/program/unorc +# bootstraprc ini ... + echo "[Bootstrap]" > assets/program/bootstraprc + echo "InstallMode=<installmode>" >> assets/program/bootstraprc + echo "ProductKey=LibreOffice 3.5" >> assets/program/bootstraprc + echo "UserInstallation=file://$(APP_DATA_PATH)=/data/data/$(APP_PACKAGE)/files/.libreoffice" >> assets/program/bootstraprc copy-stuff: buildrcs # @@ -111,6 +116,7 @@ copy-stuff: buildrcs mergedlo \ msfilterlo \ ooxlo \ + package2 \ reg \ saxlo \ sblo \ _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
