[Libreoffice-commits] .: Branch 'distro/suse/suse-3.6' - 134 commits - accessibility/bridge accessibility/Jar_accessibility.mk accessibility/Jar_uno_accessbridge.mk accessibility/Module_accessibility.mk chart2/source config_host.mk.in configure.in cui/source desktop/inc desktop/scripts desktop/source desktop/unx editeng/inc editeng/source extras/source filter/source hsqldb/patches i18npool/source jurt/test l10ntools/Library_helplinker.mk l10ntools/source libcdr/libcdr-0.0.8-msc.patch libcdr/makefile.mk libcdr/README liblangtag/liblangtag-0.2-xmlCleanupParser.patch liblangtag/makefile.mk mdds/0001-Workaround-for-gcc-bug.patch mdds/makefile.mk mdds/mdds_0.5.3.patch mdds/mdds_0.6.0.patch officecfg/registry ooo.lst.in oox/source pyuno/source RepositoryExternal.mk sal/inc sc/inc scp2/source sc/source sdext/source setup_native/prj setup_native/source sfx2/source shell/source solenv/bin solenv/inc sot/source svx/source sw/inc sw/source ucb/source unotools/inc unotools/source vcl/aqua vcl/generic vcl/inc vcl/ios vcl/source vcl/win writerfilter/source xmlhelp/Library_ucpchelp1.mk xmlhelp/source xmloff/inc xmloff/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Nov 5 05:35:35 PST 2012


 RepositoryExternal.mk                                             |    5 
 accessibility/Jar_accessibility.mk                                |   90 --
 accessibility/Jar_uno_accessbridge.mk                             |   50 +
 accessibility/Module_accessibility.mk                             |    1 
 accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx   |    8 
 chart2/source/controller/dialogs/tp_ChartType.src                 |    4 
 chart2/source/view/charttypes/Splines.cxx                         |    6 
 config_host.mk.in                                                 |    2 
 configure.in                                                      |   36 +
 cui/source/dialogs/colorpicker.cxx                                |    4 
 desktop/inc/app.hxx                                               |   25 
 desktop/scripts/soffice.sh                                        |   16 
 desktop/source/app/app.cxx                                        |  174 ++---
 desktop/source/app/appinit.cxx                                    |    9 
 desktop/source/app/cmdlineargs.cxx                                |   18 
 desktop/source/app/cmdlineargs.hxx                                |    6 
 desktop/source/app/cmdlinehelp.cxx                                |    7 
 desktop/source/app/cmdlinehelp.hxx                                |    2 
 desktop/source/app/desktop.hrc                                    |    1 
 desktop/source/app/desktop.src                                    |    5 
 desktop/source/app/officeipcthread.cxx                            |  329 +++++-----
 desktop/source/app/sofficemain.cxx                                |   40 -
 desktop/source/splash/splash.cxx                                  |   47 +
 desktop/unx/source/args.c                                         |   47 -
 desktop/unx/source/args.h                                         |    1 
 desktop/unx/source/start.c                                        |   26 
 editeng/inc/editeng/borderline.hxx                                |    5 
 editeng/source/editeng/editdoc.hxx                                |    2 
 editeng/source/editeng/impedit3.cxx                               |   17 
 editeng/source/items/borderline.cxx                               |   89 ++
 extras/source/autotext/lang/pt-BR/acor_pt-BR.dat                  |binary
 filter/source/msfilter/eschesdo.cxx                               |   10 
 hsqldb/patches/jdbc-4.1.patch                                     |   14 
 i18npool/source/localedata/data/hu_HU.xml                         |    2 
 jurt/test/com/sun/star/comp/connections/PipedConnection_Test.java |   91 --
 l10ntools/Library_helplinker.mk                                   |    6 
 l10ntools/source/help/HelpCompiler.hxx                            |    3 
 libcdr/README                                                     |    2 
 libcdr/libcdr-0.0.8-msc.patch                                     |   10 
 libcdr/makefile.mk                                                |    6 
 liblangtag/liblangtag-0.2-xmlCleanupParser.patch                  |   20 
 liblangtag/makefile.mk                                            |    9 
 mdds/0001-Workaround-for-gcc-bug.patch                            |   27 
 mdds/makefile.mk                                                  |    8 
 mdds/mdds_0.5.3.patch                                             |   62 -
 mdds/mdds_0.6.0.patch                                             |   54 +
 officecfg/registry/data/org/openoffice/Office/Canvas.xcu          |    2 
 officecfg/registry/schema/org/openoffice/Office/Calc.xcs          |    4 
 officecfg/registry/schema/org/openoffice/Office/Writer.xcs        |    4 
 officecfg/registry/schema/org/openoffice/Office/WriterWeb.xcs     |    4 
 ooo.lst.in                                                        |    4 
 oox/source/export/vmlexport.cxx                                   |   31 
 pyuno/source/module/pyuno_runtime.cxx                             |    3 
 sal/inc/osl/diagnose.hxx                                          |    3 
 sal/inc/rtl/string.hxx                                            |    7 
 sal/inc/rtl/ustring.hxx                                           |    7 
 sc/inc/dpcache.hxx                                                |    6 
 sc/inc/dpcachetable.hxx                                           |   33 -
 sc/inc/dpobject.hxx                                               |    4 
 sc/inc/rangelst.hxx                                               |    1 
 sc/source/core/data/column2.cxx                                   |   10 
 sc/source/core/data/column3.cxx                                   |    4 
 sc/source/core/data/conditio.cxx                                  |    3 
 sc/source/core/data/dpcache.cxx                                   |   21 
 sc/source/core/data/dpcachetable.cxx                              |  204 +++---
 sc/source/core/data/dpgroup.cxx                                   |    6 
 sc/source/core/data/dptabdat.cxx                                  |    6 
 sc/source/core/data/table2.cxx                                    |   18 
 sc/source/core/data/table3.cxx                                    |    4 
 sc/source/core/tool/dbdata.cxx                                    |    4 
 sc/source/core/tool/rangelst.cxx                                  |   28 
 sc/source/filter/excel/xetable.cxx                                |   12 
 sc/source/filter/excel/xiescher.cxx                               |    2 
 sc/source/filter/inc/lotattr.hxx                                  |    2 
 sc/source/filter/inc/xetable.hxx                                  |    3 
 sc/source/filter/oox/addressconverter.cxx                         |    2 
 sc/source/filter/oox/commentsbuffer.cxx                           |    3 
 sc/source/filter/oox/extlstcontext.cxx                            |   10 
 sc/source/filter/oox/formulabuffer.cxx                            |   17 
 sc/source/filter/oox/unitconverter.cxx                            |    5 
 sc/source/filter/xcl97/xcl97rec.cxx                               |   15 
 sc/source/filter/xml/xmlstyli.cxx                                 |   15 
 sc/source/filter/xml/xmlstyli.hxx                                 |    1 
 sc/source/ui/app/scmod.cxx                                        |    3 
 sc/source/ui/condformat/condformatdlg.cxx                         |   39 -
 sc/source/ui/condformat/condformatmgr.cxx                         |    5 
 sc/source/ui/dbgui/tpsort.cxx                                     |   12 
 sc/source/ui/inc/tpsort.hxx                                       |    8 
 sc/source/ui/optdlg/tpusrlst.cxx                                  |    2 
 sc/source/ui/view/cellsh1.cxx                                     |    2 
 scp2/source/ooo/common_brand.scp                                  |   24 
 scp2/source/ooo/file_ooo.scp                                      |    8 
 scp2/source/ooo/module_ooo.scp                                    |    6 
 scp2/source/ooo/module_ooo.ulf                                    |    4 
 sdext/source/pdfimport/inc/pdfihelper.hxx                         |    4 
 sdext/source/pdfimport/inc/pdfparse.hxx                           |    3 
 sdext/source/pdfimport/misc/pwdinteract.cxx                       |   41 +
 sdext/source/pdfimport/pdfparse/pdfentries.cxx                    |   15 
 sdext/source/pdfimport/wrapper/wrapper.cxx                        |   76 +-
 setup_native/prj/build.lst                                        |    3 
 setup_native/source/packinfo/makefile.mk                          |   24 
 setup_native/source/packinfo/packinfo_office.txt                  |   12 
 setup_native/source/packinfo/spellchecker_selection.pl            |   68 ++
 setup_native/source/packinfo/spellchecker_selection.txt           |    2 
 setup_native/source/win32/customactions/sellang/sellang.cxx       |  234 ++++---
 setup_native/source/win32/msi-encodinglist.txt                    |    2 
 sfx2/source/appl/childwin.cxx                                     |    2 
 shell/source/win32/shlxthandler/prophdl/propertyhdl.cxx           |    6 
 solenv/bin/modules/installer/ziplist.pm                           |    2 
 solenv/inc/wntmsc.mk                                              |    2 
 sot/source/sdstor/stgcache.cxx                                    |  141 ----
 sot/source/sdstor/stgcache.hxx                                    |    9 
 svx/source/form/fmvwimp.cxx                                       |    4 
 sw/inc/printdata.hxx                                              |    2 
 sw/inc/swtable.hxx                                                |    1 
 sw/inc/unotxdoc.hxx                                               |    5 
 sw/source/core/crsr/crsrsh.cxx                                    |   15 
 sw/source/core/doc/dbgoutsw.cxx                                   |    5 
 sw/source/core/table/swtable.cxx                                  |   14 
 sw/source/core/undo/untbl.cxx                                     |    5 
 sw/source/core/view/printdata.cxx                                 |    5 
 sw/source/filter/ww8/docxattributeoutput.cxx                      |    6 
 sw/source/filter/ww8/wrtw8esh.cxx                                 |    4 
 sw/source/filter/ww8/ww8par2.cxx                                  |    1 
 sw/source/filter/ww8/ww8par6.cxx                                  |   76 --
 sw/source/filter/xml/xmltble.cxx                                  |   11 
 sw/source/ui/app/applab.cxx                                       |   77 --
 sw/source/ui/dbui/dbmgr.cxx                                       |    6 
 sw/source/ui/uno/unotxdoc.cxx                                     |   26 
 ucb/source/ucp/cmis/cmis_content.cxx                              |    2 
 unotools/inc/unotools/viewoptions.hxx                             |    7 
 unotools/source/config/securityoptions.cxx                        |   13 
 unotools/source/config/viewoptions.cxx                            |   40 +
 vcl/aqua/source/a11y/aqua11yfocustracker.cxx                      |   15 
 vcl/aqua/source/a11y/aqua11ywrapper.mm                            |   11 
 vcl/aqua/source/app/salsys.cxx                                    |   19 
 vcl/aqua/source/gdi/salatslayout.cxx                              |    2 
 vcl/generic/app/gensys.cxx                                        |   60 +
 vcl/inc/aqua/salsys.h                                             |    2 
 vcl/inc/generic/gensys.h                                          |    2 
 vcl/inc/ios/salsys.h                                              |    2 
 vcl/inc/salsys.hxx                                                |    7 
 vcl/inc/vcl/svapp.hxx                                             |    6 
 vcl/inc/win/salsys.h                                              |    2 
 vcl/ios/source/app/salsys.cxx                                     |   19 
 vcl/source/app/svapp.cxx                                          |    2 
 vcl/source/app/svdata.cxx                                         |   12 
 vcl/source/control/button.cxx                                     |   13 
 vcl/win/source/app/salinfo.cxx                                    |    2 
 writerfilter/source/dmapper/ConversionHelper.cxx                  |   69 --
 writerfilter/source/dmapper/DomainMapper.cxx                      |    3 
 writerfilter/source/dmapper/GraphicImport.cxx                     |    4 
 writerfilter/source/dmapper/PropertyMap.cxx                       |   14 
 writerfilter/source/rtftok/rtfdocumentimpl.cxx                    |   13 
 xmlhelp/Library_ucpchelp1.mk                                      |    6 
 xmlhelp/source/cxxhelp/provider/databases.hxx                     |    3 
 xmlhelp/source/cxxhelp/provider/db.hxx                            |    3 
 xmloff/inc/xmloff/txtparae.hxx                                    |    3 
 xmloff/source/draw/shapeexport2.cxx                               |   18 
 xmloff/source/style/chrhghdl.cxx                                  |    2 
 xmloff/source/text/txtflde.cxx                                    |    1 
 xmloff/source/text/txtparae.cxx                                   |   69 +-
 xmloff/source/text/txtprmap.cxx                                   |    1 
 163 files changed, 1941 insertions(+), 1432 deletions(-)

New commits:
commit ef15a5a4acd3174752484c6aeb570d4d6444b645
Merge: a1b0ce0... c309ce0...
Author: Petr Mladek <pmladek at suse.cz>
Date:   Mon Nov 5 14:34:27 2012 +0100

    Merge remote-tracking branch 'origin/libreoffice-3-6-3' into suse-3.6
    
    Conflicts:
    	desktop/source/app/sofficemain.cxx
    	instsetoo_native/util/openoffice.lst
    	solenv/inc/minor.mk
    
    Change-Id: I3e9510067c7173f6c71368e70ba6dfe168c5318e

diff --cc writerfilter/source/dmapper/DomainMapper.cxx
index 3ce3eb2,2068b61..3ff8519
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@@ -3617,19 -3447,8 +3617,18 @@@ void DomainMapper::lcl_utext(const sal_
      {
          m_pImpl->getTableManager().utext(data_, len);
  
-         // RTF always uses text() instead of utext() for run break
-         if(len == 1 && ((*data_) == 0x0d || (*data_) == 0x07) && !IsRTFImport())
+         if(len == 1 && (sText[0] == 0x0d || sText[0] == 0x07))
          {
 +            PropertyMapPtr pContext = m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH);
 +            if (pContext && m_pImpl->GetSettingsTable()->GetSplitPgBreakAndParaMark())
 +            {
 +                if (m_pImpl->isBreakDeferred(PAGE_BREAK))
 +                    pContext->Insert(PROP_BREAK_TYPE, true, uno::makeAny( com::sun::star::style::BreakType_PAGE_BEFORE));
 +                else if (m_pImpl->isBreakDeferred(COLUMN_BREAK))
 +                    pContext->Insert(PROP_BREAK_TYPE, true, uno::makeAny( com::sun::star::style::BreakType_COLUMN_BEFORE));
 +                m_pImpl->clearDeferredBreaks();
 +            }
 +
              bool bSingleParagraph = m_pImpl->GetIsFirstParagraphInSection() && m_pImpl->GetIsLastParagraphInSection();
              // If the paragraph contains only the section properties and it has
              // no runs, we should not create a paragraph for it in Writer, unless that would remove the whole section.
commit c309ce0227a14330094191c1ef15fa00899defcb
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Oct 25 13:54:03 2012 +0200

    fdo#53474: Fix Windows Java Accessibility Bridge
    
    ...by folding the contents of java_accessibility.jar back into
    java_uno_accessbridge.jar.
    
    In the old build system there were two jars, java_uno_accessbridge.jar
    containing the handful of org.openoffice.accessibility classes and all
    org.openoffice.java.accessibility classes (though how the latter got included
    was fairly obscure in the makefile.mk) and unused java_accessibility.jar that
    contained all org.openoffice.java.accessibility classes.  When adapting this to
    gbuild, the unused java_accessibility.jar was carried over, but all its
    org.openoffice.accessibility classes were inadvertently droped from
    java_uno_accessbridge.jar.
    
    (cherry picked from commit 5ba1694606577f9cda2b773d82ae765118bfc9e1)
    
    Conflicts:
    	Repository.mk
    	accessibility/Jar_accessibility.mk
    	accessibility/Jar_uno_accessbridge.mk
    
    Change-Id: I9b582ba22667b1dae635828e85c4cc5b530353ac
    Reviewed-on: https://gerrit.libreoffice.org/907
    Reviewed-by: Michael Meeks <michael.meeks at suse.com>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/accessibility/Jar_accessibility.mk b/accessibility/Jar_accessibility.mk
deleted file mode 100644
index 1d82c5f..0000000
--- a/accessibility/Jar_accessibility.mk
+++ /dev/null
@@ -1,90 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-# Version: MPL 1.1 / GPLv3+ / LGPLv3+
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License or as specified alternatively below. You may obtain a copy of
-# the License at http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# Major Contributor(s):
-# Copyright (C) 2010 Red Hat, Inc., David Tardon <dtardon at redhat.com>
-#  (initial developer)
-#
-# All Rights Reserved.
-#
-# For minor contributions see the git repository.
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
-# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
-# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
-# instead of those above.
-
-$(eval $(call gb_Jar_Jar,java_accessibility))
-
-$(eval $(call gb_Jar_use_jars,java_accessibility,\
-    $(OUTDIR)/bin/jurt.jar \
-    $(OUTDIR)/bin/ridl.jar \
-    $(OUTDIR)/bin/unoil.jar \
-))
-
-$(eval $(call gb_Jar_set_packageroot,java_accessibility,org))
-
-$(eval $(call gb_Jar_add_sourcefiles,java_accessibility,\
-    accessibility/bridge/org/openoffice/java/accessibility/AbstractButton \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleActionImpl \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleComponentImpl \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleEditableTextImpl \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleExtendedState \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleHypertextImpl \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleIconImpl \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleKeyBinding \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleRoleAdapter \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleSelectionImpl \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleStateAdapter \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleTextImpl \
-    accessibility/bridge/org/openoffice/java/accessibility/AccessibleValueImpl \
-    accessibility/bridge/org/openoffice/java/accessibility/Alert \
-    accessibility/bridge/org/openoffice/java/accessibility/Application \
-    accessibility/bridge/org/openoffice/java/accessibility/Button \
-    accessibility/bridge/org/openoffice/java/accessibility/CheckBox \
-    accessibility/bridge/org/openoffice/java/accessibility/ComboBox \
-    accessibility/bridge/org/openoffice/java/accessibility/Component \
-    accessibility/bridge/org/openoffice/java/accessibility/Container \
-    accessibility/bridge/org/openoffice/java/accessibility/DescendantManager \
-    accessibility/bridge/org/openoffice/java/accessibility/Dialog \
-    accessibility/bridge/org/openoffice/java/accessibility/FocusTraversalPolicy \
-    accessibility/bridge/org/openoffice/java/accessibility/Frame \
-    accessibility/bridge/org/openoffice/java/accessibility/Icon \
-    accessibility/bridge/org/openoffice/java/accessibility/Label \
-    accessibility/bridge/org/openoffice/java/accessibility/List \
-    accessibility/bridge/org/openoffice/java/accessibility/Menu \
-    accessibility/bridge/org/openoffice/java/accessibility/MenuContainer \
-    accessibility/bridge/org/openoffice/java/accessibility/MenuItem \
-    accessibility/bridge/org/openoffice/java/accessibility/NativeFrame \
-    accessibility/bridge/org/openoffice/java/accessibility/Paragraph \
-    accessibility/bridge/org/openoffice/java/accessibility/RadioButton \
-    accessibility/bridge/org/openoffice/java/accessibility/ScrollBar \
-    accessibility/bridge/org/openoffice/java/accessibility/Separator \
-    accessibility/bridge/org/openoffice/java/accessibility/Table \
-    accessibility/bridge/org/openoffice/java/accessibility/TextComponent \
-    accessibility/bridge/org/openoffice/java/accessibility/ToggleButton \
-    accessibility/bridge/org/openoffice/java/accessibility/ToolTip \
-    accessibility/bridge/org/openoffice/java/accessibility/Tree \
-    accessibility/bridge/org/openoffice/java/accessibility/Window \
-    accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleEventLog \
-    accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleHypertextLog \
-    accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleTextLog \
-))
-
-$(eval $(call gb_Jar_add_generated_sourcefiles,java_accessibility,\
-    CustomTarget/accessibility/bridge/org/openoffice/java/accessibility/Build \
-))
-
-# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/accessibility/Jar_uno_accessbridge.mk b/accessibility/Jar_uno_accessbridge.mk
index 586f775..09018bc 100644
--- a/accessibility/Jar_uno_accessbridge.mk
+++ b/accessibility/Jar_uno_accessbridge.mk
@@ -28,7 +28,6 @@
 $(eval $(call gb_Jar_Jar,java_uno_accessbridge))
 
 $(eval $(call gb_Jar_use_jars,java_uno_accessbridge,\
-    $(OUTDIR)/bin/java_accessibility.jar \
     $(OUTDIR)/bin/jurt.jar \
     $(OUTDIR)/bin/ridl.jar \
     $(OUTDIR)/bin/unoil.jar \
@@ -49,6 +48,55 @@ $(eval $(call gb_Jar_add_sourcefiles,java_uno_accessbridge,\
     accessibility/bridge/org/openoffice/accessibility/KeyHandler \
     accessibility/bridge/org/openoffice/accessibility/PopupWindow \
     accessibility/bridge/org/openoffice/accessibility/WindowsAccessBridgeAdapter \
+    accessibility/bridge/org/openoffice/java/accessibility/AbstractButton \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleActionImpl \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleComponentImpl \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleEditableTextImpl \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleExtendedState \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleHypertextImpl \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleIconImpl \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleKeyBinding \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleRoleAdapter \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleSelectionImpl \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleStateAdapter \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleTextImpl \
+    accessibility/bridge/org/openoffice/java/accessibility/AccessibleValueImpl \
+    accessibility/bridge/org/openoffice/java/accessibility/Alert \
+    accessibility/bridge/org/openoffice/java/accessibility/Application \
+    accessibility/bridge/org/openoffice/java/accessibility/Button \
+    accessibility/bridge/org/openoffice/java/accessibility/CheckBox \
+    accessibility/bridge/org/openoffice/java/accessibility/ComboBox \
+    accessibility/bridge/org/openoffice/java/accessibility/Component \
+    accessibility/bridge/org/openoffice/java/accessibility/Container \
+    accessibility/bridge/org/openoffice/java/accessibility/DescendantManager \
+    accessibility/bridge/org/openoffice/java/accessibility/Dialog \
+    accessibility/bridge/org/openoffice/java/accessibility/FocusTraversalPolicy \
+    accessibility/bridge/org/openoffice/java/accessibility/Frame \
+    accessibility/bridge/org/openoffice/java/accessibility/Icon \
+    accessibility/bridge/org/openoffice/java/accessibility/Label \
+    accessibility/bridge/org/openoffice/java/accessibility/List \
+    accessibility/bridge/org/openoffice/java/accessibility/Menu \
+    accessibility/bridge/org/openoffice/java/accessibility/MenuContainer \
+    accessibility/bridge/org/openoffice/java/accessibility/MenuItem \
+    accessibility/bridge/org/openoffice/java/accessibility/NativeFrame \
+    accessibility/bridge/org/openoffice/java/accessibility/Paragraph \
+    accessibility/bridge/org/openoffice/java/accessibility/RadioButton \
+    accessibility/bridge/org/openoffice/java/accessibility/ScrollBar \
+    accessibility/bridge/org/openoffice/java/accessibility/Separator \
+    accessibility/bridge/org/openoffice/java/accessibility/Table \
+    accessibility/bridge/org/openoffice/java/accessibility/TextComponent \
+    accessibility/bridge/org/openoffice/java/accessibility/ToggleButton \
+    accessibility/bridge/org/openoffice/java/accessibility/ToolTip \
+    accessibility/bridge/org/openoffice/java/accessibility/Tree \
+    accessibility/bridge/org/openoffice/java/accessibility/Window \
+    accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleEventLog \
+    accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleHypertextLog \
+    accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleTextLog \
+))
+
+$(eval $(call gb_Jar_add_generated_sourcefiles,java_uno_accessbridge,\
+    CustomTarget/accessibility/bridge/org/openoffice/java/accessibility/Build \
 ))
 
 # vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/accessibility/Module_accessibility.mk b/accessibility/Module_accessibility.mk
index 368973e..47751e8 100644
--- a/accessibility/Module_accessibility.mk
+++ b/accessibility/Module_accessibility.mk
@@ -37,7 +37,6 @@ ifeq ($(OS),WNT)
 $(eval $(call gb_Module_add_targets,accessibility,\
     CustomTarget_bridge \
     CustomTarget_bridge_inc \
-    Jar_accessibility \
     Jar_uno_accessbridge \
     Library_java_uno_accessbridge \
 ))
commit 7dbcf00ffe16e61a9fbd7f58c6ed0c644d2e81ca
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Oct 22 13:31:38 2012 +0100

    Resolves: rhbz#868479 / fdo#56281 doubled ~ in German ok/cancel translations
    
    We have unix-specific code adding ~ to OK/Cancel. So don't add ~ if
    string already contains those.
    
    Though its an open question if the presence of ~ is a bad thing
    for the Windows case. i.e. if we should have tooling to not
    allow the OK/Cancel translations to contain ~ in the first place,
    of if we should drop the ifdef UNX and do it globally now
    
    Change-Id: I461c6ac9ca574ed188f51472919be82ec582e389
    
    Signed-off-by: Petr Mladek <pmladek at suse.cz>
    Signed-off-by: Eike Rathke <erack at redhat.com>
    Signed-off-by: Andras Timar <timar74 at gmail.com>

diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index 99e1724..baa5c64 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -152,12 +152,15 @@ XubString Button::GetStandardText( StandardButtonType eButton )
         sal_uInt32 nResId = aResIdAry[(sal_uInt16)eButton].nResId;
         aText = ResId(nResId, *pResMgr).toString();
 
-        // Windows (apparently) has some magic auto-accelerator evil around
-        // ok / cancel so add this only for Unix
-#ifdef UNX
-        if( nResId == SV_BUTTONTEXT_OK || nResId == SV_BUTTONTEXT_CANCEL )
-            aText.Insert( String::CreateFromAscii("~"), 0 );
+        if (nResId == SV_BUTTONTEXT_OK || nResId == SV_BUTTONTEXT_CANCEL)
+        {
+#ifndef WNT
+            // Windows (apparently) has some magic auto-accelerator evil around
+            // ok / cancel so add accelerators only for Unix
+            if (aText.Search('~') == STRING_NOTFOUND)
+                aText.Insert(String::CreateFromAscii("~"), 0);
 #endif
+        }
     }
     else
     {
commit 5725f17bf8bf240348994ee671ad1a984e701f03
Author: Ivan Timofeev <timofeev.i.s at gmail.com>
Date:   Mon Oct 22 20:23:18 2012 +0400

    fdo#55800: fix hex color conversion
    
    Reviewed-on: https://gerrit.libreoffice.org/895
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>
    (cherry picked from commit 66446668dad9dfb8394fe3e6afcff78662efc63a)
    
    Change-Id: I4e60837b3cc557e1df3d7e1312ed083f2b267dde
    Reviewed-on: https://gerrit.libreoffice.org/897
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    Tested-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/cui/source/dialogs/colorpicker.cxx b/cui/source/dialogs/colorpicker.cxx
index 40f7302..9753a2c 100644
--- a/cui/source/dialogs/colorpicker.cxx
+++ b/cui/source/dialogs/colorpicker.cxx
@@ -1407,8 +1407,8 @@ IMPL_LINK( ColorPickerDialog, ColorModifyHdl, void *, p )
             if( aColor != GetColor() )
             {
                 mdRed = ((double)aColor.GetRed()) / 255.0;
-                mdGreen = ((double)aColor.GetRed()) / 255.0;
-                mdBlue = ((double)aColor.GetRed()) / 255.0;
+                mdGreen = ((double)aColor.GetGreen()) / 255.0;
+                mdBlue = ((double)aColor.GetBlue()) / 255.0;
 
                 RGBtoHSV( mdRed, mdGreen, mdBlue, mdHue, mdSat, mdBri );
                 RGBtoCMYK( mdRed, mdGreen, mdBlue, mdCyan, mdMagenta, mdYellow, mdKey );
commit 622cca7e5b2f046c969a95a24ebd897c2d690474
Author: David Tardon <dtardon at redhat.com>
Date:   Mon Oct 15 07:13:23 2012 +0200

    export symbols after gbuildification
    
    Change-Id: I5c8ef1009a65fa5a38174898f58f9146e1367aa9
    Signed-off-by: Michael Meeks <michael.meeks at suse.com>
    Signed-off-by: Stephan Bergmann <sbergman at redhat.com>
    Signed-off-by: Petr Mladek <pmladek at suse.cz>

diff --git a/accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx b/accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx
index 9ee03eb..b1d8d61 100644
--- a/accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx
+++ b/accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx
@@ -83,12 +83,12 @@ jmethodID g_jmRevokeTopWindow = 0;
 // functions
 //------------------------------------------------------------------------
 
-JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *, void *)
+SAL_DLLPUBLIC_EXPORT jint JNICALL JNI_OnLoad(JavaVM *, void *)
 {
     return JNI_VERSION_1_2;
 }
 
-JNIEXPORT jbyteArray JNICALL
+SAL_DLLPUBLIC_EXPORT jbyteArray JNICALL
 Java_org_openoffice_accessibility_WindowsAccessBridgeAdapter_getProcessID(JNIEnv *pJNIEnv, jclass clazz)
 {
     // Initialize global class and method references
@@ -124,7 +124,7 @@ Java_org_openoffice_accessibility_WindowsAccessBridgeAdapter_getProcessID(JNIEnv
     return jbaProcessID;
 }
 
-JNIEXPORT jboolean JNICALL
+SAL_DLLPUBLIC_EXPORT jboolean JNICALL
 Java_org_openoffice_accessibility_WindowsAccessBridgeAdapter_createMapping(JNIEnv *, jclass, jlong pointer)
 {
     uno_Environment * pJava_environment = NULL;
@@ -180,7 +180,7 @@ Java_org_openoffice_accessibility_WindowsAccessBridgeAdapter_createMapping(JNIEn
     return JNI_TRUE;
 }
 
-JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *jvm, void *)
+SAL_DLLPUBLIC_EXPORT void JNICALL JNI_OnUnload(JavaVM *jvm, void *)
 {
     ::Application::RemoveEventListener(g_aEventListenerLink);
 
commit c38b67a171615ddc444e0fe849e10d7cada74b6a
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Wed Oct 17 13:10:09 2012 +0200

    only use non blank cells in the visible data methods, fdo#54552
    
    (cherry picked from commit 40377a6e26aa61a1c0788cad1c97a10911d38da8)
    
    Signed-off-by: David Tardon <dtardon at redhat.com>
    (cherry picked from commit 23e6bac62ef6482c287bb0f55c662ac2047ebb33)
    
    Change-Id: I2a0914fbaff3e3f707a9c06f693079aed2b89ba4
    Signed-off-by: Petr Mladek <pmladek at suse.cz>
    Signed-off-by: Eike Rathke <erack at redhat.com>

diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index c28249a..03f7b54 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -1131,7 +1131,8 @@ bool ScColumn::IsEmptyVisData() const
         SCSIZE i;
         for (i=0; i<maItems.size() && !bVisData; i++)
         {
-            bVisData = true;
+            if(!maItems[i].pCell->IsBlank())
+                bVisData = true;
         }
         return !bVisData;
     }
@@ -1165,8 +1166,11 @@ SCROW ScColumn::GetLastVisDataPos() const
         for (i=maItems.size(); i>0 && !bFound; )
         {
             --i;
-            bFound = true;
-            nRet = maItems[i].nRow;
+            if(!maItems[i].pCell->IsBlank())
+            {
+                bFound = true;
+                nRet = maItems[i].nRow;
+            }
         }
     }
     return nRet;
commit d4287fb59bc2bc6cf54fe0ea2786b48ad3afa982
Author: Korrawit Pruegsanusak <detective.conan.1412 at gmail.com>
Date:   Fri Oct 12 21:09:42 2012 +0700

    Fix fdo#47669: also check if we started the tag before ending it
    
    The problem is we created imbalance end tag </w:hyperlink> which shouldn't
    be there. So, place a check before inserting end tag should help.
    
    Inspired by (read: copied from) c1c2688912e769dfd7654e11e87dae380a8ce1eb ;)
    
    (cherry picked from commit 3b042335208cb2c995f4860bf8ba3bd1e2f2e859)
    
    Change-Id: Ic933f6da44c788cba48bb2fe6fa29658985310b6
    
    Signed-off-by: Petr Mladek <pmladek at suse.cz>
    Signed-off-by: Michael Stahl <mstahl at redhat.com>
    Signed-off-by: Miklos Vajna <vmiklos at suse.cz>

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx
index 179c2f6..387c9ea 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -546,7 +546,11 @@ void DocxAttributeOutput::EndRun()
 
     if ( m_closeHyperlinkInPreviousRun )
     {
-        m_pSerializer->endElementNS( XML_w, XML_hyperlink );
+        if ( m_startedHyperlink )
+        {
+            m_pSerializer->endElementNS( XML_w, XML_hyperlink );
+            m_startedHyperlink = false;
+        }
         m_closeHyperlinkInPreviousRun = false;
     }
 
commit d8643c11d4c89f0534b3caebd4e0fbf212777140
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Wed Oct 17 15:45:18 2012 +0200

    write the custom sort list info into the item set, fdo#53870
    
    (cherry picked from commit 4302eb0a6c4e28ab675de9d59e73cac345ba30c7)
    
    Signed-off-by: David Tardon <dtardon at redhat.com>
    (cherry picked from commit 07cc274256ebff259e228e7285bc27e6ddc94fdc)
    
    Change-Id: I9c7f62b47f83b7798a8efdbf3896503918929f03
    Signed-off-by: Petr Mladek <pmladek at suse.cz>
    Signed-off-by: Eike Rathke <erack at redhat.com>

diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx
index 845e551..2635cb8 100644
--- a/sc/source/ui/app/scmod.cxx
+++ b/sc/source/ui/app/scmod.cxx
@@ -2051,7 +2051,10 @@ SfxItemSet*  ScModule::CreateItemSet( sal_uInt16 nId )
 
         // TP_USERLISTS
         if ( pUL )
+        {
             aULItem.SetUserList( *pUL );
+            pRet->Put(aULItem);
+        }
 
         // TP_COMPATIBILITY
         pRet->Put( SfxUInt16Item( SID_SC_OPT_KEY_BINDING_COMPAT,
diff --git a/sc/source/ui/optdlg/tpusrlst.cxx b/sc/source/ui/optdlg/tpusrlst.cxx
index 3eee008..ba6fc9a 100644
--- a/sc/source/ui/optdlg/tpusrlst.cxx
+++ b/sc/source/ui/optdlg/tpusrlst.cxx
@@ -96,6 +96,7 @@ ScTpUserLists::ScTpUserLists( Window*               pParent,
 {
     SetExchangeSupport();
     Init();
+    Reset(rCoreAttrs);
     FreeResource();
 }
 
@@ -153,6 +154,7 @@ void ScTpUserLists::Init()
         aFtCopyFrom.Disable();
         aEdCopyFrom.Disable();
     }
+
 }
 
 // -----------------------------------------------------------------------
commit a25776ae243646179a0bb3cd7f16a6d46f09b4cf
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Wed Oct 17 12:28:27 2012 +0200

    ignore broadcaster cells to fill autofilter dialog, fdo#55712
    
    (cherry picked from commit 622f7751b78fd8584e34f5fa96a04ed6e8bb98f5)
    
    Signed-off-by: David Tardon <dtardon at redhat.com>
    (cherry picked from commit 637096b75f2989640967e72aee41e48b07a5a602)
    
    Change-Id: Iacd3f8cfc26bb147eaf3b6957338be212b448226
    Signed-off-by: Petr Mladek <pmladek at suse.cz>
    Signed-off-by: Eike Rathke <erack at redhat.com>

diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index 48d77dc..475299d 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -1501,6 +1501,10 @@ void ScColumn::GetFilterEntries(SCROW nStartRow, SCROW nEndRow, std::vector<ScTy
             }
             break;
 
+            // skip broadcaster cells
+            case CELLTYPE_NOTE:
+                continue;
+
             default:
                 ;
         }
commit 3f1219d1a659111f35302b6f1305fe7ce281501c
Author: Noel Power <noel.power at suse.com>
Date:   Wed Oct 17 11:01:15 2012 +0200

    exchange sort settings between the two tab pages, fdo#53482
    
    Change-Id: I540481585bec2479db541025755c2a5a670da9ed
    Signed-off-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Signed-off-by: Kohei Yoshida <kohei.yoshida at gmail.com>
    Signed-off-by: Petr Mladek <pmladek at suse.cz>

diff --git a/sc/source/ui/dbgui/tpsort.cxx b/sc/source/ui/dbgui/tpsort.cxx
index 303d6c6..7ebbb47 100644
--- a/sc/source/ui/dbgui/tpsort.cxx
+++ b/sc/source/ui/dbgui/tpsort.cxx
@@ -275,9 +275,11 @@ sal_Bool ScTabPageSortFields::FillItemSet( SfxItemSet& rArgSet )
 
 // -----------------------------------------------------------------------
 
-// for data exchange without dialogue detour: (still TODO!)
-void ScTabPageSortFields::ActivatePage()
+// for data exchange without dialogue detour:
+void ScTabPageSortFields::ActivatePage( const SfxItemSet& rSet )
 {
+    // Refresh local copy with shared data
+    aSortData = static_cast<const ScSortItem&>(rSet.Get( SCITEM_SORTDATA )).GetSortData();
     if ( pDlg )
     {
         if ( bHasHeader  != pDlg->GetHeaders()
@@ -744,9 +746,11 @@ sal_Bool ScTabPageSortOptions::FillItemSet( SfxItemSet& rArgSet )
 
 // -----------------------------------------------------------------------
 
-// for data exchange without dialogue detour: (still TODO!)
-void ScTabPageSortOptions::ActivatePage()
+// for data exchange without dialogue detour:
+void ScTabPageSortOptions::ActivatePage( const SfxItemSet& rSet )
 {
+    // Refresh local copy with shared data
+    aSortData = static_cast<const ScSortItem&>(rSet.Get( SCITEM_SORTDATA )).GetSortData();
     if ( pDlg )
     {
         if ( aBtnHeader.IsChecked() != pDlg->GetHeaders() )
diff --git a/sc/source/ui/inc/tpsort.hxx b/sc/source/ui/inc/tpsort.hxx
index 14fce4e..7167e2e 100644
--- a/sc/source/ui/inc/tpsort.hxx
+++ b/sc/source/ui/inc/tpsort.hxx
@@ -69,11 +69,9 @@ public:
     virtual void        Reset       ( const SfxItemSet& rArgSet );
 
 protected:
-// for data exchange (TODO: should be changed!)
-//  virtual void        ActivatePage    ( const SfxItemSet& rSet );
+    virtual void        ActivatePage    ( const SfxItemSet& rSet );
     using SfxTabPage::ActivatePage;
     using SfxTabPage::DeactivatePage;
-    virtual void        ActivatePage    ();
     virtual int         DeactivatePage  ( SfxItemSet* pSet = 0);
 
 private:
@@ -132,11 +130,9 @@ public:
     virtual void        Reset       ( const SfxItemSet& rArgSet );
 
 protected:
-// for data exchange (TODO: should be changed!)
-//  virtual void        ActivatePage    ( const SfxItemSet& rSet );
+    virtual void        ActivatePage    ( const SfxItemSet& rSet );
     using SfxTabPage::ActivatePage;
     using SfxTabPage::DeactivatePage;
-    virtual void        ActivatePage    ();
     virtual int         DeactivatePage  ( SfxItemSet* pSet = 0);
 
 private:
commit 39e7aefe5d3645f08867c84e1c5dd08c7209a439
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Fri Oct 12 16:46:55 2012 +0200

    don't insert notes from deleted cells, fdo#55885
    
    Change-Id: I036f0531dc2290c5eb480258bc70ec13b810e6bc
    Signed-off-by: Kohei Yoshida <kohei.yoshida at gmail.com>
    Signed-off-by: Eike Rathke <erack at redhat.com>
    Signed-off-by: Noel Power <nopower at novell.com>

diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx
index 4230cbd..cd193c1 100644
--- a/sc/source/core/data/table2.cxx
+++ b/sc/source/core/data/table2.cxx
@@ -267,8 +267,13 @@ void ScTable::DeleteRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE
 
         if (nRow >= nStartRow)
         {
-            aNotes.insert(nCol, nRow - nSize, pPostIt);
-            maNotes.ReleaseNote(nCol, nRow);
+            if(nRow - nStartRow > static_cast<SCROW>(nSize))
+            {
+                aNotes.insert(nCol, nRow - nSize, pPostIt);
+                maNotes.ReleaseNote(nCol, nRow);
+            }
+            else
+                maNotes.erase(nCol, nRow);
         }
     }
 
@@ -486,8 +491,13 @@ void ScTable::DeleteCol( SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE
 
         if (nCol >= nStartCol)
         {
-            aNotes.insert(nCol - nSize, nRow, pPostIt);
-            maNotes.ReleaseNote(nCol, nRow);
+            if(nCol - nStartCol > static_cast<SCCOL>(nSize))
+            {
+                aNotes.insert(nCol - nSize, nRow, pPostIt);
+                maNotes.ReleaseNote(nCol, nRow);
+            }
+            else
+                maNotes.erase(nCol, nRow);
         }
     }
 
commit cc6c29d408245da325178da2f47e1c1220526de9
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Fri Oct 12 15:25:20 2012 -0400

    Check for null object.  The OLE name may not always be set.
    
    (cherry picked from commit fb1d9cc99e026ba9cf15ab49b2251cecfbbf6d10)
    
    Signed-off-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    (cherry picked from commit ea50fe437b4f61e6c97d81721441da2b7d1e2f66)
    
    Change-Id: Ib3e55af8870b41a5b76179d2215fc5125ceda5af
    Signed-off-by: Michael Meeks <michael.meeks at suse.com>
    Signed-off-by: Eike Rathke <erack at redhat.com>

diff --git a/sc/source/filter/excel/xiescher.cxx b/sc/source/filter/excel/xiescher.cxx
index 900d2e6..8940167 100644
--- a/sc/source/filter/excel/xiescher.cxx
+++ b/sc/source/filter/excel/xiescher.cxx
@@ -3210,7 +3210,7 @@ String XclImpObjectManager::GetOleNameOverride( SCTAB nTab, sal_uInt16 nObjId )
     rtl::OUString sOleName;
     String sCodeName = GetExtDocOptions().GetCodeName( nTab );
 
-    if (  mxOleCtrlNameOverride->hasByName( sCodeName ) )
+    if (mxOleCtrlNameOverride.is() && mxOleCtrlNameOverride->hasByName(sCodeName))
     {
         Reference< XIndexContainer > xIdToOleName;
         mxOleCtrlNameOverride->getByName( sCodeName ) >>= xIdToOleName;
commit 4126a8e2244d0c320a53c5720c3d5664563c8acc
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Thu Oct 11 09:16:55 2012 +0200

    only access first element if vector is not empty, fdo#55734
    
    Change-Id: I60db486195e7216968dc8c7c7c0c79fb7e8c1b88
    Signed-off-by: Noel Power <nopower at suse.com>
    Signed-off-by: Eike Rathke <erack at redhat.com>
    Signed-off-by: Kohei Yoshida <kohei.yoshida at gmail.com>

diff --git a/sc/source/core/tool/dbdata.cxx b/sc/source/core/tool/dbdata.cxx
index bb5475c..a6e6364 100644
--- a/sc/source/core/tool/dbdata.cxx
+++ b/sc/source/core/tool/dbdata.cxx
@@ -455,7 +455,9 @@ bool ScDBData::HasQueryParam() const
 
 bool ScDBData::HasSortParam() const
 {
-    return mpSortParam && mpSortParam->maKeyState[0].bDoSort;
+    return mpSortParam &&
+        !mpSortParam->maKeyState.empty() &&
+        mpSortParam->maKeyState[0].bDoSort;
 }
 
 bool ScDBData::HasSubTotalParam() const
commit b69fc5c2c85d06e89a43a07734f1b87c0c35f751
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Thu Oct 11 14:32:49 2012 +0200

    kill this hard coded sheet limit for xlsx import, rhbz#864858
    
    (cherry picked from commit 458d68fffa883bc706638299e5a5b2d1399beb0d)
    
    Signed-off-by: Eike Rathke <erack at redhat.com>
    (cherry picked from commit 0eee6469304ba15f42bcafb6707cc98bcbff9112)
    
    Change-Id: I49e12d97d1e17b0a63daf374e7ff4b4720129553
    Reviewed-on: https://gerrit.libreoffice.org/857
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Reviewed-by: Kohei Yoshida <kohei.yoshida at gmail.com>
    Tested-by: Kohei Yoshida <kohei.yoshida at gmail.com>

diff --git a/sc/source/filter/oox/addressconverter.cxx b/sc/source/filter/oox/addressconverter.cxx
index 52e74eb..1da3966 100644
--- a/sc/source/filter/oox/addressconverter.cxx
+++ b/sc/source/filter/oox/addressconverter.cxx
@@ -57,7 +57,7 @@ using ::rtl::OUStringToOString;
 namespace {
 
 //! TODO: this limit may change, is there a way to obtain it via API?
-const sal_Int16 API_MAXTAB          = 255;
+const sal_Int16 API_MAXTAB          = MAXTAB;
 
 const sal_Int32 OOX_MAXCOL          = static_cast< sal_Int32 >( (1 << 14) - 1 );
 const sal_Int32 OOX_MAXROW          = static_cast< sal_Int32 >( (1 << 20) - 1 );
commit c450c73ab7c83a55209cc7de9381cc32eb6313ff
Author: Noel Power <noel.power at suse.com>
Date:   Wed Oct 10 16:49:35 2012 +0100

    fix for fdo#53814 Revert "there should be no need any more for this check"
    
    This reverts commit bea018a7040c36e91487b27c7b59c6c8a970bf5f.
    
    Change-Id: Id554a8f05b82f146a505ac0a39afe14a3161291c
    (cherry picked from commit cd9d51a36cc3106d4124855874af657615a93061)
    
    Signed-off-by: Kohei Yoshida <kohei.yoshida at gmail.com>
    Signed-off-by: Jan Holesovsky <kendy at suse.cz>
    Signed-off-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 15087c5..7be749e 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -386,10 +386,14 @@ short ScTable::CompareCell( sal_uInt16 nSort,
     if (pCell1)
     {
         eType1 = pCell1->GetCellType();
+        if (eType1 == CELLTYPE_NOTE)
+            pCell1 = NULL;
     }
     if (pCell2)
     {
         eType2 = pCell2->GetCellType();
+        if (eType2 == CELLTYPE_NOTE)
+            pCell2 = NULL;
     }
 
     if (pCell1)
commit ddc9f466c26d40007db069054c6fc43a43319cb4
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date:   Wed Oct 10 16:52:42 2012 +0200

    bump product version to 3.6.3.1+, release number to 1
    
    Change-Id: Ie46423f68c2404ff3237ef0979c72413ab72bdfe

diff --git a/instsetoo_native/util/openoffice.lst b/instsetoo_native/util/openoffice.lst
index 39e896b..c7222f0 100644
--- a/instsetoo_native/util/openoffice.lst
+++ b/instsetoo_native/util/openoffice.lst
@@ -5,7 +5,7 @@ Globals
     {
         variables
         {
-            UREPACKAGEVERSION 3.6.3.0
+            UREPACKAGEVERSION 3.6.3.1
             URELAYERVERSION 1
             REFERENCEOOOMAJORMINOR 3.4
             UNIXBASISROOTNAME libreoffice3.6
@@ -51,12 +51,12 @@ LibreOffice
             PRODUCTVERSION 3.6
             PRODUCTEXTENSION
             LONG_PRODUCTEXTENSION
-            SHORT_PRODUCTEXTENSION .3.0
+            SHORT_PRODUCTEXTENSION .3.1
             POSTVERSIONEXTENSION
             POSTVERSIONEXTENSIONUNIX
             BRANDPACKAGEVERSION 3.6
             USERDIRPRODUCTVERSION 3
-            ABOUTBOXPRODUCTVERSION 3.6.3.0
+            ABOUTBOXPRODUCTVERSION 3.6.3.1
             ABOUTBOXPRODUCTVERSIONSUFFIX +
             BASEPRODUCTVERSION 3.6
             PCPFILENAME libreoffice.pcp
@@ -66,7 +66,7 @@ LibreOffice
             FILEFORMATNAME OpenOffice.org
             FILEFORMATVERSION 1.0
             WRITERCOMPATIBILITYVERSIONOOO11 OpenOffice.org 1.1
-            PACKAGEVERSION 3.6.3.0
+            PACKAGEVERSION 3.6.3.1
             PACKAGEREVISION {buildid}
             LICENSENAME LGPL
             GLOBALFILEGID gid_File_Lib_Vcl
@@ -103,13 +103,13 @@ LibreOffice_Dev
             PRODUCTVERSION 3.6
             PRODUCTEXTENSION
             LONG_PRODUCTEXTENSION
-            SHORT_PRODUCTEXTENSION .3.0
+            SHORT_PRODUCTEXTENSION .3.1
             UNIXBASISROOTNAME lodev3.6
             POSTVERSIONEXTENSION
             POSTVERSIONEXTENSIONUNIX
             BRANDPACKAGEVERSION 3.6
             USERDIRPRODUCTVERSION 3
-            ABOUTBOXPRODUCTVERSION 3.6.3.0
+            ABOUTBOXPRODUCTVERSION 3.6.3.1
             ABOUTBOXPRODUCTVERSIONSUFFIX +
             BASEPRODUCTVERSION 3.6
             DEVELOPMENTPRODUCT 1
@@ -124,7 +124,7 @@ LibreOffice_Dev
             FILEFORMATNAME OpenOffice.org
             FILEFORMATVERSION 1.0
             WRITERCOMPATIBILITYVERSIONOOO11 OpenOffice.org 1.1
-            PACKAGEVERSION 3.6.3.0
+            PACKAGEVERSION 3.6.3.1
             PACKAGEREVISION {buildid}
             LICENSENAME LGPL
             GLOBALFILEGID gid_File_Lib_Vcl
@@ -162,12 +162,12 @@ URE
         {
             PRODUCTNAME URE
             PRODUCTVERSION 3.6
-            PACKAGEVERSION 3.6.3.0
+            PACKAGEVERSION 3.6.3.1
             PACKAGEREVISION 1
             PRODUCTEXTENSION
             BRANDPACKAGEVERSION 3.6
             LONG_PRODUCTEXTENSION
-            SHORT_PRODUCTEXTENSION .3.0
+            SHORT_PRODUCTEXTENSION .3.1
             LICENSENAME LGPL
             NOVERSIONINDIRNAME 1
             PCPFILENAME ure.pcp
@@ -199,11 +199,11 @@ LibreOffice_SDK
             PRODUCTVERSION 3.6
             PRODUCTEXTENSION
             LONG_PRODUCTEXTENSION
-            SHORT_PRODUCTEXTENSION .3.0
+            SHORT_PRODUCTEXTENSION .3.1
             POSTVERSIONEXTENSION SDK
             POSTVERSIONEXTENSIONUNIX sdk
             BRANDPACKAGEVERSION 3.6
-            PACKAGEVERSION 3.6.3.0
+            PACKAGEVERSION 3.6.3.1
             PACKAGEREVISION {buildid}
             PACK_INSTALLED 1
             DMG_VOLUMEEXTENSION SDK
@@ -240,12 +240,12 @@ LibreOffice_Dev_SDK
             PRODUCTVERSION 3.6
             PRODUCTEXTENSION
             LONG_PRODUCTEXTENSION
-            SHORT_PRODUCTEXTENSION .3.0
+            SHORT_PRODUCTEXTENSION .3.1
             UNIXBASISROOTNAME lodev3.6
             POSTVERSIONEXTENSION SDK
             POSTVERSIONEXTENSIONUNIX sdk
             BRANDPACKAGEVERSION 3.6
-            PACKAGEVERSION 3.6.3.0
+            PACKAGEVERSION 3.6.3.1
             PACKAGEREVISION {buildid}
             BASISPACKAGEPREFIX lodevbasis
             UREPACKAGEPREFIX lodev
@@ -287,11 +287,11 @@ LibreOffice_Test
             PRODUCTVERSION 3.6
             PRODUCTEXTENSION
             LONG_PRODUCTEXTENSION
-            SHORT_PRODUCTEXTENSION .3.0
+            SHORT_PRODUCTEXTENSION .3.1
             POSTVERSIONEXTENSION TEST
             POSTVERSIONEXTENSIONUNIX test
             BRANDPACKAGEVERSION 3.6
-            PACKAGEVERSION 3.6.3.0
+            PACKAGEVERSION 3.6.3.1
             PACKAGEREVISION {buildid}
             PACK_INSTALLED 1
             DMG_VOLUMEEXTENSION TEST
@@ -328,12 +328,12 @@ LibreOffice_Dev_Test
             PRODUCTVERSION 3.6
             PRODUCTEXTENSION
             LONG_PRODUCTEXTENSION
-            SHORT_PRODUCTEXTENSION .3.0
+            SHORT_PRODUCTEXTENSION .3.1
             UNIXBASISROOTNAME lodev3.6
             POSTVERSIONEXTENSION TEST
             POSTVERSIONEXTENSIONUNIX test
             BRANDPACKAGEVERSION 3.6
-            PACKAGEVERSION 3.6.3.0
+            PACKAGEVERSION 3.6.3.1
             PACKAGEREVISION {buildid}
             BASISPACKAGEPREFIX lodevbasis
             UREPACKAGEPREFIX lodev
@@ -374,12 +374,12 @@ OxygenOffice
             PRODUCTVERSION 3.6
             PRODUCTEXTENSION
             LONG_PRODUCTEXTENSION
-            SHORT_PRODUCTEXTENSION .3.0
+            SHORT_PRODUCTEXTENSION .3.1
             POSTVERSIONEXTENSION
             POSTVERSIONEXTENSIONUNIX
             BRANDPACKAGEVERSION 3.6
             USERDIRPRODUCTVERSION 3
-            ABOUTBOXPRODUCTVERSION 3.6.3.0
+            ABOUTBOXPRODUCTVERSION 3.6.3.1
             ABOUTBOXPRODUCTVERSIONSUFFIX +
             BASEPRODUCTVERSION 3.6
             PCPFILENAME openoffice.pcp
@@ -389,7 +389,7 @@ OxygenOffice
             FILEFORMATNAME OpenOffice.org
             FILEFORMATVERSION 1.0
             WRITERCOMPATIBILITYVERSIONOOO11 OpenOffice.org 1.1
-            PACKAGEVERSION 3.6.3.0
+            PACKAGEVERSION 3.6.3.1
             PACKAGEREVISION {buildid}
             LICENSENAME LGPL
             SERVICESPROJEKT 1
diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk
index 0c5b06b..5160840 100644
--- a/solenv/inc/minor.mk
+++ b/solenv/inc/minor.mk
@@ -1,6 +1,6 @@
 RSCVERSION=360
-RSCREVISION=360m1(Build:0)
-BUILD=0
+RSCREVISION=360m1(Build:1)
+BUILD=1
 LAST_MINOR=m1
 SOURCEVERSION=OOO360
 
commit c933676bea1acc61cfc8853a0e327345919b79de
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date:   Wed Oct 10 14:54:46 2012 +0200

    Branch libreoffice-3-6-3
    
    This is 'libreoffice-3-6-3' - the stable branch for the 3.6.3 release.
    Only very safe changes, reviewed by three people are allowed.
    
    If you want to commit more complicated fix for the next 3.6.x release,
    please use the 'libreoffice-3-6' branch.
    
    If you want to build something cool, unstable, and risky, use master.
    
    Change-Id: I4976818f4d99fb34e4300ebc87e0856a6727e785
commit b747a8f75f97f6e83297073e61acd95c7a9cc3d6
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Oct 9 17:56:21 2012 +0200

    fdo#55526: fix import of RTF \brdrhair:
    
    This is a hairline border that should be mapped to a non-zero width
    border given that LO doesn't have hairline borders as such.
    
    Change-Id: I4a2d2f983ac8e016b2ddb6b38435f5562e545c72
    (cherry picked from commit 59ab112fe93cbf4e2b052f4e8bafbdb4e6738bef)
    Reviewed-on: https://gerrit.libreoffice.org/847
    Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
    Tested-by: Fridrich Strba <fridrich at documentfoundation.org>

diff --git a/editeng/source/items/borderline.cxx b/editeng/source/items/borderline.cxx
index 8a09ba7..6fdefe2 100644
--- a/editeng/source/items/borderline.cxx
+++ b/editeng/source/items/borderline.cxx
@@ -129,7 +129,7 @@ ConvertBorderStyleFromWord(int const nWordLineStyle)
         // First the single lines
         case  1:
         case  2: // thick line
-        case  5:
+        case  5: // hairline
         // and the unsupported special cases which we map to a single line
         case  8:
         case  9:
@@ -211,9 +211,23 @@ ConvertBorderWidthFromWord(SvxBorderStyle const eStyle, double const fWidth,
     {
         // Single lines
         case SOLID:
+            switch (nWordLineStyle)
+            {
+                case 2:
+                    return (fWidth * 2.0); // thick
+                    break;
+                case 5: // fdo#55526: map 0 hairline width to > 0
+                    return (fWidth > 1.0) ? fWidth : 1.0;
+                    break;
+                default:
+                    return fWidth;
+                    break;
+            }
+            break;
+
         case DOTTED:
         case DASHED:
-            return (2 == nWordLineStyle) ? (fWidth * 2.0) : fWidth;
+            return fWidth;
             break;
 
         // Double lines
commit 6dd3e7afecd703e8f1435a63e7dad37a4f07b800
Author: Sergey Farbotka <z8sergey8z at gmail.com>
Date:   Wed Oct 10 09:29:55 2012 +0200

    Fix fdo#55142 - use proper output offsets.
    
    Change-Id: I49cd72a91cd31ddc8b3d57000210523a73926d1f
    Reviewed-on: https://gerrit.libreoffice.org/853
    Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
    Tested-by: Fridrich Strba <fridrich at documentfoundation.org>

diff --git a/vcl/aqua/source/gdi/salatslayout.cxx b/vcl/aqua/source/gdi/salatslayout.cxx
index f368f51..cf827ef 100644
--- a/vcl/aqua/source/gdi/salatslayout.cxx
+++ b/vcl/aqua/source/gdi/salatslayout.cxx
@@ -436,7 +436,7 @@ void ATSLayout::DrawText( SalGraphics& rGraphics ) const
         {
             const SubPortion& rSubPortion = *it;
             // calculate sub-portion offset for rotated text
-            Fixed nXOfsFixed = 0, nYOfsFixed = 0;
+            Fixed nXOfsFixed = rSubPortion.mnXOffset, nYOfsFixed = 0;
             if( rAquaGraphics.mnATSUIRotation != 0 )
             {
                 const double fRadians = rAquaGraphics.mnATSUIRotation * (M_PI/0xB40000);
commit 0820afc00b2ab647413c3118ad75fdddecf505e0
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Oct 9 17:27:52 2012 +0200

    add editeng::ConvertBorderWidthFromWord:
    
    Replace the 2 duplicate implementations of this in ww8 and writerfilter
    with a common one.  Differences were:
     2) ww8 doubles the with, writerfilter does not
    13) unsupported, mapped to THINTHICK_SMALLGAP vs. THICKTHIN_SMALLGAP
    22) unsupported, mapped to DASHED vs. SOLID
    26) INSET not supported in writerfilter
    27) OUTSET not supported in writerfilter
    
    Change-Id: I533b77394388e736f38d70284a6a11061d81e813
    (cherry picked from commit ecd70a727d7f559ebda1dd726cea1be472948270)
    Reviewed-on: https://gerrit.libreoffice.org/846
    Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
    Tested-by: Fridrich Strba <fridrich at documentfoundation.org>

diff --git a/editeng/inc/editeng/borderline.hxx b/editeng/inc/editeng/borderline.hxx
index 7d18587..4bb4388 100644
--- a/editeng/inc/editeng/borderline.hxx
+++ b/editeng/inc/editeng/borderline.hxx
@@ -52,9 +52,12 @@ namespace editeng {
     // values from ::com::sun::star::table::BorderLineStyle
     typedef sal_Int16 SvxBorderStyle;
 
+    // convert border style between Word formats and LO
+    SvxBorderStyle EDITENG_DLLPUBLIC ConvertBorderStyleFromWord(int);
     /// convert border width in twips between Word formats and LO
     double EDITENG_DLLPUBLIC ConvertBorderWidthToWord(SvxBorderStyle, double);
-    double EDITENG_DLLPUBLIC ConvertBorderWidthFromWord(SvxBorderStyle, double);
+    double EDITENG_DLLPUBLIC ConvertBorderWidthFromWord(SvxBorderStyle,
+            double, int);
 
     class EDITENG_DLLPUBLIC SvxBorderLine
     {
diff --git a/editeng/source/items/borderline.cxx b/editeng/source/items/borderline.cxx
index 9f538c2..8a09ba7 100644
--- a/editeng/source/items/borderline.cxx
+++ b/editeng/source/items/borderline.cxx
@@ -120,6 +120,78 @@ SvxBorderLine::SvxBorderLine( const Color *pCol, long nWidth,
         aColor = *pCol;
 }
 
+
+SvxBorderStyle
+ConvertBorderStyleFromWord(int const nWordLineStyle)
+{
+    switch (nWordLineStyle)
+    {
+        // First the single lines
+        case  1:
+        case  2: // thick line
+        case  5:
+        // and the unsupported special cases which we map to a single line
+        case  8:
+        case  9:
+        case 20:
+            return SOLID;
+            break;
+        case  6:
+            return DOTTED;
+            break;
+        case  7:
+        case 22:
+            return DASHED;
+            break;
+        // then the shading beams which we represent by a double line
+        case 23:
+            return DOUBLE;
+            break;
+        // then the double lines, for which we have good matches
+        case  3:
+        case 10: // Don't have triple so use double
+        case 21: // Don't have double wave: use double instead
+            return DOUBLE;
+            break;
+        case 11:
+            return THINTHICK_SMALLGAP;
+            break;
+        case 12:
+        case 13: // Don't have thin thick thin, so use thick thin
+            return THICKTHIN_SMALLGAP;
+            break;
+        case 14:
+            return THINTHICK_MEDIUMGAP;
+            break;
+        case 15:
+        case 16: // Don't have thin thick thin, so use thick thin
+            return THICKTHIN_MEDIUMGAP;
+            break;
+        case 17:
+            return THINTHICK_LARGEGAP;
+            break;
+        case 18:
+        case 19: // Don't have thin thick thin, so use thick thin
+            return THICKTHIN_LARGEGAP;
+            break;
+        case 24:
+            return EMBOSSED;
+            break;
+        case 25:
+            return ENGRAVED;
+            break;
+        case 26:
+            return OUTSET;
+            break;
+        case 27:
+            return INSET;
+            break;
+        default:
+            return NONE;
+            break;
+    }
+}
+
 static const double THINTHICK_SMALLGAP_line2 = 15.0;
 static const double THINTHICK_SMALLGAP_gap   = 15.0;
 static const double THINTHICK_LARGEGAP_line1 = 30.0;
@@ -132,7 +204,8 @@ static const double OUTSET_line1 = 15.0;
 static const double INSET_line2  = 15.0;
 
 double
-ConvertBorderWidthFromWord(SvxBorderStyle const eStyle, double const fWidth)
+ConvertBorderWidthFromWord(SvxBorderStyle const eStyle, double const fWidth,
+        int const nWordLineStyle)
 {
     switch (eStyle)
     {
@@ -140,7 +213,7 @@ ConvertBorderWidthFromWord(SvxBorderStyle const eStyle, double const fWidth)
         case SOLID:
         case DOTTED:
         case DASHED:
-            return fWidth;
+            return (2 == nWordLineStyle) ? (fWidth * 2.0) : fWidth;
             break;
 
         // Double lines
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index 786bc00..a74c4d0 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -1279,83 +1279,13 @@ sal_uInt8 lcl_ReadBorders(bool bVer67, WW8_BRC* brc, WW8PLCFx_Cp_FKP* pPap,
 void GetLineIndex(SvxBoxItem &rBox, short nLineThickness, short nSpace, sal_uInt8 nCol, short nIdx,
     sal_uInt16 nOOIndex, sal_uInt16 nWWIndex, short *pSize=0)
 {
-    ::editeng::SvxBorderStyle eStyle = table::BorderLineStyle::SOLID;
-    switch (nIdx)
-    {
-        // First the single lines
-        case  1:
-        case  5:
-        // and the unsupported special cases which we map to a single line
-        case  8:
-        case  9:
-        case 20:
-        case 22:
-            eStyle = table::BorderLineStyle::SOLID;
-            break;
-        case  2:
-            {
-                eStyle = table::BorderLineStyle::SOLID;
-                nLineThickness *= 2;
-            }
-            break;
-        case  6:
-            eStyle = table::BorderLineStyle::DOTTED;
-            break;
-        case  7:
-            eStyle = table::BorderLineStyle::DASHED;
-            break;
-        // then the shading beams which we represent by a double line
-        case 23:
-            eStyle = table::BorderLineStyle::DOUBLE;
-            break;
-        // then the double lines, for which we have good matches
-        case  3:
-        case 10: //Don't have tripple so use double
-        case 21: //Don't have double wave: use double instead
-            eStyle = table::BorderLineStyle::DOUBLE;
-            break;
-        case 11:
-            eStyle = table::BorderLineStyle::THINTHICK_SMALLGAP;
-            break;
-        case 12:
-        case 13: //Don't have thin thick thin, so use thick thin
-            eStyle = table::BorderLineStyle::THICKTHIN_SMALLGAP;
-            break;
-        case 14:
-            eStyle = table::BorderLineStyle::THINTHICK_MEDIUMGAP;
-            break;
-        case 15:
-        case 16: //Don't have thin thick thin, so use thick thin
-            eStyle = table::BorderLineStyle::THICKTHIN_MEDIUMGAP;
-            break;
-        case 17:
-            eStyle = table::BorderLineStyle::THINTHICK_LARGEGAP;
-            break;
-        case 18:
-        case 19: //Don't have thin thick thin, so use thick thin
-            eStyle = table::BorderLineStyle::THICKTHIN_LARGEGAP;
-            break;
-        case 24:
-            eStyle = table::BorderLineStyle::EMBOSSED;
-            break;
-        case 25:
-            eStyle = table::BorderLineStyle::ENGRAVED;
-            break;
-        case 26:
-            eStyle = table::BorderLineStyle::OUTSET;
-            break;
-        case 27:
-            eStyle = table::BorderLineStyle::INSET;
-            break;
-        default:
-            eStyle = table::BorderLineStyle::NONE;
-            break;
-    }
+    ::editeng::SvxBorderStyle const eStyle(
+            ::editeng::ConvertBorderStyleFromWord(nIdx));
 
     ::editeng::SvxBorderLine aLine;
     aLine.SetBorderLineStyle( eStyle );
     double const fConverted( (table::BorderLineStyle::NONE == eStyle) ? 0.0 :
-            ::editeng::ConvertBorderWidthFromWord(eStyle, nLineThickness));
+        ::editeng::ConvertBorderWidthFromWord(eStyle, nLineThickness, nIdx));
     aLine.SetWidth(fConverted);
 
     //No AUTO for borders as yet, so if AUTO, use BLACK
diff --git a/writerfilter/source/dmapper/ConversionHelper.cxx b/writerfilter/source/dmapper/ConversionHelper.cxx
index bb060eb..dfb54a1 100644
--- a/writerfilter/source/dmapper/ConversionHelper.cxx
+++ b/writerfilter/source/dmapper/ConversionHelper.cxx
@@ -144,77 +144,16 @@ void MakeBorderLine( sal_Int32 nLineThickness,   sal_Int32 nLineType,
     if(!bIsOOXML && sal::static_int_cast<sal_uInt32>(nLineColor) < SAL_N_ELEMENTS(aBorderDefColor))
         nLineColor = aBorderDefColor[nLineColor];
 
-    sal_Int16 nLineStyle = NONE;
     // Map to our border types, we should use of one equal line
     // thickness, or one of smaller thickness. If too small we
     // can make the defecit up in additional white space or
     // object size
-    switch(nLineType)
-    {
-        // First the single lines
-        case  1:
-        case  2:
-        case  5:
-            nLineStyle = SOLID;
-            break;
-        // Dotted and dashed lines
-        case  6:
-            nLineStyle = DOTTED;
-            break;
-        case  7:
-        case 22:
-            nLineStyle = DASHED;
-            break;
-        // and the unsupported special cases which we map to a single line
-        case  8:
-        case  9:
-        case 20:
-            nLineStyle = SOLID;
-            break;
-        // Double line
-        case 3:
-        case 10: //Don't have tripple so use double
-        case 21:
-        case 23:
-            nLineStyle = DOUBLE;
-            break;
-        case 11:
-        case 13: //Don't have thin thick thin, so use thick thin
-            nLineStyle = THINTHICK_SMALLGAP;
-            break;
-        case 12:
-            nLineStyle = THICKTHIN_SMALLGAP;
-            break;
-        case 14:
-            nLineStyle = THINTHICK_MEDIUMGAP;
-            break;
-        case 15:
-        case 16: //Don't have thin thick thin, so use thick thin
-            nLineStyle = THICKTHIN_MEDIUMGAP;
-            break;
-        case 17:
-            nLineStyle = THINTHICK_LARGEGAP;
-            break;
-        case 18:
-        case 19: //Don't have thin thick thin, so use thick thin
-            nLineStyle = THICKTHIN_LARGEGAP;
-            break;
-        // Embossed and engraved lines
-        case 24:
-            nLineStyle = EMBOSSED;
-            break;
-        case 25:
-            nLineStyle = ENGRAVED;
-            break;
-        case 0:
-        case 255:
-        default:
-            break;
-    }
-
+    ::editeng::SvxBorderStyle const nLineStyle(
+            ::editeng::ConvertBorderStyleFromWord(nLineType));
     rToFill.LineStyle = nLineStyle;
     double const fConverted( (NONE == nLineStyle) ? 0.0 :
-        ::editeng::ConvertBorderWidthFromWord(nLineStyle, nLineThickness));
+        ::editeng::ConvertBorderWidthFromWord(nLineStyle, nLineThickness,
+            nLineType));
     rToFill.LineWidth = convertTwipToMM100(fConverted);
     rToFill.Color = nLineColor;
 }
commit 2570fa3ca70a1634b8c45a0b9e796af80616d71f
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Oct 9 18:56:26 2012 +0200

    RepositoryExternal: internal libpng requires zlib as well
    
    (cherry picked from commit 398ce44c54b26b31eb826c150926fd49e59b4f52
    and commit f96d58bd53d8068f6056b3f9e45a2b14be5dd4a9
    by Matúš Kukan <matus.kukan at gmail.com>)
    
    Change-Id: Ib23b2a6bd9301a03321ddb5c8a488b579fa8d1a2
    Reviewed-on: https://gerrit.libreoffice.org/848
    Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
    Tested-by: Fridrich Strba <fridrich at documentfoundation.org>

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 57b7249..730043c 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -1104,14 +1104,15 @@ endef
 
 else # !SYSTEM_LIBPNG
 
-$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO,\
+$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS,\
 	png \
 ))
 
 define gb_LinkTarget__use_png
-$(call gb_LinkTarget_use_libraries,$(1),\
+$(call gb_LinkTarget_use_static_libraries,$(1),\
 	png \
 )
+$(call gb_LinkTarget__use_zlib,$(1))
 
 endef
 
commit ffb06e5eaadabf2d80277a3f8808957fca8b3b0e
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Oct 9 13:32:15 2012 +0200

    fdo#54648: WW8 export: test that FlyFrm actually has layout frm
    
    The bugdoc has 2 "hidden" drawing objects that are invisible.
    
    Change-Id: I58179f2e620348db5357b38f834e1edca1f20ae2
    (cherry picked from commit c1d2eed375293d7c27bb885f344cc24ec0cd40ca)
    Reviewed-on: https://gerrit.libreoffice.org/845
    Reviewed-by: Muthu Subramanian K <muthusuba at gmail.com>
    Reviewed-by: Miklos Vajna <vmiklos at suse.cz>
    Tested-by: Miklos Vajna <vmiklos at suse.cz>

diff --git a/sw/source/filter/ww8/wrtw8esh.cxx b/sw/source/filter/ww8/wrtw8esh.cxx
index cfaf64b..88055d2 100644
--- a/sw/source/filter/ww8/wrtw8esh.cxx
+++ b/sw/source/filter/ww8/wrtw8esh.cxx
@@ -1665,6 +1665,10 @@ bool lcl_isInHeader(const SwFrmFmt& rFmt)
     if (!pFlyFrmFmt)
         return false;
     SwFlyFrm* pFlyFrm = const_cast<SwFlyFrm*>(pFlyFrmFmt->GetFrm());
+    if (!pFlyFrm) // fdo#54648: "hidden" drawing object has no layout frame
+    {
+        return false;
+    }
     SwPageFrm* pPageFrm = pFlyFrm->FindPageFrmOfAnchor();
     SwFrm* pHeader = pPageFrm->Lower();
     if (pHeader->GetType() == FRM_HEADER)
commit d126dcfe359782a6229156f7cbdb20e642b63a5e
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Oct 9 08:46:31 2012 +0200

    don't insert the same pointer twice into a ptr_set, fdo#55710
    
    Signed-off-by: Fridrich Å trba <fridrich.strba at bluewin.ch>

diff --git a/sc/source/filter/xml/xmlstyli.cxx b/sc/source/filter/xml/xmlstyli.cxx
index 167755f..59d1fe4 100644
--- a/sc/source/filter/xml/xmlstyli.cxx
+++ b/sc/source/filter/xml/xmlstyli.cxx
@@ -462,11 +462,11 @@ void XMLTableStyleContext::ApplyCondFormat( uno::Sequence<table::CellRangeAddres
             aMarkData.MarkFromRangeList(rRange, true);
             pDoc->ApplySelectionPattern( aPattern , aMarkData);
 
-            break;
+            return;
         }
     }
 
-    if(mpCondFormat)
+    if(mpCondFormat && mbDeleteCondFormat)
     {
         mbDeleteCondFormat = false;
         sal_uLong nIndex = pDoc->AddCondFormat(mpCondFormat, nTab );
commit a00d5c5321959c316f6103e18dddef1ad5f02376
Author: Noel Power <noel.power at suse.com>
Date:   Thu Oct 4 15:45:36 2012 +0100

    xlsx fix import/export of column widths fdo#55623
    
    column widths were never imported or exported correctly in xlsx.
    
    Change-Id: I92d469ce52495fe77281cb22341e9c5127e6b506
    (cherry picked from commit 8e753f8446554822d97969b0c18eba6cb9d79e26)
    
    Signed-off-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index 793155a..7da79aa 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -1483,6 +1483,7 @@ XclExpColinfo::XclExpColinfo( const XclExpRoot& rRoot,
     XclExpRecord( EXC_ID_COLINFO, 12 ),
     XclExpRoot( rRoot ),
     mnWidth( 0 ),
+    mnScWidth( 0 ),
     mnFlags( 0 ),
     mnFirstXclCol( static_cast< sal_uInt16 >( nScCol ) ),
     mnLastXclCol( static_cast< sal_uInt16 >( nScCol ) )
@@ -1497,7 +1498,7 @@ XclExpColinfo::XclExpColinfo( const XclExpRoot& rRoot,
     // column width
     sal_uInt16 nScWidth = rDoc.GetColWidth( nScCol, nScTab );
     mnWidth = XclTools::GetXclColumnWidth( nScWidth, GetCharWidth() );
-
+    mnScWidth =  sc::TwipsToHMM( nScWidth );
     // column flags
     ::set_flag( mnFlags, EXC_COLINFO_HIDDEN, rDoc.ColHidden(nScCol, nScTab) );
 
@@ -1563,7 +1564,7 @@ void XclExpColinfo::SaveXml( XclExpXmlStream& rStrm )
             // OOXTODO: XML_outlineLevel,
             // OOXTODO: XML_phonetic,
             XML_style,          lcl_GetStyleId( rStrm, maXFId.mnXFIndex ).getStr(),
-            XML_width,          OString::valueOf( (double) (mnWidth / 255.0) ).getStr(),
+            XML_width,          OString::valueOf( (double) (mnScWidth / (double)sc::TwipsToHMM( GetCharWidth() )) ).getStr(),
             FSEND );
 }
 
diff --git a/sc/source/filter/inc/xetable.hxx b/sc/source/filter/inc/xetable.hxx
index 291c37f..d9ce5ea 100644
--- a/sc/source/filter/inc/xetable.hxx
+++ b/sc/source/filter/inc/xetable.hxx
@@ -783,6 +783,7 @@ private:
 private:
     XclExpXFId          maXFId;             /// The XF identifier for column default format.
     sal_uInt16          mnWidth;            /// Excel width of the column.
+    sal_uInt16          mnScWidth;          /// Calc width of the column.
     sal_uInt16          mnFlags;            /// Additional column flags.
     sal_uInt16          mnFirstXclCol;      /// Index to first column.
     sal_uInt16          mnLastXclCol;       /// Index to last column.
diff --git a/sc/source/filter/oox/unitconverter.cxx b/sc/source/filter/oox/unitconverter.cxx
index e2feb87..2d0431b 100644
--- a/sc/source/filter/oox/unitconverter.cxx
+++ b/sc/source/filter/oox/unitconverter.cxx
@@ -149,18 +149,17 @@ void UnitConverter::finalizeImport()
         {
             // XDevice expects pixels in font descriptor, but font contains twips
             FontDescriptor aDesc = pDefFont->getFontDescriptor();
-            aDesc.Height = static_cast< sal_Int16 >( scaleValue( aDesc.Height, UNIT_TWIP, UNIT_REFDEVX ) + 0.5 );
             Reference< XFont > xFont = xDevice->getFont( aDesc );
             if( xFont.is() )
             {
                 // get maximum width of all digits
                 sal_Int32 nDigitWidth = 0;
                 for( sal_Unicode cChar = '0'; cChar <= '9'; ++cChar )
-                    nDigitWidth = ::std::max( nDigitWidth, scaleToMm100( xFont->getCharWidth( cChar ), UNIT_REFDEVX ) );
+                    nDigitWidth = ::std::max( nDigitWidth, scaleToMm100( xFont->getCharWidth( cChar ), UNIT_TWIP ) );
                 if( nDigitWidth > 0 )
                     maCoeffs[ UNIT_DIGIT ] = nDigitWidth;
                 // get width of space character
-                sal_Int32 nSpaceWidth = scaleToMm100( xFont->getCharWidth( ' ' ), UNIT_REFDEVX );
+                sal_Int32 nSpaceWidth = scaleToMm100( xFont->getCharWidth( ' ' ), UNIT_TWIP );
                 if( nSpaceWidth > 0 )
                     maCoeffs[ UNIT_SPACE ] = nSpaceWidth;
             }
commit a4cdd39b154cfc0c7cb9912f8d31b59dec3e5e60
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Oct 5 15:00:39 2012 +0200

    fdo#46071: Do not hide windows based on nil "Visible" property
    
    This appears to be messy:  The /org.openoffice.Office.Views/WindowType
    configuration group template has both a nilable bool "Visible" property and a
    UserData/Data string property that encodes various things like geometry---but
    also visibility---in a string.
    
    Now, likely due to the problem that has meanwhile been fixed through
    f3f79cc9e6c265baf48955d53f7e888205e0b3e0 "Resolves fdo#46074: Fix
    Partial::contains for paths that go past a leaf node," some
    registrymodification.xcu files in the wild contain such WindowType entries in
    "default" state, without a UserData/Data string and with a nil "Visible"
    property.
    
    The way SfxChildWindow::InitializeChildWinFactory_Impl and
    SvtViewOptions::IsVisible are implemented, they will always lead to an invisible
    window for such broken registrymodification.xcu data (as IsVisible unhelpfully
    returns false for a nil value, and InitializeChildWinFactory_Impl uses that
    value when there is no UserData/Data string).
    
    For the Math formula editor window (ID 30378) this means that it can disappear
    from the UI completely, as there appears to be no UI trigger for the user to
    show it in case it is hidden.
    
    The fix is to introdue SvtViewOptions::HasVisible (which only returns true if
    the property is not nil) and change InitializeChidlWinFactory_Impl to only use
    the value of IsVisible() if HasVisible() returns true.  This makes the code even
    more baroque, but this is a rather central, generic piece of code for all sorts
    of windows, so I do not want to break any other uses by e.g. changing IsVisible
    to return true for a nil property.
    
    Change-Id: Iae40075a7116a8aabd2d25aa9334709522e23d8f
    (cherry picked from commit 9db74c6133ede2a28af077fd563398176ff0d858)
    Reviewed-on: https://gerrit.libreoffice.org/773
    Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
    Tested-by: Fridrich Strba <fridrich at documentfoundation.org>

diff --git a/sfx2/source/appl/childwin.cxx b/sfx2/source/appl/childwin.cxx
index a698002..13afd10 100644
--- a/sfx2/source/appl/childwin.cxx
+++ b/sfx2/source/appl/childwin.cxx
@@ -365,7 +365,7 @@ void SfxChildWindow::InitializeChildWinFactory_Impl( sal_uInt16 nId, SfxChildWin
     // load configuration
     SvtViewOptions aWinOpt( E_WINDOW, String::CreateFromInt32( nId ) );
 
-    if ( aWinOpt.Exists() )
+    if ( aWinOpt.Exists() && aWinOpt.HasVisible() )
         rInfo.bVisible  = aWinOpt.IsVisible(); // set state from configuration. Can be overwritten by UserData, see below
 
     ::com::sun::star::uno::Sequence < ::com::sun::star::beans::NamedValue > aSeq = aWinOpt.GetUserData();
diff --git a/unotools/inc/unotools/viewoptions.hxx b/unotools/inc/unotools/viewoptions.hxx
index 34c0059..faad441 100644
--- a/unotools/inc/unotools/viewoptions.hxx
+++ b/unotools/inc/unotools/viewoptions.hxx
@@ -264,6 +264,13 @@ class UNOTOOLS_DLLPUBLIC SvtViewOptions: public utl::detail::Options
         sal_Bool IsVisible (                 ) const;
         void     SetVisible( sal_Bool bState );
 
+        /** Return true if the "Visible" property actually has a non-nil value
+
+            (IsVisible will somewhat arbitrarily return false if the property is
+            nil.)
+        */
+        bool HasVisible() const;
+
         /*-****************************************************************************************************//**
             @short      use it to set/get the extended user data (consisting of a set of named scalar values)
             @descr      It's supported for ALL types!
diff --git a/unotools/source/config/viewoptions.cxx b/unotools/source/config/viewoptions.cxx
index 112ffbb..a327c77 100644
--- a/unotools/source/config/viewoptions.cxx
+++ b/unotools/source/config/viewoptions.cxx
@@ -283,6 +283,8 @@ class SvtViewOptionsBase_Impl
 {
     //-------------------------------------------------------------------------------------------------------------
     public:
+        enum State { STATE_NONE, STATE_FALSE, STATE_TRUE };
+
                                                         SvtViewOptionsBase_Impl ( const ::rtl::OUString&                                sList    );
         virtual                                        ~SvtViewOptionsBase_Impl (                                                                );
         sal_Bool                                        Exists                  ( const ::rtl::OUString&                                sName    );
@@ -296,7 +298,7 @@ class SvtViewOptionsBase_Impl
         sal_Int32                                       GetPageID               ( const ::rtl::OUString&                                sName    );
         void                                            SetPageID               ( const ::rtl::OUString&                                sName    ,
                                                                                         sal_Int32                                       nID      );
-        sal_Bool                                        GetVisible              ( const ::rtl::OUString&                                sName    );
+        State                                           GetVisible              ( const ::rtl::OUString&                                sName    );
         void                                            SetVisible              ( const ::rtl::OUString&                                sName    ,
                                                                                         sal_Bool                                        bVisible );
         css::uno::Any                                   GetUserItem             ( const ::rtl::OUString&                                sName    ,
@@ -703,28 +705,33 @@ void SvtViewOptionsBase_Impl::SetPageID( const ::rtl::OUString& sName ,
 }
 
 //*****************************************************************************************************************
-sal_Bool SvtViewOptionsBase_Impl::GetVisible( const ::rtl::OUString& sName )
+SvtViewOptionsBase_Impl::State SvtViewOptionsBase_Impl::GetVisible( const ::rtl::OUString& sName )
 {
     #ifdef DEBUG_VIEWOPTIONS
     ++m_nReadCount;
     #endif
 
-    sal_Bool bVisible = sal_False;
+    State eState = STATE_NONE;
     try
     {
         css::uno::Reference< css::beans::XPropertySet > xNode(
             impl_getSetNode(sName, sal_False),
             css::uno::UNO_QUERY);
         if (xNode.is())
-            xNode->getPropertyValue(PROPERTY_VISIBLE) >>= bVisible;
+        {
+            sal_Bool bVisible = sal_False;
+            if (xNode->getPropertyValue(PROPERTY_VISIBLE) >>= bVisible)
+            {
+                eState = bVisible ? STATE_TRUE : STATE_FALSE;
+            }
+        }
     }
     catch(const css::uno::Exception& ex)
         {
-            bVisible = sal_False;
             SVTVIEWOPTIONS_LOG_UNEXPECTED_EXCEPTION(ex)
         }
 
-    return bVisible;
+    return eState;
 }
 
 //*****************************************************************************************************************
@@ -1082,7 +1089,7 @@ sal_Bool SvtViewOptions::IsVisible() const
 
     sal_Bool bState = sal_False;
     if( m_eViewType == E_WINDOW )
-        bState = m_pDataContainer_Windows->GetVisible( m_sViewName );
+        bState = m_pDataContainer_Windows->GetVisible( m_sViewName ) == SvtViewOptionsBase_Impl::STATE_TRUE;
 
     return bState;
 }
@@ -1104,6 +1111,25 @@ void SvtViewOptions::SetVisible( sal_Bool bState )
 }
 
 //*****************************************************************************************************************
+//  public method
+//*****************************************************************************************************************
+bool SvtViewOptions::HasVisible() const
+{
+    // Ready for multithreading
+    ::osl::MutexGuard aGuard( GetOwnStaticMutex() );
+
+    // Safe impossible cases.
+    // These call isn't allowed for dialogs, tab-dialogs or tab-pages!
+    OSL_ENSURE( !(m_eViewType==E_DIALOG||m_eViewType==E_TABDIALOG||m_eViewType==E_TABPAGE), "SvtViewOptions::IsVisible()\nCall not allowed for Dialogs, TabDialogs or TabPages! I do nothing!\n" );
+
+    bool bState = false;
+    if( m_eViewType == E_WINDOW )
+        bState = m_pDataContainer_Windows->GetVisible( m_sViewName ) != SvtViewOptionsBase_Impl::STATE_NONE;
+
+    return bState;
+}
+
+//*****************************************************************************************************************
 css::uno::Sequence< css::beans::NamedValue > SvtViewOptions::GetUserData() const
 {
     // Ready for multithreading
commit 314f92b0da54085499ea06e7ee53bef4b27181db
Author: Michael Stahl <mstahl at redhat.com>
Date:   Thu Oct 4 19:17:56 2012 +0200

    rhbz#820283, fdo#55462: sw: better fix for DOCX table import crash:
    
    The fix in 6d2e09db4a677068095b0bebd08fbbb96620d60c is completely bogus.
    Only vertically merged boxes result in dummy boxes with negative span,
    while horizontally merged boxes result in different numbers of boxes per
    line.  So instead of inserting boxes, adjust the width of the last box
    in rows that are missing boxes, such that all lines have the same width.
    
    (cherry picked from commit 4113d9664c60d004474dfc1cffbcd7dc50fa6dc4)
    
    Conflicts:
    	sw/source/core/docnode/ndtbl.cxx
    
    Change-Id: I4e90e852b314bf6f7885bde7b450dab7c668469e
    Reviewed-on: https://gerrit.libreoffice.org/764
    Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
    Tested-by: Fridrich Strba <fridrich at documentfoundation.org>

diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index ea1f4e4..0b97807 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -1261,6 +1261,29 @@ SwNodeRange * SwNodes::ExpandRangeForTableBox(const SwNodeRange & rRange)
     return pResult;
 }
 
+static void
+lcl_SetTableBoxWidths2(SwTable & rTable, size_t const nMaxBoxes,
+        SwTableBoxFmt & rBoxFmt, SwDoc & rDoc)
+{
+    // rhbz#820283, fdo#55462: set default box widths so table width is covered
+    SwTableLines & rLines = rTable.GetTabLines();
+    for (size_t nTmpLine = 0; nTmpLine < rLines.Count(); ++nTmpLine)
+    {
+        SwTableBoxes & rBoxes = rLines[nTmpLine]->GetTabBoxes();
+        size_t const nMissing = nMaxBoxes - rBoxes.size();
+        if (nMissing)
+        {
+            // default width for box at the end of an incomplete line
+            SwTableBoxFmt *const pNewFmt = rDoc.MakeTableBoxFmt();
+            pNewFmt->SetFmtAttr( SwFmtFrmSize(ATT_VAR_SIZE,
+                        (USHRT_MAX / nMaxBoxes) * (nMissing + 1)) );
+            pNewFmt->Add(rBoxes.back());
+        }
+    }
+    // default width for all boxes not at the end of an incomplete line
+    rBoxFmt.SetFmtAttr(SwFmtFrmSize(ATT_VAR_SIZE, USHRT_MAX / nMaxBoxes));
+}
+
 SwTableNode* SwNodes::TextToTable( const SwNodes::TableRanges_t & rTableNodes,
                                     SwTableFmt* pTblFmt,
                                     SwTableLineFmt* pLineFmt,
@@ -1372,33 +1395,7 @@ SwTableNode* SwNodes::TextToTable( const SwNodes::TableRanges_t & rTableNodes,
             nMaxBoxes = nBoxes;
     }
 
-    // die Tabelle ausgleichen, leere Sections einfuegen
-    sal_uInt16 n;
-
-    if( !aPosArr.empty() )
-    {
-        SwTableLines& rLns = pTable->GetTabLines();
-        sal_uInt16 nLastPos = 0;
-        for( n = 0; n < aPosArr.size(); ++n )
-        {
-            SwTableBoxFmt *pNewFmt = pDoc->MakeTableBoxFmt();
-            pNewFmt->SetFmtAttr( SwFmtFrmSize( ATT_VAR_SIZE,
-                                                aPosArr[ n ] - nLastPos ));
-            for( sal_uInt16 nLines2 = 0; nLines2 < rLns.Count(); ++nLines2 )
-                //JP 24.06.98: hier muss ein Add erfolgen, da das BoxFormat
-                //              von der rufenden Methode noch gebraucht wird!
-                pNewFmt->Add( rLns[ nLines2 ]->GetTabBoxes()[ n ] );
-
-            nLastPos = aPosArr[ n ];
-        }
-
-        // damit die Tabelle die richtige Groesse bekommt, im BoxFormat die
-        // Groesse nach "oben" transportieren.
-        OSL_ENSURE( !pBoxFmt->GetDepends(), "wer ist in dem Format noch angemeldet" );
-        pBoxFmt->SetFmtAttr( SwFmtFrmSize( ATT_VAR_SIZE, nLastPos ));
-    }
-    else
-        pBoxFmt->SetFmtAttr( SwFmtFrmSize( ATT_VAR_SIZE, USHRT_MAX / nMaxBoxes ));
+    lcl_SetTableBoxWidths2(*pTable, nMaxBoxes, *pBoxFmt, *pDoc);
 
     // das wars doch wohl ??
     return pTblNd;
commit e935aab070404d318d5fa2eee4bfbd1184b8d080
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Thu Oct 4 20:16:56 2012 +0200

    limit polynomial degree in the dialog, related fdo#46100
    
    Change-Id: If49db1a503548103dcf605cc1c2d8064cdd2d5b2
    Signed-off-by: Kohei Yoshida <kohei.yoshida at gmail.com>

diff --git a/chart2/source/controller/dialogs/tp_ChartType.src b/chart2/source/controller/dialogs/tp_ChartType.src
index 049ef89..0f4966a 100644
--- a/chart2/source/controller/dialogs/tp_ChartType.src
+++ b/chart2/source/controller/dialogs/tp_ChartType.src
@@ -257,11 +257,11 @@ ModalDialog DLG_SPLINE_PROPERTIES
         Repeat = TRUE ;
         Spin = TRUE ;
         Minimum = 1 ;
-        Maximum = 100 ;
+        Maximum = 15 ;
         StrictFormat = TRUE ;
         Unit = FUNIT_CUSTOM ;
         First = 1 ;
-        Last = 100 ;
+        Last = 15 ;
         SpinSize = 1 ;
     };
     FixedLine FL_SPLINE_DIALOGBUTTONS
commit 9dd2c8ec4992516f0e6b3e4a98eda89ab8abc579
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Thu Oct 4 19:55:04 2012 +0200

    limit degree for b-spline to 15 to prevent std::bad_alloc, fdo#46100
    
    Change-Id: Ib801c6af84b52ed093be2ba5eba902513bfa4070
    Signed-off-by: Kohei Yoshida <kohei.yoshida at gmail.com>

diff --git a/chart2/source/view/charttypes/Splines.cxx b/chart2/source/view/charttypes/Splines.cxx
index 5f29c41..eac5b4a 100644
--- a/chart2/source/view/charttypes/Splines.cxx
+++ b/chart2/source/view/charttypes/Splines.cxx
@@ -35,6 +35,8 @@
 #include <algorithm>
 #include <functional>
 
+#define MAX_BSPLINE_DEGREE 15
+
 //.............................................................................
 namespace chart
 {
@@ -702,7 +704,9 @@ void SplineCalculater::CalculateBSplines(
     // ODF1.2 spec variable p
     OSL_ASSERT( nResolution > 1 );
     OSL_ASSERT( nDegree >= 1 );
-    sal_uInt32 p = nDegree;
+
+    // limit the b-spline degree to prevent insanely large sets of points
+    sal_uInt32 p = std::min<sal_uInt32>(nDegree, MAX_BSPLINE_DEGREE);
 
     rResult.SequenceX.realloc(0);
     rResult.SequenceY.realloc(0);
commit 1e7340538bfe4374df48e914e47ad5cddf1e309a
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date:   Fri Oct 5 15:41:15 2012 +0200

    New release libcdr 0.0.9, fixes fdo#55522 and partly fdo#54785
    
    Change-Id: I85516bcb97cc066fb25bb74ef253ff6ae6942d10
    Signed-off-by: Michael Meeks <michael.meeks at suse.com>

diff --git a/libcdr/README b/libcdr/README
index d3ba94d..9aa5ada 100644
--- a/libcdr/README
+++ b/libcdr/README
@@ -1,3 +1,3 @@
 Library parsing the Corel cdr documents.
 
-I couldn't find an upstream for this library - although I did only try a primitive Google search.
+http://wiki.freedesktop.org/wiki/Software/libcdr
diff --git a/libcdr/libcdr-0.0.8-msc.patch b/libcdr/libcdr-0.0.8-msc.patch
deleted file mode 100644
index 6a44e7d..0000000
--- a/libcdr/libcdr-0.0.8-msc.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- misc/libcdr-0.0.8/src/lib/libcdr_utils.h	2012-06-06 13:42:03.000000000 +0200
-+++ misc/build/libcdr-0.0.8/src/lib/libcdr_utils.h	2012-06-11 15:09:43.305289500 +0200
-@@ -50,6 +50,7 @@
- typedef unsigned char uint8_t;
- typedef unsigned short uint16_t;
- typedef unsigned uint32_t;
-+typedef short int16_t;
- typedef int int32_t;
- typedef unsigned __int64 uint64_t;
- 
diff --git a/libcdr/makefile.mk b/libcdr/makefile.mk
index 771ac46..0a8df79 100755
--- a/libcdr/makefile.mk
+++ b/libcdr/makefile.mk
@@ -59,10 +59,8 @@ INCPRE+=$(LCMS2_CFLAGS)
 INCPRE+=$(SOLARVER)$/$(INPATH)$/inc$/lcms2
 .ENDIF
 
-TARFILE_NAME=libcdr-0.0.8
-TARFILE_MD5=ce5a1def34578b75959ac31210f031f6
-
-PATCH_FILES = libcdr-0.0.8-msc.patch
+TARFILE_NAME=libcdr-0.0.9
+TARFILE_MD5=3c0037fb07dea2f0bbae8386fa7c6a9a
 
 BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS)
 BUILD_DIR=src$/lib
diff --git a/ooo.lst.in b/ooo.lst.in
index f4d8db9..02d14b0 100644
--- a/ooo.lst.in
+++ b/ooo.lst.in
@@ -90,7 +90,7 @@ f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2
 94e7f271e38c976462558b4278590178-libvisio-0.0.19.tar.bz2
 e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip
 0d2dcdfbf28d6208751b33057f5361f0-libcmis-0.2.3.tar.gz
-ce5a1def34578b75959ac31210f031f6-libcdr-0.0.8.tar.bz2
+3c0037fb07dea2f0bbae8386fa7c6a9a-libcdr-0.0.9.tar.bz2
 327348d67c979c88c2dec59a23a17d85-lcms2-2.3.tar.gz
 @GOOGLE_DOCS_EXTENSION_PACK@
 @FREETYPE_TARBALL@
commit 66d0a488979facf43b3e236fe4ac025776b1582b
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Thu Oct 4 20:46:54 2012 +0200

    workaround broken uno implementatiion with ScRangeList
    
    Change-Id: Ied665e59ada98c25651be562c4a2fe54ffd1ec6a
    
    Signed-off-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/sc/source/core/tool/rangelst.cxx b/sc/source/core/tool/rangelst.cxx
index 19321b5..e99e47f 100644
--- a/sc/source/core/tool/rangelst.cxx
+++ b/sc/source/core/tool/rangelst.cxx
@@ -438,6 +438,9 @@ bool ScRangeList::UpdateReference(
         }
     }
 
+    if(maRanges.empty())
+        return true;
+
     vector<ScRange*>::iterator itr = maRanges.begin(), itrEnd = maRanges.end();
     for (; itr != itrEnd; ++itr)
     {
@@ -460,6 +463,16 @@ bool ScRangeList::UpdateReference(
             pR->aEnd.Set( theCol2, theRow2, theTab2 );
         }
     }
+
+    if(eUpdateRefMode == URM_INSDEL)
+    {
+        if(nDx < 0 || nDy < 0)
+        {
+            size_t n = maRanges.size();
+            Join(*maRanges[n-1], true);
+        }
+    }
+
     return bChanged;
 }
 
commit b619f4e67290c6c299e44927b1616a60b5dcf34d
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Oct 4 22:46:10 2012 +0200

    fdo#52022: Simple/LargeControlPoints actually can have nil values
    
    ...in old LO 3.5 registrymodifications.xcu, which causes trouble when migrating
    to >= LO 3.6, see <https://bugs.freedesktop.org/show_bug.cgi?id=52022#c23> for
    all the details.
    
    Change-Id: I8fa1e67998c9588b9d8bf3a3b52e4b0684d3d705
    (cherry picked from commit a51833bf79eed21a7cddd6da45dc9d3dc07b4983)
    Reviewed-on: https://gerrit.libreoffice.org/765
    Reviewed-by: Miklos Vajna <vmiklos at suse.cz>
    Tested-by: Miklos Vajna <vmiklos at suse.cz>

diff --git a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
index 0f5898e..55ee57a 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
@@ -340,7 +340,7 @@
 					</info>
 					<value>false</value>
 				</prop>
-				<prop oor:name="SimpleControlPoint" oor:type="xs:boolean" oor:nillable="false">
+				<prop oor:name="SimpleControlPoint" oor:type="xs:boolean">
 					<!-- OldPath: Calc/Layout/Lines -->
 					<!-- OldLocation: Soffice.cfg -->
 					<!-- UIHints: Tools - Options -Spreadsheets - Layout - [Section] Lines -->
@@ -351,7 +351,7 @@
 					</info>
 					<value>false</value>
 				</prop>
-				<prop oor:name="LargeControlPoint" oor:type="xs:boolean" oor:nillable="false">
+				<prop oor:name="LargeControlPoint" oor:type="xs:boolean">
 					<!-- OldPath: Calc/Layout/Lines -->
 					<!-- OldLocation: Soffice.cfg -->
 					<!-- UIHints: Tools - Options -Spreadsheets - Layout - [Section] Lines -->
diff --git a/officecfg/registry/schema/org/openoffice/Office/Writer.xcs b/officecfg/registry/schema/org/openoffice/Office/Writer.xcs
index e797988..8865f74 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Writer.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Writer.xcs
@@ -1306,7 +1306,7 @@
 					</info>
 					<value>false</value>
 				</prop>
-				<prop oor:name="SimpleControlPoint" oor:type="xs:boolean" oor:nillable="false">
+				<prop oor:name="SimpleControlPoint" oor:type="xs:boolean">
 					<!-- OldPath: Writer/Layout/Lines -->
 					<!-- OldLocation: Soffice.cfg -->
 					<!-- UIHints: Tools - Options - Text document - Layout - [Section] Lines -->
@@ -1317,7 +1317,7 @@
 					</info>
 					<value>false</value>
 				</prop>
-				<prop oor:name="LargeControlPoint" oor:type="xs:boolean" oor:nillable="false">
+				<prop oor:name="LargeControlPoint" oor:type="xs:boolean">
 					<!-- OldPath: Writer/Layout/Lines -->
 					<!-- OldLocation: Soffice.cfg -->
 					<!-- UIHints: Tools - Options - Text document - Layout - [Section] Lines -->
diff --git a/officecfg/registry/schema/org/openoffice/Office/WriterWeb.xcs b/officecfg/registry/schema/org/openoffice/Office/WriterWeb.xcs
index 79f581a..6b99869 100644
--- a/officecfg/registry/schema/org/openoffice/Office/WriterWeb.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/WriterWeb.xcs
@@ -210,7 +210,7 @@
 					</info>
 					<value>false</value>
 				</prop>
-				<prop oor:name="SimpleControlPoint" oor:type="xs:boolean" oor:nillable="false">
+				<prop oor:name="SimpleControlPoint" oor:type="xs:boolean">
 					<!-- OldPath: HTML_Editor/Layout/Lines -->
 					<!-- OldLocation: Soffice.cfg -->
 					<!-- UIHints: Tools - Option - HTML-Document - Layout - [Section] Lines -->
@@ -221,7 +221,7 @@
 					</info>
 					<value>false</value>
 				</prop>
-				<prop oor:name="LargeControlPoint" oor:type="xs:boolean" oor:nillable="false">
+				<prop oor:name="LargeControlPoint" oor:type="xs:boolean">
 					<!-- OldPath: HTML_Editor/Layout/Lines -->
 					<!-- OldLocation: Soffice.cfg -->
 					<!-- UIHints: Tools - Option - HTML-Document - Layout - [Section] Lines -->
commit 07a4f761ddead5e1f2af96ab5793fcc94d1abcaa
Author: Noel Power <noel.power at suse.com>
Date:   Thu Oct 4 17:02:18 2012 +0100

    really export default row heights for xlsx fdo#55621
    
    Change-Id: Icdf581cd7ae245f2749fecf00957bc9524f717d8
    (cherry picked from commit 5a651522acb42fcffa6defc212cb8d0e9b9b7d3f)
    
    Signed-off-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index e3967f2..793155a 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -2434,6 +2434,13 @@ void XclExpCellTable::Save( XclExpStream& rStrm )
 
 void XclExpCellTable::SaveXml( XclExpXmlStream& rStrm )
 {
+    // DEFAULT row height
+    XclExpDefaultRowData& rDefData = mxDefrowheight->GetDefaultData();
+    sax_fastparser::FSHelperPtr& rWorksheet = rStrm.GetCurrentStream();
+    rWorksheet->startElement( XML_sheetFormatPr,
+        XML_defaultRowHeight, OString::valueOf( (double) rDefData.mnHeight / 20.0 ).getStr(), FSEND );
+    rWorksheet->endElement( XML_sheetFormatPr );
+
     maColInfoBfr.SaveXml( rStrm );
     maRowBfr.SaveXml( rStrm );
 }
diff --git a/sc/source/filter/inc/xetable.hxx b/sc/source/filter/inc/xetable.hxx
index 33b7b2c..291c37f 100644
--- a/sc/source/filter/inc/xetable.hxx
+++ b/sc/source/filter/inc/xetable.hxx
@@ -851,7 +851,7 @@ public:
 
     /** Sets the passed default data as current record contents. */
     void                SetDefaultData( const XclExpDefaultRowData& rDefData );
-
+    XclExpDefaultRowData& GetDefaultData() { return maDefData; }
 private:
     /** Writes the contents of the record. */
     virtual void        WriteBody( XclExpStream& rStrm );
commit cf83153902ec9cd7d15782cbdbf01df9f449fdbc
Author: Michael Meeks <michael.meeks at suse.com>
Date:   Fri Sep 28 13:40:47 2012 +0100

    fdo#54940 - make editing relative refs more intuitive to me
    
    Change-Id: Id3aa76010d92e71c5dc417fdafba90c3ea8401c8
    Signed-off-by: Kohei Yoshida <kohei.yoshida at gmail.com>

diff --git a/sc/inc/rangelst.hxx b/sc/inc/rangelst.hxx
index 74bb7be..8bf3bed 100644
--- a/sc/inc/rangelst.hxx
+++ b/sc/inc/rangelst.hxx
@@ -81,6 +81,7 @@ public:
     bool            Intersects( const ScRange& ) const;
     bool            In( const ScRange& ) const;
     size_t          GetCellCount() const;
+    ScAddress       GetTopLeftCorner() const;
 
     ScRange*        Remove(size_t nPos);
     void            RemoveAll();
diff --git a/sc/source/core/tool/rangelst.cxx b/sc/source/core/tool/rangelst.cxx
index 8214c50..19321b5 100644
--- a/sc/source/core/tool/rangelst.cxx
+++ b/sc/source/core/tool/rangelst.cxx
@@ -1135,6 +1135,21 @@ void ScRangeList::push_back(ScRange* p)
     maRanges.push_back(p);
 }
 
+ScAddress ScRangeList::GetTopLeftCorner() const
+{
+    if(empty())
+        return ScAddress();
+
+    ScAddress aAddr = maRanges[0]->aStart;
+    for(size_t i = 1, n = size(); i < n; ++i)
+    {
+        if(maRanges[i]->aStart < aAddr)
+            aAddr = maRanges[i]->aStart;
+    }
+
+    return aAddr;
+}
+
 // === ScRangePairList ========================================================
 
 ScRangePairList::~ScRangePairList()
diff --git a/sc/source/ui/condformat/condformatmgr.cxx b/sc/source/ui/condformat/condformatmgr.cxx
index aee8b6f..03fbeb3 100644
--- a/sc/source/ui/condformat/condformatmgr.cxx
+++ b/sc/source/ui/condformat/condformatmgr.cxx
@@ -77,7 +77,7 @@ String ScCondFormatManagerWindow::createEntryString(const ScConditionalFormat& r
     String aStr;
     aRange.Format(aStr, SCA_VALID, mpDoc, mpDoc->GetAddressConvention());
     aStr += '\t';
-    aStr += ScCondFormatHelper::GetExpression(rFormat, mrPos);
+    aStr += ScCondFormatHelper::GetExpression(rFormat, aRange.GetTopLeftCorner());
     return aStr;
 }
 
@@ -209,7 +209,8 @@ IMPL_LINK_NOARG(ScCondFormatManagerDlg, EditBtnHdl)
     if(!pFormat)
         return 0;
 
-    ScCondFormatDlg* pDlg = new ScCondFormatDlg(this, mpDoc, pFormat, pFormat->GetRange(), maPos);
+    ScCondFormatDlg* pDlg = new ScCondFormatDlg(this, mpDoc, pFormat, pFormat->GetRange(),
+                                                pFormat->GetRange().GetTopLeftCorner());
     if(pDlg->Execute() == RET_OK)
     {
         sal_Int32 nKey = pFormat->GetKey();
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index 14ed86b..c532945 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -2075,7 +2075,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
                 }
                 else
                 {
-                    pDlg = pFact->CreateScCondFormatDlg( pTabViewShell->GetDialogParent(), pDoc, NULL, aRangeList, aPos, RID_SCDLG_CONDFORMAT );
+                    pDlg = pFact->CreateScCondFormatDlg( pTabViewShell->GetDialogParent(), pDoc, NULL, aRangeList, aRangeList.GetTopLeftCorner(), RID_SCDLG_CONDFORMAT );
                 }
 
                 if(pDlg->Execute() == RET_OK)
commit 743e9b1b63574fa79aff934369454868895d510c
Author: Noel Power <noel.power at suse.com>
Date:   Thu Oct 4 16:44:54 2012 +0100

    Revert "really export default row heights for xlsx fdo#55621" wrong branch
    
    This reverts commit 6b686a18539b384d032358879bd06d2def280842.

diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index 793155a..e3967f2 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -2434,13 +2434,6 @@ void XclExpCellTable::Save( XclExpStream& rStrm )
 
 void XclExpCellTable::SaveXml( XclExpXmlStream& rStrm )
 {
-    // DEFAULT row height
-    XclExpDefaultRowData& rDefData = mxDefrowheight->GetDefaultData();
-    sax_fastparser::FSHelperPtr& rWorksheet = rStrm.GetCurrentStream();
-    rWorksheet->startElement( XML_sheetFormatPr,
-        XML_defaultRowHeight, OString::valueOf( (double) rDefData.mnHeight / 20.0 ).getStr(), FSEND );
-    rWorksheet->endElement( XML_sheetFormatPr );
-
     maColInfoBfr.SaveXml( rStrm );
     maRowBfr.SaveXml( rStrm );
 }
diff --git a/sc/source/filter/inc/xetable.hxx b/sc/source/filter/inc/xetable.hxx
index 291c37f..33b7b2c 100644
--- a/sc/source/filter/inc/xetable.hxx
+++ b/sc/source/filter/inc/xetable.hxx
@@ -851,7 +851,7 @@ public:
 
     /** Sets the passed default data as current record contents. */
     void                SetDefaultData( const XclExpDefaultRowData& rDefData );
-    XclExpDefaultRowData& GetDefaultData() { return maDefData; }
+
 private:
     /** Writes the contents of the record. */
     virtual void        WriteBody( XclExpStream& rStrm );
commit b8e55d021ff3100818f6160cfb6dd2685eb08c26
Author: Noel Power <noel.power at suse.com>
Date:   Thu Oct 4 16:44:35 2012 +0100

    Revert "xlsx fix import/export of column widths fdo#55623" wrong branch
    
    This reverts commit f08e1ac6c0998e36359cc08e590ee6e8dfab3599.

diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index 98f8cb5..793155a 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -1482,9 +1482,8 @@ XclExpColinfo::XclExpColinfo( const XclExpRoot& rRoot,
         SCCOL nScCol, SCROW nLastScRow, XclExpColOutlineBuffer& rOutlineBfr ) :
     XclExpRecord( EXC_ID_COLINFO, 12 ),
     XclExpRoot( rRoot ),
-    mnFlags( 0 ),
     mnWidth( 0 ),
-    mnScWidth( 0 ),
+    mnFlags( 0 ),
     mnFirstXclCol( static_cast< sal_uInt16 >( nScCol ) ),
     mnLastXclCol( static_cast< sal_uInt16 >( nScCol ) )
 {
@@ -1498,7 +1497,7 @@ XclExpColinfo::XclExpColinfo( const XclExpRoot& rRoot,
     // column width
     sal_uInt16 nScWidth = rDoc.GetColWidth( nScCol, nScTab );
     mnWidth = XclTools::GetXclColumnWidth( nScWidth, GetCharWidth() );
-    mnScWidth =  sc::TwipsToHMM( nScWidth );
+
     // column flags
     ::set_flag( mnFlags, EXC_COLINFO_HIDDEN, rDoc.ColHidden(nScCol, nScTab) );
 
@@ -1564,7 +1563,7 @@ void XclExpColinfo::SaveXml( XclExpXmlStream& rStrm )
             // OOXTODO: XML_outlineLevel,
             // OOXTODO: XML_phonetic,
             XML_style,          lcl_GetStyleId( rStrm, maXFId.mnXFIndex ).getStr(),
-            XML_width,          OString::valueOf( (double) (mnScWidth / (double)sc::TwipsToHMM( GetCharWidth() )) ).getStr(),
+            XML_width,          OString::valueOf( (double) (mnWidth / 255.0) ).getStr(),
             FSEND );
 }
 
diff --git a/sc/source/filter/inc/xetable.hxx b/sc/source/filter/inc/xetable.hxx
index d9ce5ea..291c37f 100644
--- a/sc/source/filter/inc/xetable.hxx
+++ b/sc/source/filter/inc/xetable.hxx
@@ -783,7 +783,6 @@ private:
 private:
     XclExpXFId          maXFId;             /// The XF identifier for column default format.
     sal_uInt16          mnWidth;            /// Excel width of the column.
-    sal_uInt16          mnScWidth;          /// Calc width of the column.
     sal_uInt16          mnFlags;            /// Additional column flags.
     sal_uInt16          mnFirstXclCol;      /// Index to first column.
     sal_uInt16          mnLastXclCol;       /// Index to last column.
diff --git a/sc/source/filter/oox/unitconverter.cxx b/sc/source/filter/oox/unitconverter.cxx
index 2d0431b..e2feb87 100644
--- a/sc/source/filter/oox/unitconverter.cxx
+++ b/sc/source/filter/oox/unitconverter.cxx
@@ -149,17 +149,18 @@ void UnitConverter::finalizeImport()
         {
             // XDevice expects pixels in font descriptor, but font contains twips
             FontDescriptor aDesc = pDefFont->getFontDescriptor();
+            aDesc.Height = static_cast< sal_Int16 >( scaleValue( aDesc.Height, UNIT_TWIP, UNIT_REFDEVX ) + 0.5 );
             Reference< XFont > xFont = xDevice->getFont( aDesc );
             if( xFont.is() )
             {
                 // get maximum width of all digits
                 sal_Int32 nDigitWidth = 0;
                 for( sal_Unicode cChar = '0'; cChar <= '9'; ++cChar )
-                    nDigitWidth = ::std::max( nDigitWidth, scaleToMm100( xFont->getCharWidth( cChar ), UNIT_TWIP ) );
+                    nDigitWidth = ::std::max( nDigitWidth, scaleToMm100( xFont->getCharWidth( cChar ), UNIT_REFDEVX ) );
                 if( nDigitWidth > 0 )
                     maCoeffs[ UNIT_DIGIT ] = nDigitWidth;
                 // get width of space character
-                sal_Int32 nSpaceWidth = scaleToMm100( xFont->getCharWidth( ' ' ), UNIT_TWIP );
+                sal_Int32 nSpaceWidth = scaleToMm100( xFont->getCharWidth( ' ' ), UNIT_REFDEVX );
                 if( nSpaceWidth > 0 )
                     maCoeffs[ UNIT_SPACE ] = nSpaceWidth;
             }
commit f08e1ac6c0998e36359cc08e590ee6e8dfab3599
Author: Noel Power <noel.power at suse.com>
Date:   Thu Oct 4 15:45:36 2012 +0100

    xlsx fix import/export of column widths fdo#55623
    
    column widths were never imported or exported correctly in xlsx.
    
    Change-Id: I92d469ce52495fe77281cb22341e9c5127e6b506

diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index 793155a..98f8cb5 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -1482,8 +1482,9 @@ XclExpColinfo::XclExpColinfo( const XclExpRoot& rRoot,
         SCCOL nScCol, SCROW nLastScRow, XclExpColOutlineBuffer& rOutlineBfr ) :
     XclExpRecord( EXC_ID_COLINFO, 12 ),
     XclExpRoot( rRoot ),
-    mnWidth( 0 ),
     mnFlags( 0 ),
+    mnWidth( 0 ),
+    mnScWidth( 0 ),
     mnFirstXclCol( static_cast< sal_uInt16 >( nScCol ) ),
     mnLastXclCol( static_cast< sal_uInt16 >( nScCol ) )
 {
@@ -1497,7 +1498,7 @@ XclExpColinfo::XclExpColinfo( const XclExpRoot& rRoot,
     // column width
     sal_uInt16 nScWidth = rDoc.GetColWidth( nScCol, nScTab );
     mnWidth = XclTools::GetXclColumnWidth( nScWidth, GetCharWidth() );
-
+    mnScWidth =  sc::TwipsToHMM( nScWidth );
     // column flags
     ::set_flag( mnFlags, EXC_COLINFO_HIDDEN, rDoc.ColHidden(nScCol, nScTab) );
 
@@ -1563,7 +1564,7 @@ void XclExpColinfo::SaveXml( XclExpXmlStream& rStrm )
             // OOXTODO: XML_outlineLevel,
             // OOXTODO: XML_phonetic,
             XML_style,          lcl_GetStyleId( rStrm, maXFId.mnXFIndex ).getStr(),
-            XML_width,          OString::valueOf( (double) (mnWidth / 255.0) ).getStr(),
+            XML_width,          OString::valueOf( (double) (mnScWidth / (double)sc::TwipsToHMM( GetCharWidth() )) ).getStr(),
             FSEND );
 }
 
diff --git a/sc/source/filter/inc/xetable.hxx b/sc/source/filter/inc/xetable.hxx
index 291c37f..d9ce5ea 100644
--- a/sc/source/filter/inc/xetable.hxx
+++ b/sc/source/filter/inc/xetable.hxx
@@ -783,6 +783,7 @@ private:
 private:
     XclExpXFId          maXFId;             /// The XF identifier for column default format.
     sal_uInt16          mnWidth;            /// Excel width of the column.
+    sal_uInt16          mnScWidth;          /// Calc width of the column.
     sal_uInt16          mnFlags;            /// Additional column flags.
     sal_uInt16          mnFirstXclCol;      /// Index to first column.
     sal_uInt16          mnLastXclCol;       /// Index to last column.
diff --git a/sc/source/filter/oox/unitconverter.cxx b/sc/source/filter/oox/unitconverter.cxx
index e2feb87..2d0431b 100644
--- a/sc/source/filter/oox/unitconverter.cxx
+++ b/sc/source/filter/oox/unitconverter.cxx
@@ -149,18 +149,17 @@ void UnitConverter::finalizeImport()
         {
             // XDevice expects pixels in font descriptor, but font contains twips
             FontDescriptor aDesc = pDefFont->getFontDescriptor();
-            aDesc.Height = static_cast< sal_Int16 >( scaleValue( aDesc.Height, UNIT_TWIP, UNIT_REFDEVX ) + 0.5 );
             Reference< XFont > xFont = xDevice->getFont( aDesc );
             if( xFont.is() )
             {
                 // get maximum width of all digits
                 sal_Int32 nDigitWidth = 0;
                 for( sal_Unicode cChar = '0'; cChar <= '9'; ++cChar )
-                    nDigitWidth = ::std::max( nDigitWidth, scaleToMm100( xFont->getCharWidth( cChar ), UNIT_REFDEVX ) );
+                    nDigitWidth = ::std::max( nDigitWidth, scaleToMm100( xFont->getCharWidth( cChar ), UNIT_TWIP ) );
                 if( nDigitWidth > 0 )
                     maCoeffs[ UNIT_DIGIT ] = nDigitWidth;
                 // get width of space character
-                sal_Int32 nSpaceWidth = scaleToMm100( xFont->getCharWidth( ' ' ), UNIT_REFDEVX );
+                sal_Int32 nSpaceWidth = scaleToMm100( xFont->getCharWidth( ' ' ), UNIT_TWIP );
                 if( nSpaceWidth > 0 )
                     maCoeffs[ UNIT_SPACE ] = nSpaceWidth;
             }
commit 6b686a18539b384d032358879bd06d2def280842
Author: Noel Power <noel.power at suse.com>
Date:   Thu Oct 4 14:00:47 2012 +0100

    really export default row heights for xlsx fdo#55621
    
    Change-Id: I81173507b30fc260043e6c57c123926a17424797

diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index e3967f2..793155a 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -2434,6 +2434,13 @@ void XclExpCellTable::Save( XclExpStream& rStrm )
 
 void XclExpCellTable::SaveXml( XclExpXmlStream& rStrm )
 {
+    // DEFAULT row height
+    XclExpDefaultRowData& rDefData = mxDefrowheight->GetDefaultData();
+    sax_fastparser::FSHelperPtr& rWorksheet = rStrm.GetCurrentStream();
+    rWorksheet->startElement( XML_sheetFormatPr,

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list