desktop/source/app/app.cxx                                                   | 
   6 
 drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx                   | 
   4 
 include/toolkit/helper/formpdfexport.hxx                                     | 
   3 
 include/unotools/componentresmodule.hxx                                      | 
   2 
 include/vbahelper/vbahelper.hxx                                              | 
   2 
 include/vbahelper/vbashape.hxx                                               | 
   4 
 include/vcl/mnemonicengine.hxx                                               | 
   2 
 include/vcl/quickselectionengine.hxx                                         | 
   2 
 include/vcl/settings.hxx                                                     | 
   2 
 include/vcl/threadex.hxx                                                     | 
   4 
 include/xmloff/XMLShapeStyleContext.hxx                                      | 
   3 
 ios/CustomTarget_TiledLibreOffice_app.mk                                     | 
   4 
 ios/experimental/TiledLibreOffice/TiledLibreOffice.xcodeproj/project.pbxproj | 
 262 ++-
 oox/source/export/drawingml.cxx                                              | 
  17 
 oox/source/token/properties.txt                                              | 
   1 
 oox/source/vml/vmlshape.cxx                                                  | 
  27 
 sal/osl/unx/security.cxx                                                     | 
  19 
 svx/source/tbxctrls/SvxColorValueSet.cxx                                     | 
   4 
 svx/uiconfig/ui/compressgraphicdialog.ui                                     | 
 698 ++++------
 sw/qa/extras/inc/swmodeltestbase.hxx                                         | 
  27 
 sw/qa/extras/odfimport/data/fdo81223.odt                                     
|binary
 sw/qa/extras/odfimport/odfimport.cxx                                         | 
  10 
 sw/qa/extras/ooxmlexport/data/bnc884615-mso-position.docx                    
|binary
 sw/qa/extras/ooxmlexport/data/rot270-flipv.docx                              
|binary
 sw/qa/extras/ooxmlexport/ooxmlexport.cxx                                     | 
  48 
 sw/qa/extras/ooxmlexport/ooxmlexport2.cxx                                    | 
  13 
 sw/source/core/doc/DocumentStylePoolManager.cxx                              | 
   2 
 sw/source/core/unocore/unoframe.cxx                                          | 
   7 
 sw/source/filter/ww8/docxattributeoutput.cxx                                 | 
 183 +-
 sw/source/filter/ww8/ww8atr.cxx                                              | 
  16 
 toolkit/source/helper/formpdfexport.cxx                                      | 
  85 -
 vbahelper/source/msforms/vbacombobox.hxx                                     | 
   2 
 vbahelper/source/msforms/vbacontrol.cxx                                      | 
   4 
 vbahelper/source/msforms/vbacontrol.hxx                                      | 
   2 
 vbahelper/source/msforms/vbalistbox.hxx                                      | 
   4 
 vcl/inc/textlayout.hxx                                                       | 
   2 
 vcl/osx/DataFlavorMapping.hxx                                                | 
   2 
 vcl/osx/DragSource.cxx                                                       | 
   2 
 vcl/source/app/settings.cxx                                                  | 
  11 
 vcl/source/window/dockingarea.cxx                                            | 
  17 
 vcl/source/window/toolbox.cxx                                                | 
   9 
 vcl/win/source/app/saltimer.cxx                                              | 
   2 
 xmloff/source/draw/XMLShapeStyleContext.cxx                                  | 
  15 
 43 files changed, 899 insertions(+), 630 deletions(-)

New commits:
commit 4c23ff3c18bc89b12ee59d1769037f01cc6ef683
Author: Adolfo Jayme Barrientos <[email protected]>
Date:   Sun Sep 28 04:20:22 2014 -0500

    Rework the Compress Image dialog
    
    * Switch to an horizontal layout
    * Drop the expander and make file info always visible at the right side
    * Resizing didn’t make sense when the expander was there, still doesn’t
    * Sentence capitalization for radio buttons and check boxes, see HIG
    * Add it a title!
    * Make it modal
    
    Change-Id: I08215b122bd9466c33fdc93e3c007f4aaf47b4e5
    Reviewed-on: https://gerrit.libreoffice.org/11671
    Reviewed-by: Samuel Mehrbrodt <[email protected]>
    Tested-by: Samuel Mehrbrodt <[email protected]>

diff --git a/svx/uiconfig/ui/compressgraphicdialog.ui 
b/svx/uiconfig/ui/compressgraphicdialog.ui
index bcc9fde..c2fd63e 100644
--- a/svx/uiconfig/ui/compressgraphicdialog.ui
+++ b/svx/uiconfig/ui/compressgraphicdialog.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.16.1 -->
+<!-- Generated with glade 3.18.3 -->
 <interface>
   <requires lib="gtk+" version="3.0"/>
   <object class="GtkAdjustment" id="compression-adjustment">
@@ -53,6 +53,9 @@
   <object class="GtkDialog" id="CompressGraphicDialog">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
+    <property name="title" translatable="yes">Compress Image</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox1">
@@ -120,23 +123,345 @@
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="hexpand">True</property>
-            <property name="orientation">vertical</property>
             <property name="spacing">12</property>
             <child>
-              <object class="GtkExpander" id="expander1">
+              <object class="GtkFrame" id="frame2">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="expanded">True</property>
+                <property name="can_focus">False</property>
+                <property name="label_xalign">0</property>
+                <property name="shadow_type">none</property>
+                <child>
+                  <object class="GtkAlignment" id="alignment1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="top_padding">6</property>
+                    <property name="left_padding">12</property>
+                    <child>
+                      <object class="GtkGrid" id="grid2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
+                        <property name="row_spacing">6</property>
+                        <property name="column_spacing">12</property>
+                        <child>
+                          <object class="GtkRadioButton" id="radio-lossless">
+                            <property name="label" translatable="yes">Lossless 
compression</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">2</property>
+                            <property name="width">3</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkCheckButton" 
id="checkbox-reduce-resolution">
+                            <property name="label" translatable="yes">Reduce 
image resolution</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="xalign">0</property>
+                            <property name="draw_indicator">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">4</property>
+                            <property name="width">3</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label3">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="margin_left">12</property>
+                            <property name="hexpand">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" 
translatable="yes">Width:</property>
+                            <property name="use_underline">True</property>
+                            <property 
name="mnemonic_widget">spin-new-width</property>
+                            <property name="width_chars">15</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">5</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkSpinButton" id="spin-new-width">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property 
name="adjustment">width-adjustment</property>
+                            <property name="numeric">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">5</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label4">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="margin_left">12</property>
+                            <property name="hexpand">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" 
translatable="yes">Height:</property>
+                            <property name="use_underline">True</property>
+                            <property 
name="mnemonic_widget">spin-new-height</property>
+                            <property name="width_chars">15</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">6</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkRadioButton" id="radio-jpeg">
+                            <property name="label" translatable="yes">JPEG 
compression</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="xalign">0</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">radio-lossless</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">3</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label5">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="margin_left">12</property>
+                            <property name="hexpand">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" 
translatable="yes">Resolution:</property>
+                            <property name="use_underline">True</property>
+                            <property 
name="mnemonic_widget">combo-resolution</property>
+                            <property name="width_chars">15</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">7</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkSpinButton" id="spin-new-height">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property 
name="adjustment">height-adjustment</property>
+                            <property name="numeric">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">6</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkComboBoxText" 
id="combo-resolution">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="has_entry">True</property>
+                            <items>
+                              <item>50</item>
+                              <item>75</item>
+                              <item>96</item>
+                              <item>150</item>
+                              <item>200</item>
+                              <item>300</item>
+                              <item>600</item>
+                            </items>
+                            <child internal-child="entry">
+                              <object class="GtkEntry" id="comboboxtext-entry">
+                                <property name="can_focus">False</property>
+                                <property name="invisible_char">•</property>
+                              </object>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">7</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label6">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="margin_left">12</property>
+                            <property name="hexpand">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" 
translatable="yes">Quality:</property>
+                            <property name="use_underline">True</property>
+                            <property 
name="mnemonic_widget">spin-quality</property>
+                            <property name="width_chars">15</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label11">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="margin_left">12</property>
+                            <property name="hexpand">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" 
translatable="yes">Compression:</property>
+                            <property name="use_underline">True</property>
+                            <property 
name="mnemonic_widget">spin-compression</property>
+                            <property name="width_chars">15</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">3</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkSpinButton" id="spin-quality">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="invisible_char">•</property>
+                            <property 
name="adjustment">quality-adjustment</property>
+                            <property name="numeric">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkSpinButton" id="spin-compression">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="invisible_char">•</property>
+                            <property 
name="adjustment">compression-adjustment</property>
+                            <property name="numeric">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">3</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label12">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="margin_left">12</property>
+                            <property name="hexpand">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" 
translatable="yes">Interpolation:</property>
+                            <property name="use_underline">True</property>
+                            <property 
name="mnemonic_widget">interpolation-method-combo</property>
+                            <property name="width_chars">15</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">8</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkComboBox" 
id="interpolation-method-combo">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property 
name="model">interpolation-method-store</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">8</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label13">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="xalign">0</property>
+                            <property name="label" 
translatable="yes">px</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">2</property>
+                            <property name="top_attach">5</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label14">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="xalign">0</property>
+                            <property name="label" 
translatable="yes">px</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">2</property>
+                            <property name="top_attach">6</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label16">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="xalign">0</property>
+                            <property name="label" 
translatable="yes">DPI</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">2</property>
+                            <property name="top_attach">7</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+                <child type="label">
+                  <object class="GtkLabel" id="label2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Compression 
Options</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkFrame" id="frame1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label_xalign">0</property>
+                <property name="shadow_type">none</property>
                 <child>
                   <object class="GtkAlignment" id="alignment2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="top_padding">6</property>
-                    <property name="left_padding">18</property>
+                    <property name="left_padding">12</property>
                     <child>
                       <object class="GtkGrid" id="grid1">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="valign">start</property>
                         <property name="row_spacing">6</property>
                         <property name="column_spacing">12</property>
                         <child>
@@ -144,15 +469,13 @@
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Original 
Size:</property>
+                            <property name="label" translatable="yes">Original 
size:</property>
                             <property name="width_chars">15</property>
                             <property name="single_line_mode">True</property>
                           </object>
                           <packing>
                             <property name="left_attach">0</property>
                             <property name="top_attach">1</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
                           </packing>
                         </child>
                         <child>
@@ -166,8 +489,6 @@
                           <packing>
                             <property name="left_attach">1</property>
                             <property name="top_attach">1</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
                           </packing>
                         </child>
                         <child>
@@ -175,14 +496,12 @@
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="xalign">0</property>
-                            <property name="label" translatable="yes">View 
Size:</property>
+                            <property name="label" translatable="yes">View 
size:</property>
                             <property name="width_chars">15</property>
                           </object>
                           <packing>
                             <property name="left_attach">0</property>
                             <property name="top_attach">2</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
                           </packing>
                         </child>
                         <child>
@@ -190,14 +509,12 @@
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Image 
Capacity:</property>
+                            <property name="label" translatable="yes">Image 
capacity:</property>
                             <property name="width_chars">15</property>
                           </object>
                           <packing>
                             <property name="left_attach">0</property>
                             <property name="top_attach">3</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
                           </packing>
                         </child>
                         <child>
@@ -205,14 +522,12 @@
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="xalign">0</property>
-                            <property name="label" translatable="yes">New 
Capacity:</property>
+                            <property name="label" translatable="yes">New 
capacity:</property>
                             <property name="width_chars">15</property>
                           </object>
                           <packing>
                             <property name="left_attach">0</property>
                             <property name="top_attach">4</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
                           </packing>
                         </child>
                         <child>
@@ -226,8 +541,6 @@
                           <packing>
                             <property name="left_attach">1</property>
                             <property name="top_attach">2</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
                           </packing>
                         </child>
                         <child>
@@ -241,8 +554,6 @@
                           <packing>
                             <property name="left_attach">1</property>
                             <property name="top_attach">3</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
                           </packing>
                         </child>
                         <child>
@@ -256,8 +567,6 @@
                           <packing>
                             <property name="left_attach">1</property>
                             <property name="top_attach">4</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
                           </packing>
                         </child>
                         <child>
@@ -271,8 +580,6 @@
                           <packing>
                             <property name="left_attach">1</property>
                             <property name="top_attach">5</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
                           </packing>
                         </child>
                         <child>
@@ -287,8 +594,6 @@
                           <packing>
                             <property name="left_attach">0</property>
                             <property name="top_attach">0</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
                           </packing>
                         </child>
                         <child>
@@ -302,8 +607,6 @@
                           <packing>
                             <property name="left_attach">1</property>
                             <property name="top_attach">0</property>
-                            <property name="width">1</property>
-                            <property name="height">1</property>
                           </packing>
                         </child>
                         <child>
@@ -318,340 +621,15 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="label" translatable="yes">Image 
Information</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
                   </object>
                 </child>
               </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkGrid" id="grid2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="hexpand">True</property>
-                <property name="row_spacing">6</property>
-                <property name="column_spacing">12</property>
-                <child>
-                  <object class="GtkRadioButton" id="radio-lossless">
-                    <property name="label" translatable="yes">Lossless 
Compression</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="xalign">0</property>
-                    <property name="active">True</property>
-                    <property name="draw_indicator">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">2</property>
-                    <property name="width">3</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkCheckButton" 
id="checkbox-reduce-resolution">
-                    <property name="label" translatable="yes">Reduce Image 
Resolution</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="xalign">0</property>
-                    <property name="draw_indicator">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">4</property>
-                    <property name="width">3</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="margin_left">12</property>
-                    <property name="hexpand">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Width:</property>
-                    <property name="use_underline">True</property>
-                    <property name="mnemonic_widget">spin-new-width</property>
-                    <property name="width_chars">15</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">5</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkSpinButton" id="spin-new-width">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="adjustment">width-adjustment</property>
-                    <property name="numeric">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">5</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label3">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="margin_left">12</property>
-                    <property name="hexpand">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" 
translatable="yes">Height:</property>
-                    <property name="use_underline">True</property>
-                    <property name="mnemonic_widget">spin-new-height</property>
-                    <property name="width_chars">15</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">6</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkRadioButton" id="radio-jpeg">
-                    <property name="label" translatable="yes">JPEG 
Compression</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="xalign">0</property>
-                    <property name="draw_indicator">True</property>
-                    <property name="group">radio-lossless</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">0</property>
-                    <property name="width">3</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label4">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="margin_left">12</property>
-                    <property name="hexpand">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" 
translatable="yes">Resolution:</property>
-                    <property name="use_underline">True</property>
-                    <property 
name="mnemonic_widget">combo-resolution</property>
-                    <property name="width_chars">15</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">7</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkSpinButton" id="spin-new-height">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="adjustment">height-adjustment</property>
-                    <property name="numeric">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">6</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBoxText" id="combo-resolution">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="has_entry">True</property>
-                    <items>
-                      <item>50</item>
-                      <item>75</item>
-                      <item>96</item>
-                      <item>150</item>
-                      <item>200</item>
-                      <item>300</item>
-                      <item>600</item>
-                    </items>
-                    <child internal-child="entry">
-                      <object class="GtkEntry" id="comboboxtext-entry">
-                        <property name="can_focus">False</property>
-                        <property name="invisible_char">•</property>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">7</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label6">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="margin_left">12</property>
-                    <property name="hexpand">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" 
translatable="yes">Quality:</property>
-                    <property name="use_underline">True</property>
-                    <property name="mnemonic_widget">spin-quality</property>
-                    <property name="width_chars">15</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">1</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label5">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="margin_left">12</property>
-                    <property name="hexpand">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" 
translatable="yes">Compression:</property>
-                    <property name="use_underline">True</property>
-                    <property 
name="mnemonic_widget">spin-compression</property>
-                    <property name="width_chars">15</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">3</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkSpinButton" id="spin-quality">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="invisible_char">•</property>
-                    <property name="adjustment">quality-adjustment</property>
-                    <property name="numeric">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">1</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkSpinButton" id="spin-compression">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="invisible_char">•</property>
-                    <property 
name="adjustment">compression-adjustment</property>
-                    <property name="numeric">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">3</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label11">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="margin_left">12</property>
-                    <property name="hexpand">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" 
translatable="yes">Interpolation:</property>
-                    <property name="use_underline">True</property>
-                    <property 
name="mnemonic_widget">interpolation-method-combo</property>
-                    <property name="width_chars">15</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">8</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="interpolation-method-combo">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property 
name="model">interpolation-method-store</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">8</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label12">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">px</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="top_attach">5</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label13">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">px</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="top_attach">6</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label14">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">DPI</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="top_attach">7</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
                 <property name="position">1</property>
               </packing>
             </child>
commit 826530854a776717dd1455913474892932d9b0f5
Author: Stephan Bergmann <[email protected]>
Date:   Mon Sep 29 21:12:57 2014 +0200

    vcl/osx: std::auto_ptr -> std::unique_ptr
    
    Change-Id: If54aaffc6d88569220c4f1747926aae3199946b8

diff --git a/vcl/osx/DataFlavorMapping.hxx b/vcl/osx/DataFlavorMapping.hxx
index 3bd4118..a3cff1c 100644
--- a/vcl/osx/DataFlavorMapping.hxx
+++ b/vcl/osx/DataFlavorMapping.hxx
@@ -52,7 +52,7 @@ public:
   virtual com::sun::star::uno::Any getOOoData() = 0;
 };
 
-typedef std::auto_ptr<DataProvider> DataProviderPtr_t;
+typedef std::unique_ptr<DataProvider> DataProviderPtr_t;
 
 class DataFlavorMapper
 {
diff --git a/vcl/osx/DragSource.cxx b/vcl/osx/DragSource.cxx
index 6435041..0231f12 100644
--- a/vcl/osx/DragSource.cxx
+++ b/vcl/osx/DragSource.cxx
@@ -234,7 +234,7 @@ void SAL_CALL DragSource::startDrag(const DragGestureEvent& 
trigger,
   m_MouseButton= mMouseEvent.Buttons;
   mXDragSrcListener = listener;
   mXCurrentContext = static_cast<XDragSourceContext*>(new DragSourceContext);
-  auto_ptr<AquaClipboard> clipb(new AquaClipboard(NULL, false));
+  unique_ptr<AquaClipboard> clipb(new AquaClipboard(NULL, false));
   g_XTransferable = transferable;
   clipb->setContents(g_XTransferable, uno::Reference<XClipboardOwner>());
   mDragSourceActions = sourceActions;
commit 9c88837f0d8e2f679d779ebb5128ac6e15f022b9
Author: Miklos Vajna <[email protected]>
Date:   Mon Sep 29 20:45:27 2014 +0200

    SwModelTestBase: allow validating only a subset of the test files
    
    Also, as a start, enable export validation for zoom.docx.
    
    Change-Id: I4620fbd516eeb4001770a4d69a89e7831566af92

diff --git a/sw/qa/extras/inc/swmodeltestbase.hxx 
b/sw/qa/extras/inc/swmodeltestbase.hxx
index e283bc3..2658f12 100644
--- a/sw/qa/extras/inc/swmodeltestbase.hxx
+++ b/sw/qa/extras/inc/swmodeltestbase.hxx
@@ -295,6 +295,14 @@ protected:
         return true;
     }
 
+    /**
+     * Override this function if validation is wanted
+     */
+    virtual bool mustValidate(const char* /*filename*/) const
+    {
+        return false;
+    }
+
 private:
     void dumpLayout()
     {
@@ -574,15 +582,18 @@ protected:
         xComponent->dispose();
         mbExported = true;
         mxComponent = loadFromDesktop(maTempFile.GetURL(), 
"com.sun.star.text.TextDocument");
-        if(aFilterName == "Office Open XML Text")
+        if (mustValidate(filename))
         {
-            // too many validation errors right now
-            // validate(maTempFile.GetFileName(), test::OOXML);
-        }
-        else if(aFilterName == "writer8")
-        {
-            // still a few validation errors
-            // validate(maTempFile.GetFileName(), test::ODF);
+            if(aFilterName == "Office Open XML Text")
+            {
+                // too many validation errors right now
+                validate(maTempFile.GetFileName(), test::OOXML);
+            }
+            else if(aFilterName == "writer8")
+            {
+                // still a few validation errors
+                validate(maTempFile.GetFileName(), test::ODF);
+            }
         }
 
         if (mpXmlBuffer)
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx
index 78fbb7e..32a63d5 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx
@@ -74,6 +74,19 @@ protected:
         // If the testcase is stored in some other format, it's pointless to 
test.
         return (OString(filename).endsWith(".docx") && 
std::find(vBlacklist.begin(), vBlacklist.end(), filename) == vBlacklist.end());
     }
+
+    /**
+     * Validation handling
+     */
+    bool mustValidate(const char* filename) const SAL_OVERRIDE
+    {
+        const char* aWhitelist[] = {
+            "zoom.docx"
+        };
+        std::vector<const char*> vWhitelist(aWhitelist, aWhitelist + 
SAL_N_ELEMENTS(aWhitelist));
+
+        return std::find(vWhitelist.begin(), vWhitelist.end(), filename) != 
vWhitelist.end();
+    }
 };
 
 #if !defined(WNT)
commit 2b2246bb164ae58a39843218dcbcc425e4c38803
Author: Julien Nabet <[email protected]>
Date:   Mon Sep 29 19:53:59 2014 +0200

    cppcheck: Prefer prefix ++/-- operators for non-primitive types
    
    Change-Id: I01999bc1283024bc4a1c380fd765a64b2da8a16a

diff --git a/svx/source/tbxctrls/SvxColorValueSet.cxx 
b/svx/source/tbxctrls/SvxColorValueSet.cxx
index cd98b5a..299dc4a 100644
--- a/svx/source/tbxctrls/SvxColorValueSet.cxx
+++ b/svx/source/tbxctrls/SvxColorValueSet.cxx
@@ -91,7 +91,7 @@ void SvxColorValueSet::loadColorVector(const 
std::vector<Color>& rColorVector, c
     if(rNamePrefix.getLength() != 0)
     {
         for(std::vector<Color>::const_iterator it = rColorVector.begin();
-            it != rColorVector.end(); it++, nStartIndex++)
+            it != rColorVector.end(); ++it, nStartIndex++)
         {
             InsertItem(nStartIndex, *it, rNamePrefix + 
OUString::number(nStartIndex));
         }
@@ -99,7 +99,7 @@ void SvxColorValueSet::loadColorVector(const 
std::vector<Color>& rColorVector, c
     else
     {
         for(std::vector<Color>::const_iterator it = rColorVector.begin();
-            it != rColorVector.end(); it++, nStartIndex++)
+            it != rColorVector.end(); ++it, nStartIndex++)
         {
             InsertItem(nStartIndex, *it, "");
         }
commit 0ed0974298992ae871a8fbe79f856cf2588aeec6
Author: Michael Jaumann <[email protected]>
Date:   Tue Sep 23 12:34:54 2014 +0000

    fdo#59299 Personas for bottom toolbars
    
    Change-Id: If823964bf3bb67563504db61b6c5d557cab89243
    Reviewed-on: https://gerrit.libreoffice.org/11609
    Reviewed-by: Samuel Mehrbrodt <[email protected]>
    Tested-by: Samuel Mehrbrodt <[email protected]>

diff --git a/include/vcl/settings.hxx b/include/vcl/settings.hxx
index 10ae6a6..fb16ee3 100644
--- a/include/vcl/settings.hxx
+++ b/include/vcl/settings.hxx
@@ -522,6 +522,8 @@ public:
 
     const BitmapEx                  GetPersonaHeader() const;
 
+    const BitmapEx                  GetPersonaFooter() const;
+
     const boost::optional<Color>&   GetPersonaMenuBarTextColor() const;
 
     // global switch to allow EdgeBlenging; currently possible for ValueSet 
and ListBox
diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx
index 184c3f1..a4fb97e 100644
--- a/vcl/source/app/settings.cxx
+++ b/vcl/source/app/settings.cxx
@@ -2116,8 +2116,9 @@ static void setupPersonaHeaderFooter( WhichPersona 
eWhich, OUString& rHeaderFoot
     OUString aPersona( officecfg::Office::Common::Misc::Persona::get( xContext 
) );
     OUString aPersonaSettings( 
officecfg::Office::Common::Misc::PersonaSettings::get( xContext ) );
 
-    // have the settings changed?
-    OUString aOldValue( aPersona + ";" + aPersonaSettings );
+    // have the settings changed? marks if header /footer prepared before
+    //should maybe extended to a flag that marks if header /footer /both are 
loaded
+    OUString  aOldValue= eWhich==PERSONA_HEADER?OUString(aPersona + ";" + 
aPersonaSettings+";h" ):OUString(aPersona + ";" + aPersonaSettings+";f" );
     if ( rHeaderFooter == aOldValue )
         return;
 
@@ -2186,6 +2187,12 @@ const BitmapEx StyleSettings::GetPersonaHeader() const
     return mpData->maPersonaHeaderBitmap;
 }
 
+const BitmapEx StyleSettings::GetPersonaFooter() const
+{
+    setupPersonaHeaderFooter( PERSONA_FOOTER, mpData->maPersonaHeaderFooter, 
mpData->maPersonaFooterBitmap, mpData->maPersonaMenuBarTextColor );
+    return mpData->maPersonaFooterBitmap;
+}
+
 const boost::optional<Color>& StyleSettings::GetPersonaMenuBarTextColor() const
 {
     GetPersonaHeader();
diff --git a/vcl/source/window/dockingarea.cxx 
b/vcl/source/window/dockingarea.cxx
index bda794b..6d6416d 100644
--- a/vcl/source/window/dockingarea.cxx
+++ b/vcl/source/window/dockingarea.cxx
@@ -46,12 +46,16 @@ DockingAreaWindow::ImplData::~ImplData()
 
 static void ImplInitBackground( DockingAreaWindow* pThis )
 {
-    const BitmapEx& rPersonaBitmap = 
Application::GetSettings().GetStyleSettings().GetPersonaHeader();
-    if ( !rPersonaBitmap.IsEmpty() && pThis->GetAlign() == WINDOWALIGN_TOP )
+    const StyleSettings rSetting = 
Application::GetSettings().GetStyleSettings();
+    const BitmapEx& rPersonaBitmap = pThis->GetAlign() == WINDOWALIGN_TOP ? 
rSetting.GetPersonaHeader() :rSetting.GetPersonaFooter();
+    if ( !rPersonaBitmap.IsEmpty() &&( pThis->GetAlign() == WINDOWALIGN_TOP|| 
pThis->GetAlign()==WINDOWALIGN_BOTTOM ) )
     {
         Wallpaper aWallpaper( rPersonaBitmap );
-        aWallpaper.SetStyle( WALLPAPER_TOPRIGHT );
-        aWallpaper.SetColor( 
Application::GetSettings().GetStyleSettings().GetWorkspaceColor() );
+        if(pThis->GetAlign()==WINDOWALIGN_TOP )
+            aWallpaper.SetStyle( WALLPAPER_TOPRIGHT );
+        else
+            aWallpaper.SetStyle( WALLPAPER_BOTTOMRIGHT );
+        aWallpaper.SetColor( rSetting.GetWorkspaceColor() );
 
         // we need to shift the bitmap vertically so that it spans over the
         // menubar conveniently
@@ -155,6 +159,7 @@ void DockingAreaWindow::Paint( const Rectangle& )
     if( IsNativeControlSupported( CTRL_TOOLBAR, PART_ENTIRE_CONTROL ) )
     {
         ToolbarValue        aControlValue;
+        const StyleSettings rSetting = 
Application::GetSettings().GetStyleSettings();
 
         if( GetAlign() == WINDOWALIGN_TOP && 
ImplGetSVData()->maNWFData.mbMenuBarDockingAreaCommonBG )
         {
@@ -162,9 +167,11 @@ void DockingAreaWindow::Paint( const Rectangle& )
             // useful for special gradient effects that should cover both 
windows
             aControlValue.mbIsTopDockingArea = true;
         }
+
         ControlState        nState = CTRL_STATE_ENABLED;
+        const bool isFooter = GetAlign() == WINDOWALIGN_BOTTOM && 
!rSetting.GetPersonaFooter().IsEmpty();
 
-        if ( GetAlign() == WINDOWALIGN_TOP && 
!Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() )
+        if (( GetAlign() == WINDOWALIGN_TOP && 
!rSetting.GetPersonaHeader().IsEmpty() ) || isFooter  )
             Erase();
         else if ( !ImplGetSVData()->maNWFData.mbDockingAreaSeparateTB )
         {
diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx
index c42f80f..b8ac59a 100644
--- a/vcl/source/window/toolbox.cxx
+++ b/vcl/source/window/toolbox.cxx
@@ -524,11 +524,12 @@ void ToolBox::ImplDrawBackground( ToolBox* pThis, const 
Rectangle &rRect )
         bool bNativeOk = false;
         if( pThis->ImplIsFloatingMode() && pThis->IsNativeControlSupported( 
CTRL_TOOLBAR, PART_ENTIRE_CONTROL) )
             bNativeOk = ImplDrawNativeBackground( pThis, aPaintRegion );
-
+        const StyleSettings rSetting = 
Application::GetSettings().GetStyleSettings();
         if( !bNativeOk )
         {
+            const bool isFooter = pThis->GetAlign() == WINDOWALIGN_BOTTOM && 
!rSetting.GetPersonaFooter().IsEmpty();
             if( !pThis->IsBackground() ||
-                ( pThis->GetAlign() == WINDOWALIGN_TOP && 
!Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) )
+                (( pThis->GetAlign() == WINDOWALIGN_TOP && ! 
rSetting.GetPersonaHeader().IsEmpty() ) || isFooter ) )
             {
                 if( !pThis->IsInPaint() )
                     ImplDrawTransparentBackground( pThis, aPaintRegion );
@@ -1468,9 +1469,11 @@ void ToolBox::ImplInitSettings( bool bFont,
         else
         {
             if( IsNativeControlSupported( CTRL_TOOLBAR, PART_ENTIRE_CONTROL ) 
||
-                ( GetAlign() == WINDOWALIGN_TOP && 
!Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) )
+                ( GetAlign() == WINDOWALIGN_TOP && 
!Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() )||
+                ( GetAlign() == WINDOWALIGN_BOTTOM && 
!Application::GetSettings().GetStyleSettings().GetPersonaFooter().IsEmpty()) )
             {
                 SetBackground();
+                SetTextColor(rStyleSettings.GetMenuBarTextColor());
                 SetPaintTransparent( true );
                 SetParentClipMode( PARENTCLIPMODE_NOCLIP );
                 mpData->maDisplayBackground = Wallpaper( 
rStyleSettings.GetFaceColor() );
commit e5bbc721d6bd5536bdd34f33fc79933a379f2919
Author: LuboÅ¡ Luňák <[email protected]>
Date:   Mon Sep 29 18:54:53 2014 +0200

    test for mso-position-(horizontal|vertical)(-relative) (bnc#884615)
    
    Change-Id: I692de6c6d3cf2b932ba96cd9978cf56f75b8cb3e

diff --git a/sw/qa/extras/ooxmlexport/data/bnc884615-mso-position.docx 
b/sw/qa/extras/ooxmlexport/data/bnc884615-mso-position.docx
new file mode 100644
index 0000000..2fb28ec
Binary files /dev/null and 
b/sw/qa/extras/ooxmlexport/data/bnc884615-mso-position.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
index fc12ff1..207970d 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
@@ -337,6 +337,43 @@ DECLARE_OOXMLEXPORT_TEST(testRot270Flipv, 
"rot270-flipv.docx")
     }
 }
 
+DECLARE_OOXMLEXPORT_TEST(testMsoPosition, "bnc884615-mso-position.docx")
+{
+    if(xmlDocPtr doc = parseExport("word/footer1.xml"))
+    {
+        // We write the frames out in different order than they were read, so 
check it's the correct
+        // textbox first by checking width. These tests may need reordering if 
that gets fixed.
+        OUString style1 = getXPath(doc, 
"/w:ftr/w:p/w:r[3]/mc:AlternateContent/mc:Fallback/w:pict/v:rect", "style");
+        CPPUNIT_ASSERT( style1.indexOf( ";width:531pt;" ) >= 0 );
+        CPPUNIT_ASSERT( style1.indexOf( ";mso-position-vertical-relative:page" 
) >= 0 );
+        CPPUNIT_ASSERT( style1.indexOf( 
";mso-position-horizontal-relative:page" ) >= 0 );
+        OUString style2 = getXPath(doc, 
"/w:ftr/w:p/w:r[4]/mc:AlternateContent/mc:Fallback/w:pict/v:rect", "style");
+        CPPUNIT_ASSERT( style2.indexOf( ";width:549pt;" ) >= 0 );
+        CPPUNIT_ASSERT( style2.indexOf( ";mso-position-vertical-relative:text" 
) >= 0 );
+        CPPUNIT_ASSERT( style2.indexOf( ";mso-position-horizontal:center" ) >= 
0 );
+        CPPUNIT_ASSERT( style2.indexOf( 
";mso-position-horizontal-relative:text" ) >= 0 );
+        OUString style3 = getXPath(doc, 
"/w:ftr/w:p/w:r[5]/mc:AlternateContent/mc:Fallback/w:pict/v:rect", "style");
+        CPPUNIT_ASSERT( style3.indexOf( ";width:36pt;" ) >= 0 );
+        CPPUNIT_ASSERT( style3.indexOf( 
";mso-position-horizontal-relative:text" ) >= 0 );
+        CPPUNIT_ASSERT( style3.indexOf( ";mso-position-vertical-relative:text" 
) >= 0 );
+    }
+    if(xmlDocPtr doc = parseExport("word/header1.xml"))
+    {
+        OUString style1 = getXPath(doc, 
"/w:hdr/w:p/w:r[2]/mc:AlternateContent/mc:Fallback/w:pict/v:rect", "style");
+        CPPUNIT_ASSERT( style1.indexOf( ";width:335.75pt;" ) >= 0 );
+        CPPUNIT_ASSERT( style1.indexOf( 
";mso-position-horizontal-relative:page" ) >= 0 );
+        CPPUNIT_ASSERT( style1.indexOf( ";mso-position-vertical-relative:page" 
) >= 0 );
+        OUString style2 = getXPath(doc, 
"/w:hdr/w:p/w:r[3]/mc:AlternateContent/mc:Fallback/w:pict/v:rect", "style");
+        CPPUNIT_ASSERT( style2.indexOf( ";width:138.15pt;" ) >= 0 );
+        CPPUNIT_ASSERT( style2.indexOf( 
";mso-position-horizontal-relative:page" ) >= 0 );
+        CPPUNIT_ASSERT( style2.indexOf( ";mso-position-vertical-relative:page" 
) >= 0 );
+        OUString style3 = getXPath(doc, 
"/w:hdr/w:p/w:r[4]/mc:AlternateContent/mc:Fallback/w:pict/v:rect", "style");
+        CPPUNIT_ASSERT( style3.indexOf( ";width:163.8pt;" ) >= 0 );
+        CPPUNIT_ASSERT( style3.indexOf( 
";mso-position-horizontal-relative:page" ) >= 0 );
+        CPPUNIT_ASSERT( style3.indexOf( ";mso-position-vertical-relative:page" 
) >= 0 );
+    }
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 16dba68cf1eff65b81fbc75d1138604acc8abd08
Author: LuboÅ¡ Luňák <[email protected]>
Date:   Mon Sep 29 18:53:44 2014 +0200

    map FRAME to VML's text
    
    Again, that's what this file does elsewhere, that's what (incomplete) import
    did before my changes, and it seems to match better the position that such
    an element gets in Word.
    
    Change-Id: Id09150eaaa505e6ddcd4baaf4a833000d52dd71d

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index 03ed125..f206acf 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -7320,9 +7320,9 @@ void DocxAttributeOutput::FormatVertOrientation( const 
SwFmtVertOrient& rFlyVert
         case text::RelOrientation::CHAR:
         case text::RelOrientation::PRINT_AREA:
         case text::RelOrientation::TEXT_LINE:
+        case text::RelOrientation::FRAME:
             sVAnchor = OString( "text" );
             break;
-        case text::RelOrientation::FRAME:
         case text::RelOrientation::PAGE_LEFT:
         case text::RelOrientation::PAGE_RIGHT:
         case text::RelOrientation::FRAME_LEFT:
@@ -7380,9 +7380,9 @@ void DocxAttributeOutput::FormatHorizOrientation( const 
SwFmtHoriOrient& rFlyHor
     {
         case text::RelOrientation::CHAR:
         case text::RelOrientation::PRINT_AREA:
+        case text::RelOrientation::FRAME:
             sHAnchor = OString( "text" );
             break;
-        case text::RelOrientation::FRAME:
         case text::RelOrientation::PAGE_LEFT:
         case text::RelOrientation::PAGE_RIGHT:
         case text::RelOrientation::FRAME_LEFT:
commit b3bee2b8f8603700751941477504c47286355c3a
Author: LuboÅ¡ Luňák <[email protected]>
Date:   Mon Sep 29 18:30:44 2014 +0200

    map PAGE_PRINT_AREA to VML's margin
    
    That's what the code does elsewhere in this file, and also import does it.
    
    Change-Id: I30e608f86a9cae66eed48dbb2e719b1455327ae3

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index 6b49cbf..03ed125 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -7327,10 +7327,10 @@ void DocxAttributeOutput::FormatVertOrientation( const 
SwFmtVertOrient& rFlyVert
         case text::RelOrientation::PAGE_RIGHT:
         case text::RelOrientation::FRAME_LEFT:
         case text::RelOrientation::FRAME_RIGHT:
+        case text::RelOrientation::PAGE_PRINT_AREA:
             sVAnchor = OString( "margin" );
             break;
         case text::RelOrientation::PAGE_FRAME:
-        case text::RelOrientation::PAGE_PRINT_AREA:
         default:
             break;
     }
@@ -7387,10 +7387,10 @@ void DocxAttributeOutput::FormatHorizOrientation( const 
SwFmtHoriOrient& rFlyHor
         case text::RelOrientation::PAGE_RIGHT:
         case text::RelOrientation::FRAME_LEFT:
         case text::RelOrientation::FRAME_RIGHT:
+        case text::RelOrientation::PAGE_PRINT_AREA:
             sHAnchor = OString( "margin" );
             break;
         case text::RelOrientation::PAGE_FRAME:
-        case text::RelOrientation::PAGE_PRINT_AREA:
         default:
             break;
     }
commit 6ceeb0df6987bb7f70423b473b31eec54526481d
Author: LuboÅ¡ Luňák <[email protected]>
Date:   Sun Sep 28 21:31:08 2014 +0200

    proper reading of mso-position-(horizontal|vertical)(-relative)
    
    Change-Id: I50f537c697f6e73c1fd150f3f03fc65b85ccbeaf

diff --git a/oox/source/token/properties.txt b/oox/source/token/properties.txt
index 90b8418..f1ef48b 100644
--- a/oox/source/token/properties.txt
+++ b/oox/source/token/properties.txt
@@ -339,6 +339,7 @@ OutputPosition
 OverlapSequence
 PageScale
 PageStyle
+PageToggle
 PageViewZoomValue
 PaintTransparent
 ParaAdjust
diff --git a/oox/source/vml/vmlshape.cxx b/oox/source/vml/vmlshape.cxx
index 7c5bc5c..1c826a1 100644
--- a/oox/source/vml/vmlshape.cxx
+++ b/oox/source/vml/vmlshape.cxx
@@ -473,12 +473,38 @@ void lcl_SetAnchorType(PropertySet& rPropSet, const 
ShapeTypeModel& rTypeModel)
 {
     if ( rTypeModel.maPositionHorizontal == "center" )
         rPropSet.setAnyProperty(PROP_HoriOrient, 
makeAny(text::HoriOrientation::CENTER));
+    else if ( rTypeModel.maPositionHorizontal == "left" )
+        rPropSet.setAnyProperty(PROP_HoriOrient, 
makeAny(text::HoriOrientation::LEFT));
+    else if ( rTypeModel.maPositionHorizontal == "right" )
+        rPropSet.setAnyProperty(PROP_HoriOrient, 
makeAny(text::HoriOrientation::RIGHT));
+    else if ( rTypeModel.maPositionHorizontal == "inside" )
+    {
+        rPropSet.setAnyProperty(PROP_HoriOrient, 
makeAny(text::HoriOrientation::LEFT));
+        rPropSet.setAnyProperty(PROP_PageToggle, makeAny(sal_True));
+    }
+    else if ( rTypeModel.maPositionHorizontal == "outside" )
+    {
+        rPropSet.setAnyProperty(PROP_HoriOrient, 
makeAny(text::HoriOrientation::RIGHT));
+        rPropSet.setAnyProperty(PROP_PageToggle, makeAny(sal_True));
+    }
 
     if ( rTypeModel.maPositionHorizontalRelative == "page" )
         rPropSet.setAnyProperty(PROP_HoriOrientRelation, 
makeAny(text::RelOrientation::PAGE_FRAME));
+    else if ( rTypeModel.maPositionVerticalRelative == "margin" )
+        rPropSet.setProperty(PROP_VertOrientRelation, 
text::RelOrientation::PAGE_PRINT_AREA);
+    else if ( rTypeModel.maPositionVerticalRelative == "text" )
+        rPropSet.setProperty(PROP_VertOrientRelation, 
text::RelOrientation::FRAME);
 
     if ( rTypeModel.maPositionVertical == "center" )
         rPropSet.setAnyProperty(PROP_VertOrient, 
makeAny(text::VertOrientation::CENTER));
+    else if ( rTypeModel.maPositionVertical == "top" )
+        rPropSet.setAnyProperty(PROP_VertOrient, 
makeAny(text::VertOrientation::TOP));
+    else if ( rTypeModel.maPositionVertical == "bottom" )
+        rPropSet.setAnyProperty(PROP_VertOrient, 
makeAny(text::VertOrientation::BOTTOM));
+    else if ( rTypeModel.maPositionVertical == "inside" )
+        rPropSet.setAnyProperty(PROP_VertOrient, 
makeAny(text::VertOrientation::LINE_TOP));
+    else if ( rTypeModel.maPositionVertical == "outside" )
+        rPropSet.setAnyProperty(PROP_VertOrient, 
makeAny(text::VertOrientation::LINE_BOTTOM));
 
     if ( rTypeModel.maPosition == "absolute" )
     {
@@ -495,7 +521,6 @@ void lcl_SetAnchorType(PropertySet& rPropSet, const 
ShapeTypeModel& rTypeModel)
         }
         else
         {
-            // Vertical placement relative to margin, because parent style 
must not modify vertical position
             rPropSet.setProperty(PROP_VertOrientRelation, 
text::RelOrientation::FRAME);
         }
     }
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index 8a1d84c..6b49cbf 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -7301,13 +7301,17 @@ void DocxAttributeOutput::FormatVertOrientation( const 
SwFmtVertOrient& rFlyVert
             sAlign = OString( "center" );
             break;
         case text::VertOrientation::BOTTOM:
-        case text::VertOrientation::LINE_BOTTOM:
             sAlign = OString( "bottom" );
             break;
+        case text::VertOrientation::LINE_BOTTOM:
+            sAlign = OString( "outside" );
+            break;
         case text::VertOrientation::TOP:
+            sAlign = OString( "top" );
+            break;
         case text::VertOrientation::LINE_TOP:
         default:
-            sAlign = OString( "top" );
+            sAlign = OString( "inside" );
             break;
     }
     OString sVAnchor( "page" );
commit 1424a8174eb37d26a2ec41a981a74f34661c0044
Author: LuboÅ¡ Luňák <[email protected]>
Date:   Sun Sep 28 21:14:02 2014 +0200

    export in .docx also vml mso-position-(horizontal|vertical)(-relative)
    
    Change-Id: I65321bb6244e0e37ef673d726b698c3708711d53

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index 0b703ad..8a1d84c 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -7291,121 +7291,123 @@ void DocxAttributeOutput::FormatSurround( const 
SwFmtSurround& rSurround )
 
 void DocxAttributeOutput::FormatVertOrientation( const SwFmtVertOrient& 
rFlyVert )
 {
+    OString sAlign;
+    switch( rFlyVert.GetVertOrient() )
+    {
+        case text::VertOrientation::NONE:
+            break;
+        case text::VertOrientation::CENTER:
+        case text::VertOrientation::LINE_CENTER:
+            sAlign = OString( "center" );
+            break;
+        case text::VertOrientation::BOTTOM:
+        case text::VertOrientation::LINE_BOTTOM:
+            sAlign = OString( "bottom" );
+            break;
+        case text::VertOrientation::TOP:
+        case text::VertOrientation::LINE_TOP:
+        default:
+            sAlign = OString( "top" );
+            break;
+    }
+    OString sVAnchor( "page" );
+    switch ( rFlyVert.GetRelationOrient( ) )
+    {
+        case text::RelOrientation::CHAR:
+        case text::RelOrientation::PRINT_AREA:
+        case text::RelOrientation::TEXT_LINE:
+            sVAnchor = OString( "text" );
+            break;
+        case text::RelOrientation::FRAME:
+        case text::RelOrientation::PAGE_LEFT:
+        case text::RelOrientation::PAGE_RIGHT:
+        case text::RelOrientation::FRAME_LEFT:
+        case text::RelOrientation::FRAME_RIGHT:
+            sVAnchor = OString( "margin" );
+            break;
+        case text::RelOrientation::PAGE_FRAME:
+        case text::RelOrientation::PAGE_PRINT_AREA:
+        default:
+            break;
+    }
+
     if (m_rExport.SdrExporter().getTextFrameSyntax())
     {
         
m_rExport.SdrExporter().getTextFrameStyle().append(";margin-top:").append(double(rFlyVert.GetPos())
 / 20).append("pt");
+        if ( !sAlign.isEmpty() )
+            
m_rExport.SdrExporter().getTextFrameStyle().append(";mso-position-vertical:").append(sAlign);
+        
m_rExport.SdrExporter().getTextFrameStyle().append(";mso-position-vertical-relative:").append(sVAnchor);
     }
     else if (m_rExport.SdrExporter().getDMLTextFrameSyntax())
     {
     }
     else if ( m_rExport.bOutFlyFrmAttrs )
     {
-        OString sAlign;
-        switch( rFlyVert.GetVertOrient() )
-        {
-            case text::VertOrientation::NONE:
-                break;
-            case text::VertOrientation::CENTER:
-            case text::VertOrientation::LINE_CENTER:
-                sAlign = OString( "center" );
-                break;
-            case text::VertOrientation::BOTTOM:
-            case text::VertOrientation::LINE_BOTTOM:
-                sAlign = OString( "bottom" );
-                break;
-            case text::VertOrientation::TOP:
-            case text::VertOrientation::LINE_TOP:
-            default:
-                sAlign = OString( "top" );
-                break;
-        }
-
         if ( !sAlign.isEmpty() )
             AddToAttrList( m_rExport.SdrExporter().getFlyAttrList(), FSNS( 
XML_w, XML_yAlign ), sAlign.getStr() );
         else
             AddToAttrList( m_rExport.SdrExporter().getFlyAttrList(), FSNS( 
XML_w, XML_y ),
                 OString::number( rFlyVert.GetPos() ).getStr() );
-
-        OString sVAnchor( "page" );
-        switch ( rFlyVert.GetRelationOrient( ) )
-        {
-            case text::RelOrientation::CHAR:
-            case text::RelOrientation::PRINT_AREA:
-            case text::RelOrientation::TEXT_LINE:
-                sVAnchor = OString( "text" );
-                break;
-            case text::RelOrientation::FRAME:
-            case text::RelOrientation::PAGE_LEFT:
-            case text::RelOrientation::PAGE_RIGHT:
-            case text::RelOrientation::FRAME_LEFT:
-            case text::RelOrientation::FRAME_RIGHT:
-                sVAnchor = OString( "margin" );
-                break;
-            case text::RelOrientation::PAGE_FRAME:
-            case text::RelOrientation::PAGE_PRINT_AREA:
-            default:
-                break;
-        }
-
         AddToAttrList( m_rExport.SdrExporter().getFlyAttrList(), FSNS( XML_w, 
XML_vAnchor ), sVAnchor.getStr() );
     }
 }
 
 void DocxAttributeOutput::FormatHorizOrientation( const SwFmtHoriOrient& 
rFlyHori )
 {
+    OString sAlign;
+    switch( rFlyHori.GetHoriOrient() )
+    {
+        case text::HoriOrientation::NONE:
+            break;
+        case text::HoriOrientation::LEFT:
+            sAlign = OString( rFlyHori.IsPosToggle( ) ? "inside" : "left" );
+            break;
+        case text::HoriOrientation::RIGHT:
+            sAlign = OString( rFlyHori.IsPosToggle( ) ? "outside" : "right" );
+            break;
+        case text::HoriOrientation::CENTER:
+        case text::HoriOrientation::FULL: // FULL only for tables
+        default:
+            sAlign = OString( "center" );
+            break;
+    }
+    OString sHAnchor( "page" );
+    switch ( rFlyHori.GetRelationOrient( ) )
+    {
+        case text::RelOrientation::CHAR:
+        case text::RelOrientation::PRINT_AREA:
+            sHAnchor = OString( "text" );
+            break;
+        case text::RelOrientation::FRAME:
+        case text::RelOrientation::PAGE_LEFT:
+        case text::RelOrientation::PAGE_RIGHT:
+        case text::RelOrientation::FRAME_LEFT:
+        case text::RelOrientation::FRAME_RIGHT:
+            sHAnchor = OString( "margin" );
+            break;
+        case text::RelOrientation::PAGE_FRAME:
+        case text::RelOrientation::PAGE_PRINT_AREA:
+        default:
+            break;
+    }
+
     if (m_rExport.SdrExporter().getTextFrameSyntax())
     {
         
m_rExport.SdrExporter().getTextFrameStyle().append(";margin-left:").append(double(rFlyHori.GetPos())
 / 20).append("pt");
+        if ( !sAlign.isEmpty() )
+            
m_rExport.SdrExporter().getTextFrameStyle().append(";mso-position-horizontal:").append(sAlign);
+        
m_rExport.SdrExporter().getTextFrameStyle().append(";mso-position-horizontal-relative:").append(sHAnchor);
     }
     else if (m_rExport.SdrExporter().getDMLTextFrameSyntax())
     {
     }
     else if ( m_rExport.bOutFlyFrmAttrs )
     {
-        OString sAlign;
-        switch( rFlyHori.GetHoriOrient() )
-        {
-            case text::HoriOrientation::NONE:
-                break;
-            case text::HoriOrientation::LEFT:
-                sAlign = OString( rFlyHori.IsPosToggle( ) ? "inside" : "left" 
);
-                break;
-            case text::HoriOrientation::RIGHT:
-                sAlign = OString( rFlyHori.IsPosToggle( ) ? "outside" : 
"right" );
-                break;
-            case text::HoriOrientation::CENTER:
-            case text::HoriOrientation::FULL: // FULL only for tables
-            default:
-                sAlign = OString( "center" );
-                break;
-        }
-
         if ( !sAlign.isEmpty() )
             AddToAttrList( m_rExport.SdrExporter().getFlyAttrList(), FSNS( 
XML_w, XML_xAlign ), sAlign.getStr() );
         else
             AddToAttrList( m_rExport.SdrExporter().getFlyAttrList(), FSNS( 
XML_w, XML_x ),
                 OString::number( rFlyHori.GetPos() ).getStr() );
-
-        OString sHAnchor( "page" );
-        switch ( rFlyHori.GetRelationOrient( ) )
-        {
-            case text::RelOrientation::CHAR:
-            case text::RelOrientation::PRINT_AREA:
-                sHAnchor = OString( "text" );
-                break;
-            case text::RelOrientation::FRAME:
-            case text::RelOrientation::PAGE_LEFT:
-            case text::RelOrientation::PAGE_RIGHT:
-            case text::RelOrientation::FRAME_LEFT:
-            case text::RelOrientation::FRAME_RIGHT:
-                sHAnchor = OString( "margin" );
-                break;
-            case text::RelOrientation::PAGE_FRAME:
-            case text::RelOrientation::PAGE_PRINT_AREA:
-            default:
-                break;
-        }
-
         AddToAttrList( m_rExport.SdrExporter().getFlyAttrList(), FSNS( XML_w, 
XML_hAnchor ), sHAnchor.getStr() );
     }
 }
commit f6fa78766ff7b6ed9f18228cfac21dccbd88706e
Author: LuboÅ¡ Luňák <[email protected]>
Date:   Sat Sep 27 16:59:48 2014 +0200

    docx ST_VAnchor does not know "column", it should be "text"
    
    Change-Id: I3a5ab08e349c5c071373cda2f62e3cea593e263c

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index 16f4700..0b703ad 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -7332,7 +7332,7 @@ void DocxAttributeOutput::FormatVertOrientation( const 
SwFmtVertOrient& rFlyVert
             case text::RelOrientation::CHAR:
             case text::RelOrientation::PRINT_AREA:
             case text::RelOrientation::TEXT_LINE:
-                sVAnchor = OString( "column" );
+                sVAnchor = OString( "text" );
                 break;
             case text::RelOrientation::FRAME:
             case text::RelOrientation::PAGE_LEFT:
commit 7d07cefa0e6fa7a1dc1ae0e22f0625975e8f57ac
Author: Tor Lillqvist <[email protected]>
Date:   Mon Sep 29 19:32:42 2014 +0300

    Don't try to write into invalid locations on iOS 8
    
    Change-Id: I6a91dbd32bfebf26dbc4a83312cbe5b6af9c4fe5

diff --git a/ios/CustomTarget_TiledLibreOffice_app.mk 
b/ios/CustomTarget_TiledLibreOffice_app.mk
index 9c33364..98cc8cc 100644
--- a/ios/CustomTarget_TiledLibreOffice_app.mk
+++ b/ios/CustomTarget_TiledLibreOffice_app.mk
@@ -85,7 +85,7 @@ TiledLibreOffice_setup:
        file=$(TiledLibreOffice_resource)/rc; \
        echo '[Bootstrap]'                                       >  $$file; \
        echo 'URE_BOOTSTRAP=file://$$APP_DATA_DIR/fundamentalrc' >> $$file; \
-       echo 'HOME=$$APP_DATA_DIR/tmp'                           >> $$file;
+       echo 'HOME=$$SYSUSERHOME'                                >> $$file;
 
        # Set up fundamentalrc, unorc, bootstraprc and versionrc.
        # Do we really need all these?
@@ -104,7 +104,7 @@ TiledLibreOffice_setup:
        echo '[Bootstrap]'                                                      
        >  $$file; \
        echo 'InstallMode=<installmode>'                                        
        >> $$file; \
        echo "ProductKey=LibreOffice $(PRODUCTVERSION)"                         
        >> $$file; \
-       echo 
'UserInstallation=file://$$APP_DATA_DIR/../Library/Application%20Support'  >> 
$$file;
+       echo 'UserInstallation=$$SYSUSERHOME/userinstallation'                  
        >> $$file;
 
        # Is this really needed?
        file=$(TiledLibreOffice_resource)/program/versionrc; \
commit 0b72a16541cc6efa4ebc3dda9a68b0b8c7aaf352
Author: Tor Lillqvist <[email protected]>
Date:   Mon Sep 29 19:25:41 2014 +0300

    Pretend the app-specific "Documents" directory is the home directory on iOS
    
    Change-Id: If8fda4b27adb2f83cbdfdbb20d90ced77e467a54

diff --git a/sal/osl/unx/security.cxx b/sal/osl/unx/security.cxx
index a7c32a9..3dff654 100644
--- a/sal/osl/unx/security.cxx
+++ b/sal/osl/unx/security.cxx
@@ -22,6 +22,12 @@
 #include <cstddef>
 #include <limits>
 
+#ifdef IOS
+#include <premac.h>
+#import <Foundation/Foundation.h>
+#include <postmac.h>
+#endif
+
 #include "system.h"
 
 #include <osl/security.h>
@@ -324,6 +330,19 @@ static bool SAL_CALL osl_psz_getHomeDir(oslSecurity 
Security, sal_Char* pszDirec
 }
 #endif
 
+#ifdef IOS
+    {
+        // Let's pretend the app-specific "Documents" directory is the home 
directory for now
+        NSArray *paths = 
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+        NSString *userDirectory = [paths objectAtIndex:0];
+        if ([userDirectory length] < nMax)
+        {
+            strcpy(pszDirectory, [userDirectory UTF8String]);
+            return sal_True;
+        }
+    }
+#endif
+
     /* if current user, check also environment for HOME */
     if (getuid() == pSecImpl->m_pPasswd.pw_uid)
     {
commit d680f6c924148a20a994ae2fb6898fabcffe7f77
Author: Tor Lillqvist <[email protected]>
Date:   Mon Sep 29 18:45:45 2014 +0300

    More sal source files for debugging convenience
    
    Change-Id: I43f693901e10a81c486c4f4b10c9bb9c70af3448

diff --git 
a/ios/experimental/TiledLibreOffice/TiledLibreOffice.xcodeproj/project.pbxproj 
b/ios/experimental/TiledLibreOffice/TiledLibreOffice.xcodeproj/project.pbxproj
index 4c9e96f..9a2a69d 100644
--- 
a/ios/experimental/TiledLibreOffice/TiledLibreOffice.xcodeproj/project.pbxproj
+++ 
b/ios/experimental/TiledLibreOffice/TiledLibreOffice.xcodeproj/project.pbxproj
@@ -403,6 +403,67 @@
                BE6DC8FD19D9AF6100AFB393 /* IconThemeInfo.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
IconThemeInfo.cxx; path = ../../../vcl/source/app/IconThemeInfo.cxx; sourceTree 
= "<group>"; };
                BE6DC8FE19D9AF6100AFB393 /* IconThemeScanner.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
IconThemeScanner.cxx; path = ../../../vcl/source/app/IconThemeScanner.cxx; 
sourceTree = "<group>"; };
                BE6DC8FF19D9AF6100AFB393 /* IconThemeSelector.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
IconThemeSelector.cxx; path = ../../../vcl/source/app/IconThemeSelector.cxx; 
sourceTree = "<group>"; };
+               BE6DC90119D9B55E00AFB393 /* alloc_arena.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
alloc_arena.cxx; path = ../../../sal/rtl/alloc_arena.cxx; sourceTree = 
"<group>"; };
+               BE6DC90219D9B55E00AFB393 /* alloc_cache.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
alloc_cache.cxx; path = ../../../sal/rtl/alloc_cache.cxx; sourceTree = 
"<group>"; };
+               BE6DC90319D9B55E00AFB393 /* alloc_fini.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
alloc_fini.cxx; path = ../../../sal/rtl/alloc_fini.cxx; sourceTree = "<group>"; 
};
+               BE6DC90419D9B55E00AFB393 /* alloc_global.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
alloc_global.cxx; path = ../../../sal/rtl/alloc_global.cxx; sourceTree = 
"<group>"; };
+               BE6DC90519D9B55E00AFB393 /* bootstrap.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bootstrap.cxx; 
path = ../../../sal/rtl/bootstrap.cxx; sourceTree = "<group>"; };
+               BE6DC90619D9B55E00AFB393 /* byteseq.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = byteseq.cxx; 
path = ../../../sal/rtl/byteseq.cxx; sourceTree = "<group>"; };
+               BE6DC90719D9B55E00AFB393 /* cipher.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cipher.cxx; 
path = ../../../sal/rtl/cipher.cxx; sourceTree = "<group>"; };
+               BE6DC90819D9B55E00AFB393 /* cmdargs.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cmdargs.cxx; 
path = ../../../sal/rtl/cmdargs.cxx; sourceTree = "<group>"; };
+               BE6DC90919D9B55E00AFB393 /* crc.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = crc.cxx; path 
= ../../../sal/rtl/crc.cxx; sourceTree = "<group>"; };
+               BE6DC90A19D9B55E00AFB393 /* digest.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = digest.cxx; 
path = ../../../sal/rtl/digest.cxx; sourceTree = "<group>"; };
+               BE6DC90B19D9B55E00AFB393 /* hash.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = hash.cxx; path 
= ../../../sal/rtl/hash.cxx; sourceTree = "<group>"; };
+               BE6DC90C19D9B55E00AFB393 /* locale.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = locale.cxx; 
path = ../../../sal/rtl/locale.cxx; sourceTree = "<group>"; };
+               BE6DC90D19D9B55E00AFB393 /* logfile.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = logfile.cxx; 
path = ../../../sal/rtl/logfile.cxx; sourceTree = "<group>"; };
+               BE6DC90E19D9B55E00AFB393 /* math.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = math.cxx; path 
= ../../../sal/rtl/math.cxx; sourceTree = "<group>"; };
+               BE6DC90F19D9B55E00AFB393 /* random.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = random.cxx; 
path = ../../../sal/rtl/random.cxx; sourceTree = "<group>"; };
+               BE6DC91019D9B55E00AFB393 /* rtl_process.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
rtl_process.cxx; path = ../../../sal/rtl/rtl_process.cxx; sourceTree = 
"<group>"; };
+               BE6DC91119D9B55E00AFB393 /* strbuf.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = strbuf.cxx; 
path = ../../../sal/rtl/strbuf.cxx; sourceTree = "<group>"; };
+               BE6DC91219D9B55E00AFB393 /* strimp.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = strimp.cxx; 
path = ../../../sal/rtl/strimp.cxx; sourceTree = "<group>"; };
+               BE6DC91319D9B55E00AFB393 /* string.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = string.cxx; 
path = ../../../sal/rtl/string.cxx; sourceTree = "<group>"; };
+               BE6DC91419D9B55E00AFB393 /* strtmpl.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = strtmpl.cxx; 
path = ../../../sal/rtl/strtmpl.cxx; sourceTree = "<group>"; };
+               BE6DC91519D9B55E00AFB393 /* unload.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = unload.cxx; 
path = ../../../sal/rtl/unload.cxx; sourceTree = "<group>"; };
+               BE6DC91619D9B55E00AFB393 /* uri.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = uri.cxx; path 
= ../../../sal/rtl/uri.cxx; sourceTree = "<group>"; };
+               BE6DC91719D9B55E00AFB393 /* ustrbuf.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ustrbuf.cxx; 
path = ../../../sal/rtl/ustrbuf.cxx; sourceTree = "<group>"; };
+               BE6DC91819D9B55E00AFB393 /* ustring.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ustring.cxx; 
path = ../../../sal/rtl/ustring.cxx; sourceTree = "<group>"; };
+               BE6DC91919D9B55E00AFB393 /* uuid.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = uuid.cxx; path 
= ../../../sal/rtl/uuid.cxx; sourceTree = "<group>"; };
+               BE6DC91B19D9B59400AFB393 /* compat.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = compat.cxx; 
path = ../../../sal/osl/all/compat.cxx; sourceTree = "<group>"; };
+               BE6DC91C19D9B59400AFB393 /* debugbase.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = debugbase.cxx; 
path = ../../../sal/osl/all/debugbase.cxx; sourceTree = "<group>"; };
+               BE6DC91D19D9B59400AFB393 /* filepath.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = filepath.c; path = 
../../../sal/osl/all/filepath.c; sourceTree = "<group>"; };
+               BE6DC91E19D9B59400AFB393 /* loadmodulerelative.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
loadmodulerelative.cxx; path = ../../../sal/osl/all/loadmodulerelative.cxx; 
sourceTree = "<group>"; };
+               BE6DC91F19D9B59400AFB393 /* log.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = log.cxx; path 
= ../../../sal/osl/all/log.cxx; sourceTree = "<group>"; };
+               BE6DC92019D9B59400AFB393 /* utility.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = utility.cxx; 
path = ../../../sal/osl/all/utility.cxx; sourceTree = "<group>"; };
+               BE6DC92219D9B5DD00AFB393 /* backtrace.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = backtrace.c; path 
= ../../../sal/osl/unx/backtrace.c; sourceTree = "<group>"; };
+               BE6DC92319D9B5DD00AFB393 /* conditn.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = conditn.cxx; 
path = ../../../sal/osl/unx/conditn.cxx; sourceTree = "<group>"; };
+               BE6DC92419D9B5DD00AFB393 /* file_error_transl.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
file_error_transl.cxx; path = ../../../sal/osl/unx/file_error_transl.cxx; 
sourceTree = "<group>"; };
+               BE6DC92519D9B5DD00AFB393 /* file_misc.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = file_misc.cxx; 
path = ../../../sal/osl/unx/file_misc.cxx; sourceTree = "<group>"; };
+               BE6DC92619D9B5DD00AFB393 /* file_path_helper.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
file_path_helper.cxx; path = ../../../sal/osl/unx/file_path_helper.cxx; 
sourceTree = "<group>"; };
+               BE6DC92719D9B5DD00AFB393 /* file_stat.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = file_stat.cxx; 
path = ../../../sal/osl/unx/file_stat.cxx; sourceTree = "<group>"; };
+               BE6DC92819D9B5DD00AFB393 /* file_url.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = file_url.cxx; 
path = ../../../sal/osl/unx/file_url.cxx; sourceTree = "<group>"; };
+               BE6DC92919D9B5DD00AFB393 /* file_volume.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
file_volume.cxx; path = ../../../sal/osl/unx/file_volume.cxx; sourceTree = 
"<group>"; };
+               BE6DC92A19D9B5DD00AFB393 /* file.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = file.cxx; path 
= ../../../sal/osl/unx/file.cxx; sourceTree = "<group>"; };
+               BE6DC92B19D9B5DD00AFB393 /* interlck.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = interlck.c; path = 
../../../sal/osl/unx/interlck.c; sourceTree = "<group>"; };
+               BE6DC92C19D9B5DD00AFB393 /* memory.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = 
../../../sal/osl/unx/memory.c; sourceTree = "<group>"; };
+               BE6DC92D19D9B5DD00AFB393 /* module.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = module.cxx; 
path = ../../../sal/osl/unx/module.cxx; sourceTree = "<group>"; };
+               BE6DC92E19D9B5DD00AFB393 /* mutex.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mutex.c; path = 
../../../sal/osl/unx/mutex.c; sourceTree = "<group>"; };
+               BE6DC92F19D9B5DD00AFB393 /* nlsupport.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = nlsupport.c; path 
= ../../../sal/osl/unx/nlsupport.c; sourceTree = "<group>"; };
+               BE6DC93019D9B5DD00AFB393 /* osxlocale.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = osxlocale.cxx; 
path = ../../../sal/osl/unx/osxlocale.cxx; sourceTree = "<group>"; };
+               BE6DC93119D9B5DD00AFB393 /* pipe.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pipe.c; path = 
../../../sal/osl/unx/pipe.c; sourceTree = "<group>"; };
+               BE6DC93219D9B5DD00AFB393 /* process_impl.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
process_impl.cxx; path = ../../../sal/osl/unx/process_impl.cxx; sourceTree = 
"<group>"; };
+               BE6DC93319D9B5DD00AFB393 /* process.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = process.cxx; 
path = ../../../sal/osl/unx/process.cxx; sourceTree = "<group>"; };
+               BE6DC93419D9B5DD00AFB393 /* profile.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = profile.cxx; 
path = ../../../sal/osl/unx/profile.cxx; sourceTree = "<group>"; };
+               BE6DC93519D9B5DD00AFB393 /* readwrite_helper.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = 
readwrite_helper.c; path = ../../../sal/osl/unx/readwrite_helper.c; sourceTree 
= "<group>"; };
+               BE6DC93619D9B5DD00AFB393 /* salinit.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salinit.cxx; 
path = ../../../sal/osl/unx/salinit.cxx; sourceTree = "<group>"; };
+               BE6DC93719D9B5DD00AFB393 /* security.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = security.cxx; 
path = ../../../sal/osl/unx/security.cxx; sourceTree = "<group>"; };
+               BE6DC93819D9B5DD00AFB393 /* signal.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = signal.c; path = 
../../../sal/osl/unx/signal.c; sourceTree = "<group>"; };
+               BE6DC93919D9B5DD00AFB393 /* socket.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = socket.c; path = 
../../../sal/osl/unx/socket.c; sourceTree = "<group>"; };
+               BE6DC93A19D9B5DD00AFB393 /* system.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = system.c; path = 
../../../sal/osl/unx/system.c; sourceTree = "<group>"; };
+               BE6DC93B19D9B5DD00AFB393 /* tempfile.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tempfile.cxx; 
path = ../../../sal/osl/unx/tempfile.cxx; sourceTree = "<group>"; };
+               BE6DC93C19D9B5DD00AFB393 /* thread.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = thread.c; path = 
../../../sal/osl/unx/thread.c; sourceTree = "<group>"; };
+               BE6DC93D19D9B5DD00AFB393 /* time.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = time.c; path = 
../../../sal/osl/unx/time.c; sourceTree = "<group>"; };
+               BE6DC93E19D9B5DD00AFB393 /* uunxapi.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = uunxapi.cxx; 
path = ../../../sal/osl/unx/uunxapi.cxx; sourceTree = "<group>"; };
+               BE6DC93F19D9B5DD00AFB393 /* uunxapi.mm */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = uunxapi.mm; 
path = ../../../sal/osl/unx/uunxapi.mm; sourceTree = "<group>"; };
                BE6F3D67192E286B00D6FCC0 /* bitmap.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bitmap.cxx; 
path = ../../../vcl/source/outdev/bitmap.cxx; sourceTree = "<group>"; };
                BE6F3D68192E286B00D6FCC0 /* clipping.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = clipping.cxx; 
path = ../../../vcl/source/outdev/clipping.cxx; sourceTree = "<group>"; };
                BE6F3D69192E286B00D6FCC0 /* curvedshapes.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
curvedshapes.cxx; path = ../../../vcl/source/outdev/curvedshapes.cxx; 
sourceTree = "<group>"; };
@@ -502,37 +563,6 @@
                BE82BDAB182190E400A447B5 /* TiledView.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= TiledView.m; sourceTree = "<group>"; };
                BE82BDAD1821A1D000A447B5 /* View.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
View.h; sourceTree = "<group>"; };
                BE82BDAE1821A1D000A447B5 /* View.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= View.m; sourceTree = "<group>"; };
-               BE82C38918C752E20050EB79 /* backtrace.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = backtrace.c; path 
= ../../../sal/osl/unx/backtrace.c; sourceTree = "<group>"; };
-               BE82C38A18C752E20050EB79 /* conditn.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = conditn.cxx; 
path = ../../../sal/osl/unx/conditn.cxx; sourceTree = "<group>"; };
-               BE82C38B18C752E20050EB79 /* diagnose.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = diagnose.cxx; 
path = ../../../sal/osl/unx/diagnose.cxx; sourceTree = "<group>"; };
-               BE82C38C18C752E20050EB79 /* file_error_transl.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
file_error_transl.cxx; path = ../../../sal/osl/unx/file_error_transl.cxx; 
sourceTree = "<group>"; };
-               BE82C38D18C752E20050EB79 /* file_misc.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = file_misc.cxx; 
path = ../../../sal/osl/unx/file_misc.cxx; sourceTree = "<group>"; };
-               BE82C38E18C752E20050EB79 /* file_path_helper.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
file_path_helper.cxx; path = ../../../sal/osl/unx/file_path_helper.cxx; 
sourceTree = "<group>"; };
-               BE82C38F18C752E20050EB79 /* file_stat.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = file_stat.cxx; 
path = ../../../sal/osl/unx/file_stat.cxx; sourceTree = "<group>"; };
-               BE82C39018C752E20050EB79 /* file_url.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = file_url.cxx; 
path = ../../../sal/osl/unx/file_url.cxx; sourceTree = "<group>"; };
-               BE82C39118C752E20050EB79 /* file_volume.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = 
file_volume.cxx; path = ../../../sal/osl/unx/file_volume.cxx; sourceTree = 
"<group>"; };
-               BE82C39218C752E20050EB79 /* file.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = file.cxx; path 
= ../../../sal/osl/unx/file.cxx; sourceTree = "<group>"; };
-               BE82C39318C752E20050EB79 /* interlck.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = interlck.c; path = 
../../../sal/osl/unx/interlck.c; sourceTree = "<group>"; };
-               BE82C39418C752E20050EB79 /* memory.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = 
../../../sal/osl/unx/memory.c; sourceTree = "<group>"; };
-               BE82C39518C752E20050EB79 /* module.cxx */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = module.cxx; 
path = ../../../sal/osl/unx/module.cxx; sourceTree = "<group>"; };
-               BE82C39618C752E20050EB79 /* mutex.c */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mutex.c; path = 
../../../sal/osl/unx/mutex.c; sourceTree = "<group>"; };

... etc. - the rest is truncated
_______________________________________________
Libreoffice-commits mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to