instsetoo_native/util/makefile.mk                       |   45 ++++++++++-----
 instsetoo_native/util/openoffice.lst                    |   48 ++++++++++++++++
 scp2/source/ooo/scpaction_ooo.scp                       |    4 +
 scp2/source/sdkoo/sdkoo.scp                             |    6 +-
 setup_native/prj/d.lst                                  |    6 ++
 setup_native/source/mac/ooo/DS_Store_Beta               |binary
 setup_native/source/mac/ooo/DS_Store_Langpack_Beta      |binary
 setup_native/source/mac/ooo/osxdndinstall.png           |binary
 setup_native/source/mac/ooo/osxdndinstall_beta.png      |binary
 setup_native/source/mac/ooo/osxdndinstall_lang.png      |binary
 setup_native/source/mac/ooo/osxdndinstall_lang_beta.png |binary
 setup_native/source/mac/sdk/DS_Store_SDK_Beta           |binary
 setup_native/source/mac/sdk/osxdndinstall_sdk.png       |binary
 setup_native/source/mac/sdk/osxdndinstall_sdk_beta.png  |binary
 solenv/bin/make_installer.pl                            |    7 ++
 solenv/bin/modules/installer/globals.pm                 |    1 
 solenv/bin/modules/installer/scriptitems.pm             |   30 ++++++++++
 solenv/bin/modules/installer/systemactions.pm           |    2 
 solenv/inc/minor.mk                                     |    6 +-
 vcl/aqua/source/gdi/ctlayout.cxx                        |   47 +++++++++------
 20 files changed, 162 insertions(+), 40 deletions(-)

New commits:
commit 28c209b62358e8ecce8c4063a84db8e377aa57f8
Author: Jürgen Schmidt <j...@apache.org>
Date:   Thu Feb 27 14:54:22 2014 +0000

    #124311# merge from AOO410 branch

diff --git a/instsetoo_native/util/makefile.mk 
b/instsetoo_native/util/makefile.mk
index 9ff42ba..2577150 100644
--- a/instsetoo_native/util/makefile.mk
+++ b/instsetoo_native/util/makefile.mk
@@ -25,7 +25,7 @@ TARGET=util
 
 .INCLUDE:  settings.mk
 .INCLUDE: $(SOLARINCDIR)$/rtlbootstrap.mk
-.INCLUDE: $(SOLARENVINC)$/version.mk
+#.INCLUDE: $(SOLARENVINC)$/version.mk
 
 # watch for the path delimiter
 .IF "$(GUI)"=="WNT"
@@ -80,9 +80,11 @@ help .PHONY :
     @echo "    openofficedev          devloper snapshot"
     @echo "    openofficewithjre"
     @echo "    ooolanguagepack"
+    @echo "    ooobetalanguagepack"
     @echo "    ooodevlanguagepack"
-    @echo "    sdkoo"
-    @echo "    sdkoodev"
+    @echo "    sdkoo                  builds the developer SDK package"
+    @echo "    sdkoobeta              like sdkoo but with 'Beta' appended to 
the product name"
+    @echo "    sdkoodev               builds the developer snapshot of the SDK"
     @echo "    openofficebeta         like openoffice but with 'Beta' appended 
to product name"
     @echo 
     @echo "experimental targets:"
@@ -182,11 +184,13 @@ openoffice:
 # Add dependencies of basic targets on language specific targets.
 openoffice: $(foreach,i,$(alllangiso) openoffice_$i)
 openofficedev: $(foreach,i,$(alllangiso) openofficedev_$i)
-beta: $(foreach,i,$(alllangiso) beta_$i)
+openofficebeta: $(foreach,i,$(alllangiso) openofficebeta_$i)
 openofficewithjre: $(foreach,i,$(alllangiso) openofficewithjre_$i)
 ooolanguagepack : $(foreach,i,$(alllangiso) ooolanguagepack_$i)
+ooobetalanguagepack : $(foreach,i,$(alllangiso) ooobetalanguagepack_$i)
 ooodevlanguagepack: $(foreach,i,$(alllangiso) ooodevlanguagepack_$i)
 sdkoo: $(foreach,i,$(alllangiso) sdkoo_$i)
+sdkoobeta: $(foreach,i,$(alllangiso) sdkoobeta_$i)
 sdkoodev: $(foreach,i,$(alllangiso) sdkoodev_$i)
 patch-create: $(foreach,i,$(alllangiso) patch-create_$i)
 
@@ -218,11 +222,13 @@ updatepack : local_python_files
 $(foreach,i,$(alllangiso) openoffice_$i) : adddeps
 openoffice_$(defaultlangiso).archive : adddeps
 $(foreach,i,$(alllangiso) openofficedev_$i) : adddeps
-$(foreach,i,$(alllangiso) beta_$i) : adddeps $(BETA_LOGO_SPLASH)
+$(foreach,i,$(alllangiso) openofficebeta_$i) : adddeps $(BETA_LOGO_SPLASH)
 $(foreach,i,$(alllangiso) openofficewithjre_$i) : adddeps
 $(foreach,i,$(alllangiso) ooolanguagepack_$i) : adddeps
+$(foreach,i,$(alllangiso) ooobetalanguagepack_$i) : adddeps
 $(foreach,i,$(alllangiso) ooodevlanguagepack_$i) : adddeps
 $(foreach,i,$(alllangiso) sdkoo_$i) : adddeps
+$(foreach,i,$(alllangiso) sdkoobeta_$i) : adddeps
 $(foreach,i,$(alllangiso) sdkoodev_$i) : adddeps
 
 # Create targets that take the package formats into account.  Together with 
language dependency we
@@ -232,10 +238,12 @@ $(foreach,i,$(alllangiso) sdkoodev_$i) : adddeps
 $(foreach,i,$(alllangiso) openoffice_$i) : $$@{$(PKGFORMAT:^".")}
 $(foreach,i,$(alllangiso) openofficewithjre_$i) : $$@{$(PKGFORMAT:^".")}
 $(foreach,i,$(alllangiso) openofficedev_$i) : $$@{$(PKGFORMAT:^".")}
-$(foreach,i,$(alllangiso) beta_$i) : $$@{$(PKGFORMAT:^".")}
+$(foreach,i,$(alllangiso) openofficebeta_$i) : $$@{$(PKGFORMAT:^".")}
 $(foreach,i,$(alllangiso) ooolanguagepack_$i) : $$@{$(PKGFORMAT:^".")}
+$(foreach,i,$(alllangiso) ooobetalanguagepack_$i) : $$@{$(PKGFORMAT:^".")}
 $(foreach,i,$(alllangiso) ooodevlanguagepack_$i) : $$@{$(PKGFORMAT:^".")}
 $(foreach,i,$(alllangiso) sdkoo_$i) : $$@{$(PKGFORMAT:^".")}
+$(foreach,i,$(alllangiso) sdkoobeta_$i) : $$@{$(PKGFORMAT:^".")}
 $(foreach,i,$(alllangiso) sdkoodev_$i) : $$@{$(PKGFORMAT:^".")}
 $(foreach,i,$(alllangiso) patch-create_$i) : $$@{$(PKGFORMAT:^".")}
 
@@ -287,7 +295,7 @@ $(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) 
openofficedev_$L.$P)) .
         $(PRJ)$/util$/update.xml               \
         > $(MISC)/$(@:b)_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
 
-$(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) beta_$L.$P)) .PHONY :
+$(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) 
openofficebeta_$L.$P)) .PHONY :
     $(MAKE_INSTALLER_COMMAND)          \
         -p Apache_OpenOffice_Beta      \
         -msitemplate $(MSIOFFICETEMPLATEDIR)
@@ -303,6 +311,13 @@ $(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) 
ooolanguagepack_$L.$P))
         -msitemplate $(MSILANGPACKTEMPLATEDIR) \
         -languagepack
 
+#ooobetalanguagepack_%{$(PKGFORMAT:^".")} :
+$(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) 
ooobetalanguagepack_$L.$P)) .PHONY :
+    $(MAKE_INSTALLER_COMMAND)                  \
+        -p Apache_OpenOffice_Beta                      \
+        -msitemplate $(MSILANGPACKTEMPLATEDIR) \
+        -languagepack
+
 #ooodevlanguagepack_%{$(PKGFORMAT:^".")} :
 $(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) 
ooodevlanguagepack_$L.$P)) .PHONY :
     $(MAKE_INSTALLER_COMMAND) -p Apache_OpenOffice_Dev -msitemplate 
$(MSILANGPACKTEMPLATEDIR) -languagepack
@@ -311,6 +326,10 @@ $(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) 
ooodevlanguagepack_$L.$
 $(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) sdkoo_$L.$P)) .PHONY :
     $(MAKE_INSTALLER_COMMAND) -p Apache_OpenOffice_SDK -msitemplate 
$(MSISDKOOTEMPLATEDIR) -dontstrip
 
+#sdkoobeta_%{$(PKGFORMAT:^".")} :
+$(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) sdkoobeta_$L.$P)) 
.PHONY :
+    $(MAKE_INSTALLER_COMMAND) -p Apache_OpenOffice_Beta_SDK -msitemplate 
$(MSISDKOOTEMPLATEDIR) -dontstrip
+
 #sdkoodev_%{$(PKGFORMAT:^".")} :
 $(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) sdkoodev_$L.$P)) 
.PHONY :
     $(MAKE_INSTALLER_COMMAND) -p Apache_OpenOffice_Dev_SDK -msitemplate 
$(MSISDKOOTEMPLATEDIR) -dontstrip
@@ -332,9 +351,9 @@ $(BIN)$/beta$/intro.zip : 
$(SOLARCOMMONPCKDIR)$/openoffice_beta$/intro.zip
     $(COPY) $< $@
 
 # Replace framework/res/*.png with *-beta.png
-$(BIN)$/beta$/images.zip : $(SOLARSHAREDBIN)$/images.zip
+$(BIN)$/beta$/images.zip : $(SOLARBINDIR)$/images.zip
     $(COPY) $< $@
-    $(SOLARENV)$/bin/replace_in_zip.pl \
+    $(PERL) $(SOLARENV)$/bin/replace_in_zip.pl \
         $@                             \
         framework/res/                 \
         $(SRC_ROOT)/default_images/framework/res/beta/ \
@@ -346,7 +365,7 @@ $(BIN)$/beta$/images.zip : $(SOLARSHAREDBIN)$/images.zip
 .IF "$(OS)" == "WNT"
 $(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) patch-create_$L.$P)) 
.PHONY :
     @echo building $@
-    perl -I $(SOLARENV)$/bin/modules $(SOLARENV)$/bin$/patch_tool.pl   \
+    $(PERL) -I $(SOLARENV)$/bin/modules $(SOLARENV)$/bin$/patch_tool.pl        
\
         create                                                         \
         --product-name Apache_OpenOffice                               \
         --output-path $(OUT)                                           \
@@ -355,7 +374,7 @@ $(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) 
patch-create_$L.$P)) .P
         --language $(subst,$(@:s/_/ /:1)_, $(@:b))                     \
         --package-format $(@:e:s/.//)
 patch-apply .PHONY :
-    perl -I $(SOLARENV)$/bin/modules $(SOLARENV)$/bin$/patch_tool.pl   \
+    $(PERL) -I $(SOLARENV)$/bin/modules $(SOLARENV)$/bin$/patch_tool.pl        
\
         apply                                                          \
         --product-name Apache_OpenOffice                               \
         --output-path $(OUT)                                           \
@@ -363,7 +382,7 @@ patch-apply .PHONY :
         --language en-US                                               \
         --package-format msi
 patch-update-releases-xml .PHONY:
-    perl -I $(SOLARENV)$/bin/modules $(SOLARENV)$/bin$/patch_tool.pl   \
+    $(PERL) -I $(SOLARENV)$/bin/modules $(SOLARENV)$/bin$/patch_tool.pl        
\
         update-releases-xml                                            \
         --product-name Apache_OpenOffice                               \
         --output-path $(OUT)                                           \
@@ -371,7 +390,7 @@ patch-update-releases-xml .PHONY:
         --target-version 4.0.1
 $(foreach,P,$(PACKAGE_FORMATS) $(foreach,L,$(alllangiso) patch-check_$L.$P)) 
.PHONY :
     @echo building $@
-    perl -I $(SOLARENV)$/bin/modules $(SOLARENV)$/bin$/patch_tool.pl   \
+    $(PERL) -I $(SOLARENV)$/bin/modules $(SOLARENV)$/bin$/patch_tool.pl        
\
         check                                                          \
         --product-name Apache_OpenOffice                               \
         --output-path $(OUT)                                           \
diff --git a/instsetoo_native/util/openoffice.lst 
b/instsetoo_native/util/openoffice.lst
index 82af5e7..6621328 100644
--- a/instsetoo_native/util/openoffice.lst
+++ b/instsetoo_native/util/openoffice.lst
@@ -249,6 +249,7 @@ Apache_OpenOffice_SDK
         {
             FULLPRODUCTNAME Apache OpenOffice
             PRODUCTNAME OpenOffice
+                       PRODUCTDIRNAME OpenOffice_SDK
             PRODUCTVERSION 4.1.0
             PRODUCTEXTENSION
             LONG_PRODUCTEXTENSION
@@ -287,6 +288,53 @@ Apache_OpenOffice_SDK
     }
 }
 
+Apache_OpenOffice_Beta_SDK
+{
+    Settings
+    {
+        downloadname 
Apache_OpenOffice-Beta-SDK_{packageversion}_{os}_install_{languages}
+        variables
+        {
+            FULLPRODUCTNAME Apache OpenOffice Beta
+            PRODUCTNAME OpenOffice Beta
+            PRODUCTDIRNAME OpenOffice_SDK_Beta
+            PRODUCTVERSION 4.1.0
+            PRODUCTEXTENSION
+            SHORT_PRODUCTEXTENSION
+            POSTVERSIONEXTENSION SDK
+            POSTVERSIONEXTENSIONUNIX sdk
+            BRANDPACKAGEVERSION 4
+            PACKAGEVERSION 4.1.0
+            PACKAGEREVISION {milestone}
+            PACK_INSTALLED 1
+            POOLPRODUCT 0
+            DMG_VOLUMEEXTENSION SDK
+            DATABASENAME openofficeorg410betasdk
+            NO_README_IN_ROOTDIR 1
+            LICENSENAME ALv2
+            IGNOREDIRECTORYLAYER 1
+            NOSPACEINDIRECTORYNAME 1
+            NOLANGUAGESELECTIONPRODUCT 1
+            CHANGETARGETDIR 1
+            DOWNLOADBANNER ooosdkbanner.bmp
+            DOWNLOADBITMAP ooosdkbitmap.bmp
+            DOWNLOADSETUPICO ooosetup.ico
+            DONTUSESTARTMENUFOLDER 1
+            RELATIVE_PATHES_IN_DDF 1
+            AOODOWNLOADNAMEPREFIX Apache_OpenOffice-Beta-SDK
+            STARTCENTER_ADDFEATURE_URL http://extensions.openoffice.org/
+            STARTCENTER_INFO_URL http://www.openoffice.org
+            STARTCENTER_TEMPLREP_URL http://templates.openoffice.org
+            STARTCENTER_LAYOUT_STYLE 0
+            DICT_REPO_URL http://extensions.openoffice.org/dictionaries
+        }
+        active 1
+        compression 5
+        script sdkoo
+        include 
{solarenvpath}/{os}/loader2,{solarpath}/bin.{minor}/sdkoo,{solarpath}/bin.{minor}/osl,{solarpath}/bin.{minor},{solarpath}/lib.{minor},{solarenvpath}/{os}/MS
+    }
+}
+
 Apache_OpenOffice_Dev_SDK
 {
     Settings
diff --git a/scp2/source/ooo/scpaction_ooo.scp 
b/scp2/source/ooo/scpaction_ooo.scp
old mode 100755
new mode 100644
index bb62a8f..f923c54
--- a/scp2/source/ooo/scpaction_ooo.scp
+++ b/scp2/source/ooo/scpaction_ooo.scp
@@ -319,6 +319,8 @@ End
 ScpAction scp_Copy_Dmg_Background_Image
     Copy = "osxdndinstall.png";
     LangPackCopy = "osxdndinstall_lang.png";
+    BetaCopy = "osxdndinstall_beta.png";
+    LangBetaCopy = "osxdndinstall_lang_beta.png";
        Name = "background.png";
     UnixRights = 444;
     Styles = (FORCELANGUAGEPACK);
@@ -329,6 +331,8 @@ ScpAction scp_Copy_Ds_Store
     Copy = "DS_Store";
     DevCopy = "DS_Store_Dev";
     LangPackCopy = "DS_Store_Langpack";
+    BetaCopy = "DS_Store_Beta";
+    LangBetaCopy = "DS_Store_Langpack_Beta";
     PatchCopy = "DS_Store_Patch";
     Name = ".DS_Store";
     UnixRights = 444;
diff --git a/scp2/source/sdkoo/sdkoo.scp b/scp2/source/sdkoo/sdkoo.scp
index 0fa752e..98ae32d 100644
--- a/scp2/source/sdkoo/sdkoo.scp
+++ b/scp2/source/sdkoo/sdkoo.scp
@@ -60,7 +60,8 @@ End
 Directory gid_Dir_Basis_Sdk
 #if defined MACOSX
     ParentID = PREDEFINED_PROGDIR;
-    DosName = "OpenOffice_SDK";
+#    DosName = "OpenOffice_SDK";
+    DosName = "${PRODUCTDIRNAME}";
 #else
     ParentID = gid_Dir_OpenOffice_Sdk;
     DosName = "sdk";
@@ -217,6 +218,7 @@ End
 #ifdef MACOSX
 ScpAction scp_Copy_Dmg_Background_Image
     Copy = "osxdndinstall_sdk.png";
+    BetaCopy = "osxdndinstall_sdk_beta.png";
     Name = "background.png";
     UnixRights = 444;
     Styles = ();
@@ -225,7 +227,7 @@ End
 
 ScpAction scp_Copy_Ds_Store
     Copy = "DS_Store_SDK";
-#    PatchCopy = "DS_Store_Patch";
+    BetaCopy = "DS_Store_SDK_Beta";
     Name = ".DS_Store";
     UnixRights = 444;
     Styles = ();
diff --git a/setup_native/prj/d.lst b/setup_native/prj/d.lst
old mode 100755
new mode 100644
index 98f2da6..b3acf57
--- a/setup_native/prj/d.lst
+++ b/setup_native/prj/d.lst
@@ -33,12 +33,18 @@ mkdir: %_DEST%\bin%_EXT%\osolsmf
 ..\source\mac\Info.plist.langpack %_DEST%\bin%_EXT%\Info.plist.langpack
 ..\source\mac\ooo\osxdndinstall.png %_DEST%\bin%_EXT%\osl\osxdndinstall.png
 ..\source\mac\ooo\osxdndinstall_lang.png 
%_DEST%\bin%_EXT%\osl\osxdndinstall_lang.png
+..\source\mac\ooo\osxdndinstall_beta.png 
%_DEST%\bin%_EXT%\osl\osxdndinstall_beta.png
+..\source\mac\ooo\osxdndinstall_lang_beta.png 
%_DEST%\bin%_EXT%\osl\osxdndinstall_lang_beta.png
 ..\source\mac\ooo\osxdndinstall_nologo.png 
%_DEST%\bin%_EXT%\osl\osxdndinstall_nologo.png
 ..\source\mac\ooo\DS_Store %_DEST%\bin%_EXT%\osl\DS_Store
+..\source\mac\ooo\DS_Store_Beta %_DEST%\bin%_EXT%\osl\DS_Store_Beta
 ..\source\mac\ooo\DS_Store_Dev %_DEST%\bin%_EXT%\osl\DS_Store_Dev
 ..\source\mac\ooo\DS_Store_Langpack %_DEST%\bin%_EXT%\osl\DS_Store_Langpack
+..\source\mac\ooo\DS_Store_Langpack_Beta 
%_DEST%\bin%_EXT%\osl\DS_Store_Langpack_Beta
 ..\source\mac\sdk\DS_Store_SDK %_DEST%\bin%_EXT%\osl\DS_Store_SDK
+..\source\mac\sdk\DS_Store_SDK_Beta %_DEST%\bin%_EXT%\osl\DS_Store_SDK_Beta
 ..\source\mac\sdk\osxdndinstall_sdk.png 
%_DEST%\bin%_EXT%\osl\osxdndinstall_sdk.png
+..\source\mac\sdk\osxdndinstall_sdk_beta.png 
%_DEST%\bin%_EXT%\osl\osxdndinstall_sdk_beta.png
 ..\source\java\openofficeorg_setup.gif %_DEST%\bin%_EXT%\osl\Setup.gif
 ..\source\java\javaversion.dat %_DEST%\bin%_EXT%\javaversion.dat
 ..\source\java\javaversion2.dat %_DEST%\bin%_EXT%\javaversion2.dat
diff --git a/setup_native/source/mac/ooo/DS_Store_Beta 
b/setup_native/source/mac/ooo/DS_Store_Beta
new file mode 100644
index 0000000..eb9de2d
Binary files /dev/null and b/setup_native/source/mac/ooo/DS_Store_Beta differ
diff --git a/setup_native/source/mac/ooo/DS_Store_Langpack_Beta 
b/setup_native/source/mac/ooo/DS_Store_Langpack_Beta
new file mode 100644
index 0000000..f87003d
Binary files /dev/null and b/setup_native/source/mac/ooo/DS_Store_Langpack_Beta 
differ
diff --git a/setup_native/source/mac/ooo/osxdndinstall.png 
b/setup_native/source/mac/ooo/osxdndinstall.png
index c7a594b..3c9b2db 100644
Binary files a/setup_native/source/mac/ooo/osxdndinstall.png and 
b/setup_native/source/mac/ooo/osxdndinstall.png differ
diff --git a/setup_native/source/mac/ooo/osxdndinstall_beta.png 
b/setup_native/source/mac/ooo/osxdndinstall_beta.png
new file mode 100644
index 0000000..57efb1c
Binary files /dev/null and b/setup_native/source/mac/ooo/osxdndinstall_beta.png 
differ
diff --git a/setup_native/source/mac/ooo/osxdndinstall_lang.png 
b/setup_native/source/mac/ooo/osxdndinstall_lang.png
index c82b215..5d58c3a 100644
Binary files a/setup_native/source/mac/ooo/osxdndinstall_lang.png and 
b/setup_native/source/mac/ooo/osxdndinstall_lang.png differ
diff --git a/setup_native/source/mac/ooo/osxdndinstall_lang_beta.png 
b/setup_native/source/mac/ooo/osxdndinstall_lang_beta.png
new file mode 100644
index 0000000..332d9f3
Binary files /dev/null and 
b/setup_native/source/mac/ooo/osxdndinstall_lang_beta.png differ
diff --git a/setup_native/source/mac/sdk/DS_Store_SDK_Beta 
b/setup_native/source/mac/sdk/DS_Store_SDK_Beta
new file mode 100644
index 0000000..c231d3e
Binary files /dev/null and b/setup_native/source/mac/sdk/DS_Store_SDK_Beta 
differ
diff --git a/setup_native/source/mac/sdk/osxdndinstall_sdk.png 
b/setup_native/source/mac/sdk/osxdndinstall_sdk.png
old mode 100755
new mode 100644
index c82b215..5d58c3a
Binary files a/setup_native/source/mac/sdk/osxdndinstall_sdk.png and 
b/setup_native/source/mac/sdk/osxdndinstall_sdk.png differ
diff --git a/setup_native/source/mac/sdk/osxdndinstall_sdk_beta.png 
b/setup_native/source/mac/sdk/osxdndinstall_sdk_beta.png
new file mode 100644
index 0000000..332d9f3
Binary files /dev/null and 
b/setup_native/source/mac/sdk/osxdndinstall_sdk_beta.png differ
diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl
index eca442f..05c566d 100644
--- a/solenv/bin/make_installer.pl
+++ b/solenv/bin/make_installer.pl
@@ -1493,6 +1493,8 @@ if ( $installer::globals::iswindowsbuild ) { 
installer::control::read_encodingli
 ####################################################################
 if (($installer::globals::ismacdmgbuild) && ($installer::globals::product =~ 
/OpenOffice_Dev/)) { $installer::globals::devsnapshotbuild = 1; }
 
+if (($installer::globals::ismacdmgbuild) && ($installer::globals::product =~ 
/Apache_OpenOffice_Beta/)) { $installer::globals::betabuild = 1; }
+
 #####################################################################
 # Including additional inc files for variable settings, if defined
 #####################################################################
@@ -1576,7 +1578,10 @@ if (( ! $allvariableshashref->{'XPDINSTALLER'} ) || ( ! 
$installer::globals::isx
 
 if ( $installer::globals::languagepack ) { 
installer::scriptitems::use_langpack_copy_scpaction($scpactionsinproductarrayref);
 }
 if ( $installer::globals::patch ) { 
installer::scriptitems::use_patch_copy_scpaction($scpactionsinproductarrayref); 
}
-if (($installer::globals::devsnapshotbuild)) { 
installer::scriptitems::use_dev_copy_scpaction($scpactionsinproductarrayref); }
+if ($installer::globals::devsnapshotbuild) { 
installer::scriptitems::use_dev_copy_scpaction($scpactionsinproductarrayref); }
+if ($installer::globals::betabuild) { 
installer::scriptitems::use_beta_copy_scpaction($scpactionsinproductarrayref); }
+
+if ($installer::globals::betabuild && $installer::globals::languagepack) { 
installer::scriptitems::use_langbeta_copy_scpaction($scpactionsinproductarrayref);
 }
 
 # $scpactionsinproductarrayref = 
installer::scriptitems::remove_scpactions_without_name($scpactionsinproductarrayref);
 
diff --git a/solenv/bin/modules/installer/globals.pm 
b/solenv/bin/modules/installer/globals.pm
index 0afa9af..e9cf323 100644
--- a/solenv/bin/modules/installer/globals.pm
+++ b/solenv/bin/modules/installer/globals.pm
@@ -334,6 +334,7 @@ BEGIN
     $addchildprojects = 0;
     $languagepack = 0;
     $devsnapshotbuild = 0;
+    $betabuild = 0;
     $tab = 0;
     $patch = 0;
     $patchincludepath = "";
diff --git a/solenv/bin/modules/installer/scriptitems.pm 
b/solenv/bin/modules/installer/scriptitems.pm
index 74bf937..a874daa 100644
--- a/solenv/bin/modules/installer/scriptitems.pm
+++ b/solenv/bin/modules/installer/scriptitems.pm
@@ -763,6 +763,36 @@ sub use_patch_hostname
 }
 
 
################################################################################
+# Using beta copy action for beta builds
+################################################################################
+
+sub use_beta_copy_scpaction
+{
+    my ($scpactionsref) = @_;
+
+    for ( my $i = 0; $i <= $#{$scpactionsref}; $i++ )
+    {
+        my $onescpaction = ${$scpactionsref}[$i];
+        if (( $onescpaction->{'BetaCopy'} ) && ( $onescpaction->{'BetaCopy'} 
ne "" )) { $onescpaction->{'Copy'} = $onescpaction->{'BetaCopy'}; }
+    }
+}
+
+################################################################################
+# Using langpack beta copy action for language packs
+################################################################################
+
+sub use_langbeta_copy_scpaction
+{
+    my ($scpactionsref) = @_;
+
+    for ( my $i = 0; $i <= $#{$scpactionsref}; $i++ )
+    {
+        my $onescpaction = ${$scpactionsref}[$i];
+        if (( $onescpaction->{'LangBetaCopy'} ) && ( 
$onescpaction->{'LangBetaCopy'} ne "" )) { $onescpaction->{'Copy'} = 
$onescpaction->{'LangBetaCopy'}; }
+    }
+}
+
+################################################################################
 # Using langpack copy action for language packs
 
################################################################################
 
diff --git a/solenv/bin/modules/installer/systemactions.pm 
b/solenv/bin/modules/installer/systemactions.pm
index a492f37..d857ba7 100644
--- a/solenv/bin/modules/installer/systemactions.pm
+++ b/solenv/bin/modules/installer/systemactions.pm
@@ -490,7 +490,7 @@ sub copy_one_file
     }
     else
     {
-        $infoline = "ERROR: Could not copy $source to $dest\n";
+        $infoline = "ERROR: Could not copy #$source# to $dest\n";
         $returnvalue = 0;
     }
 
diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk
index 2278b56..0a775ca 100644
--- a/solenv/inc/minor.mk
+++ b/solenv/inc/minor.mk
@@ -19,7 +19,7 @@
 #
 # *************************************************************
 RSCVERSION=410
-RSCREVISION=410m1(Build:9750)
-BUILD=9750
-LAST_MINOR=m1
+RSCREVISION=410m14(Build:9760)
+BUILD=9760
+LAST_MINOR=m14
 SOURCEVERSION=AOO410
commit 9581d8a5a9de55f5fe6736ab1c9cea481bfcf2bc
Author: Herbert Dürr <h...@apache.org>
Date:   Thu Feb 27 14:17:27 2014 +0000

    #i124233# fix CoreText measurements/justification of text with trailing 
spaces

diff --git a/vcl/aqua/source/gdi/ctlayout.cxx b/vcl/aqua/source/gdi/ctlayout.cxx
index cfc8442..88b912f 100644
--- a/vcl/aqua/source/gdi/ctlayout.cxx
+++ b/vcl/aqua/source/gdi/ctlayout.cxx
@@ -19,9 +19,6 @@
  *
  *************************************************************/
 
-//#include "salgdi.hxx"
-#include "tools/debug.hxx"
-
 #include "ctfonts.hxx"
 
 // =======================================================================
@@ -62,7 +59,8 @@ private:
     CTLineRef mpCTLine;
 
     int mnCharCount;        // ==mnEndCharPos-mnMinCharPos
-    int mnTrailingSpaces;
+    int mnTrailingSpaceCount;
+    double mfTrailingSpaceWidth;    // preserves the width of stripped-off 
trailing space
 
     // to prevent overflows
     // font requests get size limited by downscaling huge fonts
@@ -85,7 +83,8 @@ CTLayout::CTLayout( const CTTextStyle* pTextStyle )
 ,   mpAttrString( NULL )
 ,   mpCTLine( NULL )
 ,   mnCharCount( 0 )
-,   mnTrailingSpaces( 0 )
+,   mnTrailingSpaceCount( 0 )
+,   mfTrailingSpaceWidth( 0.0 )
 ,   mfFontScale( pTextStyle->mfFontScale )
 ,   mfCachedWidth( -1 )
 ,   mnBaseAdv( 0 )
@@ -129,9 +128,10 @@ bool CTLayout::LayoutText( ImplLayoutArgs& rArgs )
     CFRelease( aCFText);
 
     // get info about trailing whitespace to prepare for text justification in 
AdjustLayout()
-    mnTrailingSpaces = 0;
-    for( int i = mnEndCharPos; --i >= mnMinCharPos; ++mnTrailingSpaces )
-        if( !IsSpacingGlyph( rArgs.mpStr[i] | GF_ISCHAR ))
+    mnTrailingSpaceCount = 0;
+    for( int i = mnEndCharPos; --i >= mnMinCharPos; ++mnTrailingSpaceCount )
+        if( !IsSpacingGlyph( rArgs.mpStr[i] | GF_ISCHAR )
+        &&  (rArgs.mpStr[i] != 0x00A0) )
             break;
     return true;
 }
@@ -143,8 +143,6 @@ void CTLayout::AdjustLayout( ImplLayoutArgs& rArgs )
     if( !mpCTLine)
         return;
 
-    const DynCoreTextSyms& rCT = DynCoreTextSyms::get();
-
     int nPixelWidth = rArgs.mnLayoutWidth;
     if( rArgs.mpDXArray )
     {
@@ -152,9 +150,11 @@ void CTLayout::AdjustLayout( ImplLayoutArgs& rArgs )
         // TODO: use all mpDXArray elements for layouting
         nPixelWidth = rArgs.mpDXArray[ mnCharCount-1 ];
     }
+    else if( !nPixelWidth ) // short-circuit if there is nothing to adjust
+        return;
 
     // short-circuit when justifying an all-whitespace string
-    if( mnTrailingSpaces >= mnCharCount)
+    if( mnTrailingSpaceCount >= mnCharCount)
     {
         mfCachedWidth = nPixelWidth / mfFontScale;
         return;
@@ -173,24 +173,26 @@ void CTLayout::AdjustLayout( ImplLayoutArgs& rArgs )
     // if the text to be justified has whitespace in it then
     // - Writer goes crazy with its HalfSpace magic
     // - CoreText handles spaces specially (in particular at the text end)
-    if( mnTrailingSpaces ) {
+    if( mnTrailingSpaceCount ) {
         int nTrailingSpaceWidth = 0;
         if( rArgs.mpDXArray) {
             const int nFullPixWidth = nPixelWidth;
-            nPixelWidth = rArgs.mpDXArray[ mnCharCount-1-mnTrailingSpaces ];
+            nPixelWidth = rArgs.mpDXArray[ mnCharCount-1-mnTrailingSpaceCount 
];
             nTrailingSpaceWidth = nFullPixWidth - nPixelWidth;
+            mfTrailingSpaceWidth = nTrailingSpaceWidth;
         } else {
-            const double fTrailingSpaceWidth = 
rCT.LineGetTrailingWhitespaceWidth( mpCTLine );
-            nTrailingSpaceWidth = rint(fTrailingSpaceWidth);
+            if( mfTrailingSpaceWidth <= 0.0 )
+                mfTrailingSpaceWidth = CTLineGetTrailingWhitespaceWidth( 
mpCTLine );
+            nTrailingSpaceWidth = rint( mfTrailingSpaceWidth );
+            nPixelWidth -= nTrailingSpaceWidth;
         }
-        nPixelWidth -= nTrailingSpaceWidth;
         if( nPixelWidth <= 0 )
             return;
 
         // recreate the CoreText line layout without trailing spaces
         CFRelease( mpCTLine );
         CFStringRef aCFText = CFStringCreateWithCharactersNoCopy( NULL, 
rArgs.mpStr + mnMinCharPos,
-            mnCharCount - mnTrailingSpaces, kCFAllocatorNull );
+            mnCharCount - mnTrailingSpaceCount, kCFAllocatorNull );
         CFAttributedStringRef pAttrStr = CFAttributedStringCreate( NULL, 
aCFText, mpTextStyle->GetStyleDict() );
         mpCTLine = CTLineCreateWithAttributedString( pAttrStr );
         CFRelease( aCFText);
@@ -203,7 +205,7 @@ void CTLayout::AdjustLayout( ImplLayoutArgs& rArgs )
     }
 
     const double fAdjustedWidth = nPixelWidth / mfFontScale;
-    CTLineRef pNewCTLine = rCT.LineCreateJustifiedLine( mpCTLine, 1.0, 
fAdjustedWidth );
+    CTLineRef pNewCTLine = CTLineCreateJustifiedLine( mpCTLine, 1.0, 
fAdjustedWidth );
     if( !pNewCTLine ) { // CTLineCreateJustifiedLine can and does fail
         // handle failure by keeping the unjustified layout
         // TODO: a better solution such as
@@ -214,7 +216,7 @@ void CTLayout::AdjustLayout( ImplLayoutArgs& rArgs )
     }
     CFRelease( mpCTLine );
     mpCTLine = pNewCTLine;
-    mfCachedWidth = fAdjustedWidth;
+    mfCachedWidth = fAdjustedWidth + mfTrailingSpaceWidth;
 }
 
 // -----------------------------------------------------------------------
@@ -384,7 +386,12 @@ long CTLayout::FillDXArray( sal_Int32* pDXArray ) const
     if( pDXArray ) {
         // prepare the sub-pixel accurate logical-width array
         ::std::vector<float> aWidthVector( mnCharCount );
-        // handle each glyph run
+        if( mnTrailingSpaceCount && (mfTrailingSpaceWidth > 0.0) ) {
+            const double fOneWidth = mfTrailingSpaceWidth / 
mnTrailingSpaceCount;
+            for( int i = 1; i <= mnTrailingSpaceCount; ++i)
+                aWidthVector[ mnCharCount - i ] = fOneWidth;
+        }
+        // measure advances in each glyph run
         CFArrayRef aGlyphRuns = CTLineGetGlyphRuns( mpCTLine );
         const int nRunCount = CFArrayGetCount( aGlyphRuns );
         typedef std::vector<CGSize> CGSizeVector;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to