[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.0' - 253 commits - accessibility/bridge accessibility/source basctl/source basebmp/source basegfx/source basic/qa basic/source boost/boost_1_44_0-gcc4.8.patch boost/boost.libcdr.warnings.patch.1 boost/UnpackedTarball_boost.mk chart2/source codemaker/source comphelper/inc comphelper/source configure.ac connectivity/inc connectivity/source cppcanvas/source cppuhelper/source cui/source curl/ExternalProject_curl.mk dbaccess/source desktop/scripts desktop/source distro-configs/LibreOfficeLinux.conf download download.lst drawinglayer/inc drawinglayer/source dtrans/source editeng/inc editeng/Library_editeng.mk editeng/Package_inc.mk editeng/qa editeng/source extensions/source extras/CustomTarget_autocorr.mk extras/source extras/Zip_autocorr.mk filter/source forms/source formula/inc formula/source icu/icu4c.10318.CVE-2013-2924_changeset_34076_icu-49.patch icu/makefile.mk jvmfwk/plugins libcdr/libcdr-wpx_seek_end.patch.1 libcdr/msvc2008 .patch.1 libcdr/UnpackedTarball_cdr.mk liborcus/liborcus_0.1.0-boost-include.patch.1 liborcus/UnpackedTarball_orcus.mk librelogo/source libvisio/UnpackedTarball_visio.mk libxslt/libxslt-1.1.26-memdump.patch libxslt/makefile.mk oox/inc oox/source package/source python3/python-3.3.0-gcc-4.8.patch.1 python3/UnpackedTarball_python3.mk pyuno/source redland/raptor reportbuilder/java reportdesign/source RepositoryExternal.mk RepositoryFixes.mk sal/inc sal/osl sal/qa sal/rtl scaddins/source sc/inc sc/qa scripting/source sc/source sdext/source sd/source setup_native/scripts setup_native/source sfx2/inc sfx2/source shell/source slideshow/source solenv/gbuild solenv/inc sot/source starmath/inc starmath/source store/Library_store.mk store/source store/workben svl/inc svl/source svtools/inc svtools/source svx/inc svx/source sw/inc sw/qa sw/source sysui/desktop toolkit/source tools/inc tools/qa tools/source tubes/source ucb/source unoxml/source vbahelper/source vcl/aqua vcl/generic vcl/in c vcl/Library_vclplug_gtk.mk vcl/source vcl/unx wizards/com writerfilter/qa writerfilter/source writerperfect/source xmloff/source

Armin Le Grand alg at apache.org
Tue Nov 5 12:09:22 CET 2013


 RepositoryExternal.mk                                                                             |    2 
 RepositoryFixes.mk                                                                                |    1 
 accessibility/bridge/org/openoffice/java/accessibility/ComboBox.java                              |   12 
 accessibility/bridge/org/openoffice/java/accessibility/Dialog.java                                |   21 
 accessibility/bridge/org/openoffice/java/accessibility/Frame.java                                 |   23 
 accessibility/bridge/org/openoffice/java/accessibility/Window.java                                |   23 
 accessibility/source/standard/vclxaccessibletabpagewindow.cxx                                     |   10 
 basctl/source/basicide/basides1.cxx                                                               |    3 
 basctl/source/basicide/basobj2.cxx                                                                |   41 
 basebmp/source/bitmapdevice.cxx                                                                   |   11 
 basegfx/source/vector/b2dvector.cxx                                                               |    2 
 basic/qa/basic_coverage/test_hexliteral_negIntLimit-2.vb                                          |   18 
 basic/qa/basic_coverage/test_hexliteral_negIntLimit.vb                                            |   18 
 basic/qa/basic_coverage/test_hexliteral_posIntLimit.vb                                            |   18 
 basic/qa/basic_coverage/test_hexliteral_zeroIntLimit.vb                                           |   18 
 basic/source/comp/scanner.cxx                                                                     |    4 
 basic/source/uno/namecont.cxx                                                                     |   14 
 boost/UnpackedTarball_boost.mk                                                                    |    3 
 boost/boost.libcdr.warnings.patch.1                                                               |  694 ++++++++++
 boost/boost_1_44_0-gcc4.8.patch                                                                   |  226 +++
 chart2/source/view/axes/VCartesianAxis.cxx                                                        |    4 
 chart2/source/view/charttypes/PieChart.cxx                                                        |    2 
 chart2/source/view/main/ChartView.cxx                                                             |    2 
 codemaker/source/cppumaker/cpputype.cxx                                                           |   52 
 comphelper/inc/comphelper/scoped_disposing_ptr.hxx                                                |    2 
 comphelper/source/container/embeddedobjectcontainer.cxx                                           |    2 
 configure.ac                                                                                      |   17 
 connectivity/inc/connectivity/sqliterator.hxx                                                     |    8 
 connectivity/source/commontools/ConnectionWrapper.cxx                                             |    2 
 connectivity/source/commontools/TTableHelper.cxx                                                  |   11 
 connectivity/source/drivers/evoab2/NStatement.hxx                                                 |    2 
 connectivity/source/drivers/flat/ETable.cxx                                                       |   14 
 connectivity/source/drivers/mysql/YDriver.cxx                                                     |   36 
 connectivity/source/drivers/odbcbase/OResultSet.cxx                                               |   62 
 connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx                                   |    7 
 connectivity/source/parse/sqliterator.cxx                                                         |   33 
 cppcanvas/source/mtfrenderer/emfplus.cxx                                                          |    9 
 cppuhelper/source/compat.cxx                                                                      |    4 
 cppuhelper/source/defaultbootstrap.cxx                                                            |    9 
 cui/source/inc/autocdlg.hxx                                                                       |    2 
 cui/source/tabpages/autocdlg.cxx                                                                  |   24 
 cui/source/tabpages/tplnedef.cxx                                                                  |    2 
 curl/ExternalProject_curl.mk                                                                      |   22 
 dbaccess/source/core/api/RowSet.cxx                                                               |   10 
 dbaccess/source/core/api/SingleSelectQueryComposer.cxx                                            |   62 
 dbaccess/source/core/inc/SingleSelectQueryComposer.hxx                                            |   19 
 dbaccess/source/filter/xml/xmlDataSourceSetting.cxx                                               |    9 
 dbaccess/source/ui/dlg/directsql.cxx                                                              |    1 
 dbaccess/source/ui/dlg/generalpage.cxx                                                            |   10 
 dbaccess/source/ui/dlg/indexdialog.cxx                                                            |    6 
 dbaccess/source/ui/dlg/queryorder.cxx                                                             |   25 
 dbaccess/source/ui/misc/dsmeta.cxx                                                                |    6 
 desktop/scripts/unopkg.sh                                                                         |    4 
 desktop/source/deployment/misc/dp_version.cxx                                                     |    4 
 desktop/source/deployment/registry/package/dp_package.cxx                                         |    2 
 distro-configs/LibreOfficeLinux.conf                                                              |    2 
 download                                                                                          |   20 
 download.lst                                                                                      |    4 
 drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx                                 |    5 
 drawinglayer/source/processor2d/vclpixelprocessor2d.cxx                                           |   20 
 dtrans/source/win32/dtobj/FetcList.cxx                                                            |    7 
 editeng/Library_editeng.mk                                                                        |    1 
 editeng/Package_inc.mk                                                                            |    1 
 editeng/inc/editeng/AccessibleParaManager.hxx                                                     |   20 
 editeng/inc/editeng/Trie.hxx                                                                      |   59 
 editeng/inc/editeng/borderline.hxx                                                                |    2 
 editeng/inc/editeng/editdata.hxx                                                                  |   50 
 editeng/inc/editeng/editeng.hxx                                                                   |  122 -
 editeng/inc/editeng/editobj.hxx                                                                   |   20 
 editeng/inc/editeng/editview.hxx                                                                  |   10 
 editeng/inc/editeng/outliner.hxx                                                                  |  184 +-
 editeng/inc/editeng/outlobj.hxx                                                                   |    6 
 editeng/inc/editeng/svxrtf.hxx                                                                    |    8 
 editeng/inc/editeng/unoedhlp.hxx                                                                  |   12 
 editeng/inc/editeng/unoedprx.hxx                                                                  |   56 
 editeng/inc/editeng/unoedsrc.hxx                                                                  |   56 
 editeng/inc/editeng/unofored.hxx                                                                  |   48 
 editeng/inc/editeng/unoforou.hxx                                                                  |   58 
 editeng/inc/editeng/unotext.hxx                                                                   |   58 
 editeng/qa/lookuptree/lookuptree_test.cxx                                                         |   95 +
 editeng/source/accessibility/AccessibleEditableTextPara.cxx                                       |   53 
 editeng/source/accessibility/AccessibleHyperlink.cxx                                              |    2 
 editeng/source/accessibility/AccessibleHyperlink.hxx                                              |    5 
 editeng/source/accessibility/AccessibleImageBullet.cxx                                            |    6 
 editeng/source/accessibility/AccessibleParaManager.cxx                                            |   81 -
 editeng/source/accessibility/AccessibleStaticTextBase.cxx                                         |   29 
 editeng/source/editeng/editdbg.cxx                                                                |    4 
 editeng/source/editeng/editdoc.cxx                                                                |  128 +
 editeng/source/editeng/editdoc.hxx                                                                |   50 
 editeng/source/editeng/editeng.cxx                                                                |  160 +-
 editeng/source/editeng/editobj.cxx                                                                |   81 -
 editeng/source/editeng/editobj2.hxx                                                               |   20 
 editeng/source/editeng/editundo.cxx                                                               |   18 
 editeng/source/editeng/editundo.hxx                                                               |   26 
 editeng/source/editeng/editview.cxx                                                               |   28 
 editeng/source/editeng/edtspell.cxx                                                               |    6 
 editeng/source/editeng/eehtml.cxx                                                                 |    8 
 editeng/source/editeng/eertfpar.cxx                                                               |   22 
 editeng/source/editeng/eertfpar.hxx                                                               |    4 
 editeng/source/editeng/impedit.cxx                                                                |   37 
 editeng/source/editeng/impedit.hxx                                                                |   92 -
 editeng/source/editeng/impedit2.cxx                                                               |  157 +-
 editeng/source/editeng/impedit3.cxx                                                               |   56 
 editeng/source/editeng/impedit4.cxx                                                               |   56 
 editeng/source/editeng/impedit5.cxx                                                               |   54 
 editeng/source/items/borderline.cxx                                                               |    5 
 editeng/source/lookuptree/Trie.cxx                                                                |  183 ++
 editeng/source/misc/svxacorr.cxx                                                                  |   30 
 editeng/source/outliner/outleeng.cxx                                                              |   32 
 editeng/source/outliner/outleeng.hxx                                                              |   26 
 editeng/source/outliner/outlin2.cxx                                                               |   38 
 editeng/source/outliner/outliner.cxx                                                              |  222 +--
 editeng/source/outliner/outlobj.cxx                                                               |   22 
 editeng/source/outliner/outlundo.cxx                                                              |   14 
 editeng/source/outliner/outlundo.hxx                                                              |   18 
 editeng/source/outliner/outlvw.cxx                                                                |  139 --
 editeng/source/outliner/paralist.cxx                                                              |   58 
 editeng/source/outliner/paralist.hxx                                                              |   27 
 editeng/source/rtf/svxrtf.cxx                                                                     |    8 
 editeng/source/uno/unoedhlp.cxx                                                                   |    8 
 editeng/source/uno/unoedprx.cxx                                                                   |   70 -
 editeng/source/uno/unofored.cxx                                                                   |   54 
 editeng/source/uno/unoforou.cxx                                                                   |   86 -
 editeng/source/uno/unotext.cxx                                                                    |   98 -
 editeng/source/uno/unotext2.cxx                                                                   |    4 
 extensions/source/dbpilots/gridwizard.cxx                                                         |   20 
 extras/CustomTarget_autocorr.mk                                                                   |    7 
 extras/Zip_autocorr.mk                                                                            |    1 
 extras/source/autotext/lang/it/acor/DocumentList.xml                                              |   31 
 extras/source/autotext/lang/ro/acor/BlockList.xml                                                 |    2 
 extras/source/autotext/lang/ro/acor/DocumentList.xml                                              |   86 +
 extras/source/autotext/lang/ro/acor/META-INF/manifest.xml                                         |    9 
 extras/source/autotext/lang/ro/acor/SentenceExceptList.xml                                        |    2 
 extras/source/autotext/lang/ro/acor/WordExceptList.xml                                            |    2 
 filter/source/config/fragments/filters/Rich_Text_Format.xcu                                       |    2 
 filter/source/graphicfilter/idxf/dxf2mtf.cxx                                                      |   56 
 filter/source/graphicfilter/idxf/dxf2mtf.hxx                                                      |    2 
 filter/source/graphicfilter/idxf/dxfblkrd.cxx                                                     |   16 
 filter/source/graphicfilter/idxf/dxfblkrd.hxx                                                     |    8 
 filter/source/graphicfilter/idxf/dxfentrd.cxx                                                     |   56 
 filter/source/graphicfilter/idxf/dxfentrd.hxx                                                     |   28 
 filter/source/graphicfilter/idxf/dxfreprd.cxx                                                     |    4 
 filter/source/graphicfilter/idxf/dxftblrd.cxx                                                     |   44 
 filter/source/graphicfilter/idxf/dxftblrd.hxx                                                     |   22 
 filter/source/graphicfilter/itiff/itiff.cxx                                                       |   20 
 filter/source/msfilter/msdffimp.cxx                                                               |    8 
 filter/source/msfilter/msvbahelper.cxx                                                            |    2 
 filter/source/msfilter/svdfppt.cxx                                                                |    2 
 forms/source/component/ListBox.cxx                                                                |    5 
 forms/source/richtext/specialdispatchers.cxx                                                      |    4 
 forms/source/runtime/formoperations.cxx                                                           |  173 +-
 formula/inc/formula/FormulaCompiler.hxx                                                           |    4 
 formula/source/core/api/FormulaCompiler.cxx                                                       |   25 
 formula/source/core/api/token.cxx                                                                 |   11 
 icu/icu4c.10318.CVE-2013-2924_changeset_34076_icu-49.patch                                        |   43 
 icu/makefile.mk                                                                                   |    1 
 jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx                                               |   19 
 libcdr/UnpackedTarball_cdr.mk                                                                     |    5 
 libcdr/libcdr-wpx_seek_end.patch.1                                                                |   14 
 libcdr/msvc2008.patch.1                                                                           |   13 
 liborcus/UnpackedTarball_orcus.mk                                                                 |    4 
 liborcus/liborcus_0.1.0-boost-include.patch.1                                                     |   26 
 librelogo/source/LibreLogo/LibreLogo.py                                                           |    4 
 libvisio/UnpackedTarball_visio.mk                                                                 |    1 
 libxslt/libxslt-1.1.26-memdump.patch                                                              |   10 
 libxslt/makefile.mk                                                                               |    3 
 oox/inc/oox/helper/binaryoutputstream.hxx                                                         |    2 
 oox/source/docprop/docprophandler.cxx                                                             |   41 
 package/source/xstor/xstorage.cxx                                                                 |    6 
 package/source/zippackage/ZipPackageStream.cxx                                                    |   34 
 python3/UnpackedTarball_python3.mk                                                                |    1 
 python3/python-3.3.0-gcc-4.8.patch.1                                                              |   15 
 pyuno/source/module/uno.py                                                                        |   51 
 redland/raptor/makefile.mk                                                                        |    1 
 redland/raptor/raptor-1.4.18-fdo64672.patch                                                       |   12 
 reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormatValueUtility.java            |   53 
 reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormattedTextLayoutController.java |    2 
 reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/TableCellLayoutController.java     |    4 
 reportbuilder/java/com/sun/star/report/pentaho/output/OfficeDocumentReportTarget.java             |    2 
 reportbuilder/java/libformula.properties                                                          |    4 
 reportdesign/source/core/api/ReportDefinition.cxx                                                 |   28 
 reportdesign/source/core/sdr/RptObject.cxx                                                        |    5 
 reportdesign/source/filter/xml/xmlCell.cxx                                                        |    8 
 reportdesign/source/filter/xml/xmlControlProperty.cxx                                             |    9 
 reportdesign/source/filter/xml/xmlExport.cxx                                                      |   10 
 reportdesign/source/filter/xml/xmlExportDocumentHandler.cxx                                       |    2 
 reportdesign/source/filter/xml/xmlHelper.cxx                                                      |   10 
 sal/inc/sal/log-areas.dox                                                                         |    5 
 sal/osl/unx/salinit.cxx                                                                           |    5 
 sal/osl/w32/file_url.cxx                                                                          |    3 
 sal/qa/rtl/math/test-rtl-math.cxx                                                                 |   18 
 sal/rtl/source/math.cxx                                                                           |   10 
 sal/rtl/source/strtmpl.cxx                                                                        |    2 
 sc/inc/chartlis.hxx                                                                               |    2 
 sc/inc/compiler.hxx                                                                               |    4 
 sc/inc/dpfilteredcache.hxx                                                                        |    5 
 sc/inc/editutil.hxx                                                                               |    6 
 sc/inc/global.hxx                                                                                 |    7 
 sc/inc/sc.hrc                                                                                     |    3 
 sc/qa/unit/data/ods/fdo62729.ods                                                                  |binary
 sc/qa/unit/data/ods/passwordWrongSHA.ods                                                          |binary
 sc/qa/unit/data/xlsx/ProtecteSheet1234Pass.xlsx                                                   |binary
 sc/qa/unit/subsequent_export-test.cxx                                                             |   61 
 sc/qa/unit/subsequent_filters-test.cxx                                                            |   10 
 sc/source/core/data/attrib.cxx                                                                    |    4 
 sc/source/core/data/column2.cxx                                                                   |    4 
 sc/source/core/data/documen8.cxx                                                                  |    2 
 sc/source/core/data/dpfilteredcache.cxx                                                           |   12 
 sc/source/core/data/dpgroup.cxx                                                                   |  300 ++--
 sc/source/core/data/global.cxx                                                                    |    4 
 sc/source/core/data/postit.cxx                                                                    |    2 
 sc/source/core/data/table2.cxx                                                                    |    7 
 sc/source/core/data/table4.cxx                                                                    |    3 
 sc/source/core/tool/chartlis.cxx                                                                  |    5 
 sc/source/core/tool/editutil.cxx                                                                  |   22 
 sc/source/core/tool/interpr1.cxx                                                                  |    5 
 sc/source/core/tool/interpr2.cxx                                                                  |   59 
 sc/source/core/tool/token.cxx                                                                     |    2 
 sc/source/filter/excel/excdoc.cxx                                                                 |    5 
 sc/source/filter/excel/excrecds.cxx                                                               |   44 
 sc/source/filter/excel/xechart.cxx                                                                |    2 
 sc/source/filter/excel/xehelper.cxx                                                               |   10 
 sc/source/filter/excel/xichart.cxx                                                                |    2 
 sc/source/filter/excel/xicontent.cxx                                                              |    4 
 sc/source/filter/excel/xlstyle.cxx                                                                |   20 
 sc/source/filter/html/htmlexp.cxx                                                                 |    4 
 sc/source/filter/inc/excrecds.hxx                                                                 |    8 
 sc/source/filter/inc/sheetdatacontext.hxx                                                         |    3 
 sc/source/filter/inc/xichart.hxx                                                                  |    4 
 sc/source/filter/oox/formulabase.cxx                                                              |   23 
 sc/source/filter/oox/sheetdatacontext.cxx                                                         |   31 
 sc/source/filter/oox/worksheetsettings.cxx                                                        |   35 
 sc/source/filter/xml/xmlexprt.cxx                                                                 |    1 
 sc/source/filter/xml/xmlrowi.cxx                                                                  |    3 
 sc/source/ui/app/inputhdl.cxx                                                                     |   50 
 sc/source/ui/app/inputwin.cxx                                                                     |    2 
 sc/source/ui/app/transobj.cxx                                                                     |    2 
 sc/source/ui/condformat/condformatdlg.cxx                                                         |   10 
 sc/source/ui/docshell/dbdocfun.cxx                                                                |    2 
 sc/source/ui/docshell/docfunc.cxx                                                                 |    8 
 sc/source/ui/docshell/impex.cxx                                                                   |   13 
 sc/source/ui/docshell/tablink.cxx                                                                 |   11 
 sc/source/ui/drawfunc/drtxtob.cxx                                                                 |   12 
 sc/source/ui/drawfunc/fuconstr.cxx                                                                |    7 
 sc/source/ui/inc/condformatdlg.hxx                                                                |    4 
 sc/source/ui/pagedlg/tphfedit.cxx                                                                 |    4 
 sc/source/ui/src/condformatdlg.src                                                                |    4 
 sc/source/ui/undo/undotab.cxx                                                                     |    1 
 sc/source/ui/unoobj/chartuno.cxx                                                                  |    1 
 sc/source/ui/unoobj/fielduno.cxx                                                                  |   16 
 sc/source/ui/view/cellsh1.cxx                                                                     |    2 
 sc/source/ui/view/drawview.cxx                                                                    |    3 
 sc/source/ui/view/editsh.cxx                                                                      |    2 
 sc/source/ui/view/gridwin5.cxx                                                                    |    4 
 sc/source/ui/view/output2.cxx                                                                     |    4 
 sc/source/ui/view/tabview.cxx                                                                     |    1 
 sc/source/ui/view/viewdata.cxx                                                                    |    2 
 sc/source/ui/view/viewfun2.cxx                                                                    |   14 
 sc/source/ui/view/viewfun3.cxx                                                                    |    2 
 sc/source/ui/view/viewfun4.cxx                                                                    |    6 
 sc/source/ui/view/viewfunc.cxx                                                                    |    2 
 scaddins/source/analysis/analysishelper.cxx                                                       |   72 -
 scripting/source/provider/MasterScriptProvider.cxx                                                |    4 
 scripting/source/pyprov/mailmerge.py                                                              |   34 
 scripting/source/pyprov/pythonscript.py                                                           |    4 
 sd/source/core/sdpage_animations.cxx                                                              |    4 
 sd/source/core/text/textapi.cxx                                                                   |    2 
 sd/source/filter/html/htmlex.cxx                                                                  |   18 
 sd/source/filter/html/htmlex.hxx                                                                  |    2 
 sd/source/filter/ppt/pptinanimations.cxx                                                          |    7 
 sd/source/filter/xml/sdtransform.cxx                                                              |    4 
 sd/source/ui/annotations/annotationmanager.cxx                                                    |    8 
 sd/source/ui/annotations/annotationwindow.cxx                                                     |    4 
 sd/source/ui/app/sdmod2.cxx                                                                       |    2 
 sd/source/ui/dlg/RemoteDialog.cxx                                                                 |    5 
 sd/source/ui/dlg/RemoteDialogClientBox.cxx                                                        |    2 
 sd/source/ui/dlg/dlgassim.cxx                                                                     |    6 
 sd/source/ui/dlg/headerfooterdlg.cxx                                                              |    4 
 sd/source/ui/func/fuexpand.cxx                                                                    |   20 
 sd/source/ui/func/fuinsfil.cxx                                                                    |   14 
 sd/source/ui/func/fuprobjs.cxx                                                                    |    4 
 sd/source/ui/func/fusumry.cxx                                                                     |    4 
 sd/source/ui/func/futext.cxx                                                                      |    2 
 sd/source/ui/inc/OutlineView.hxx                                                                  |    6 
 sd/source/ui/unoidl/unosrch.cxx                                                                   |    4 
 sd/source/ui/view/DocumentRenderer.cxx                                                            |    8 
 sd/source/ui/view/Outliner.cxx                                                                    |    2 
 sd/source/ui/view/drawview.cxx                                                                    |    6 
 sd/source/ui/view/drtxtob.cxx                                                                     |   10 
 sd/source/ui/view/drtxtob1.cxx                                                                    |   10 
 sd/source/ui/view/outlnvs2.cxx                                                                    |    4 
 sd/source/ui/view/outlnvsh.cxx                                                                    |   22 
 sd/source/ui/view/outlview.cxx                                                                    |   44 
 sd/source/ui/view/sdview.cxx                                                                      |    6 
 sd/source/ui/view/sdview2.cxx                                                                     |   10 
 sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx                                             |    6 
 sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx                                             |    6 
 setup_native/scripts/osx_install_languagepack.applescript                                         |    7 
 setup_native/source/packinfo/spellchecker_selection.txt                                           |    1 
 sfx2/inc/sfx2/sfxsids.hrc                                                                         |    1 
 sfx2/source/appl/fileobj.cxx                                                                      |   31 
 sfx2/source/control/templatelocalview.cxx                                                         |    2 
 sfx2/source/control/templateremoteview.cxx                                                        |    2 
 sfx2/source/dialog/templdlg.cxx                                                                   |   44 
 sfx2/source/doc/docfile.cxx                                                                       |   44 
 sfx2/source/doc/guisaveas.cxx                                                                     |    5 
 sfx2/source/doc/sfxbasemodel.cxx                                                                  |    4 
 sfx2/source/doc/templatedlg.cxx                                                                   |    5 
 sfx2/source/doc/zoomitem.cxx                                                                      |    1 
 sfx2/source/inc/templdgi.hxx                                                                      |    1 
 shell/source/backends/gconfbe/gconfaccess.cxx                                                     |    2 
 shell/source/sessioninstall/SyncDbusSessionHelper.cxx                                             |    2 
 slideshow/source/engine/animatedsprite.cxx                                                        |    2 
 slideshow/source/engine/shapes/viewshape.cxx                                                      |    2 
 slideshow/source/engine/shapesubset.cxx                                                           |    2 
 slideshow/source/engine/slide/slideanimations.cxx                                                 |    2 
 slideshow/source/inc/shapeattributelayer.hxx                                                      |    2 
 slideshow/source/inc/shapeattributelayerholder.hxx                                                |    2 
 solenv/gbuild/platform/com_MSC_class.mk                                                           |    1 
 solenv/inc/DeclareDPIAware.manifest                                                               |    7 
 sot/source/sdstor/stgstrms.cxx                                                                    |   15 
 starmath/inc/edit.hxx                                                                             |    2 
 starmath/source/accessibility.cxx                                                                 |   52 
 starmath/source/accessibility.hxx                                                                 |   48 
 starmath/source/cursor.cxx                                                                        |    2 
 starmath/source/edit.cxx                                                                          |   15 
 starmath/source/view.cxx                                                                          |    5 
 store/Library_store.mk                                                                            |    2 
 store/source/storbase.hxx                                                                         |   21 
 store/source/storbios.cxx                                                                         |    5 
 store/source/storcach.cxx                                                                         |    7 
 store/source/stordata.hxx                                                                         |    9 
 store/source/stortree.hxx                                                                         |    5 
 store/workben/t_page.cxx                                                                          |    5 
 svl/inc/svl/style.hxx                                                                             |    4 
 svl/source/items/style.cxx                                                                        |   21 
 svl/source/numbers/zforfind.cxx                                                                   |    4 
 svl/source/undo/undo.cxx                                                                          |    2 
 svtools/inc/svtools/parhtml.hxx                                                                   |    2 
 svtools/inc/svtools/treelistbox.hxx                                                               |    2 
 svtools/source/contnr/imivctl1.cxx                                                                |    4 
 svtools/source/svhtml/parhtml.cxx                                                                 |   22 
 svx/inc/svx/sdrpaintwindow.hxx                                                                    |    6 
 svx/inc/svx/svdomeas.hxx                                                                          |    2 
 svx/inc/svx/svdotext.hxx                                                                          |    2 
 svx/inc/svx/svdoutl.hxx                                                                           |    2 
 svx/inc/svx/svdundo.hxx                                                                           |   11 
 svx/source/accessibility/AccessibleEmptyEditSource.cxx                                            |   48 
 svx/source/accessibility/AccessibleTextHelper.cxx                                                 |   24 
 svx/source/customshapes/EnhancedCustomShapeFontWork.cxx                                           |    2 
 svx/source/dialog/_contdlg.cxx                                                                    |    2 
 svx/source/fmcomp/fmgridcl.cxx                                                                    |    9 
 svx/source/fmcomp/gridctrl.cxx                                                                    |    6 
 svx/source/form/fmshimp.cxx                                                                       |   12 
 svx/source/sdr/contact/viewcontactofsdrobjcustomshape.cxx                                         |    4 
 svx/source/sdr/overlay/overlaymanagerbuffered.cxx                                                 |   16 
 svx/source/sdr/properties/textproperties.cxx                                                      |   34 
 svx/source/svdraw/sdrpaintwindow.cxx                                                              |   27 
 svx/source/svdraw/svdedxv.cxx                                                                     |   17 
 svx/source/svdraw/svdobj.cxx                                                                      |    2 
 svx/source/svdraw/svdomeas.cxx                                                                    |    2 
 svx/source/svdraw/svdotext.cxx                                                                    |    4 
 svx/source/svdraw/svdotextpathdecomposition.cxx                                                   |    8 
 svx/source/svdraw/svdotxat.cxx                                                                    |   12 
 svx/source/svdraw/svdotxed.cxx                                                                    |    2 
 svx/source/svdraw/svdotxfl.cxx                                                                    |    2 
 svx/source/svdraw/svdoutl.cxx                                                                     |    2 
 svx/source/svdraw/svdundo.cxx                                                                     |   53 
 svx/source/svdraw/svdview.cxx                                                                     |    4 
 svx/source/table/cell.cxx                                                                         |   16 
 svx/source/table/svdotable.cxx                                                                    |    4 
 svx/source/table/tablecontroller.cxx                                                              |  266 +++
 svx/source/table/tablecontroller.hxx                                                              |    8 
 svx/source/table/tablertfimporter.cxx                                                             |    4 
 svx/source/tbxctrls/itemwin.cxx                                                                   |   38 
 svx/source/tbxctrls/tbcontrl.cxx                                                                  |    2 
 svx/source/unodraw/unoshape.cxx                                                                   |   12 
 sw/inc/IDocumentStatistics.hxx                                                                    |    6 
 sw/inc/acmplwrd.hxx                                                                               |    4 
 sw/inc/crsrsh.hxx                                                                                 |    1 
 sw/inc/crstate.hxx                                                                                |    2 
 sw/inc/doc.hxx                                                                                    |   14 
 sw/inc/docstyle.hxx                                                                               |    4 
 sw/inc/docufld.hxx                                                                                |    2 
 sw/inc/swtypes.hxx                                                                                |    2 
 sw/inc/tblafmt.hxx                                                                                |    2 
 sw/qa/core/data/ww5/pass/ooo2535-1.doc                                                            |binary
 sw/qa/core/filters-test.cxx                                                                       |    4 
 sw/qa/extras/rtfexport/data/fdo66682.rtf                                                          |   25 
 sw/qa/extras/rtfexport/rtfexport.cxx                                                              |   21 
 sw/qa/extras/rtfimport/data/fdo62044-paste.rtf                                                    |    7 
 sw/qa/extras/rtfimport/data/fdo62044.rtf                                                          |    7 
 sw/qa/extras/rtfimport/data/fdo62977.rtf                                                          |   24 
 sw/qa/extras/rtfimport/data/fdo68076.rtf                                                          |   18 
 sw/qa/extras/rtfimport/data/fdo69384-paste.rtf                                                    |   17 
 sw/qa/extras/rtfimport/rtfimport.cxx                                                              |   45 
 sw/source/core/crsr/crsrsh.cxx                                                                    |   17 
 sw/source/core/crsr/findtxt.cxx                                                                   |    9 
 sw/source/core/doc/acmplwrd.cxx                                                                   |   18 
 sw/source/core/doc/doc.cxx                                                                        |   30 
 sw/source/core/doc/docdesc.cxx                                                                    |   22 
 sw/source/core/doc/docedt.cxx                                                                     |   12 
 sw/source/core/doc/docfmt.cxx                                                                     |   24 
 sw/source/core/doc/doclay.cxx                                                                     |    5 
 sw/source/core/doc/docnew.cxx                                                                     |    1 
 sw/source/core/doc/tblafmt.cxx                                                                    |    5 
 sw/source/core/docnode/ndtbl.cxx                                                                  |   19 
 sw/source/core/docnode/nodes.cxx                                                                  |   12 
 sw/source/core/fields/docufld.cxx                                                                 |    2 
 sw/source/core/inc/bookmrk.hxx                                                                    |    2 
 sw/source/core/layout/frmtool.cxx                                                                 |    2 
 sw/source/core/layout/pagedesc.cxx                                                                |    4 
 sw/source/core/layout/trvlfrm.cxx                                                                 |   45 
 sw/source/core/txtnode/atrftn.cxx                                                                 |   10 
 sw/source/core/unocore/unosett.cxx                                                                |    6 
 sw/source/core/view/viewsh.cxx                                                                    |   50 
 sw/source/core/view/vnew.cxx                                                                      |   11 
 sw/source/filter/rtf/rtftbl.cxx                                                                   |    4 
 sw/source/filter/rtf/swparrtf.cxx                                                                 |   10 
 sw/source/filter/rtf/swparrtf.hxx                                                                 |    4 
 sw/source/filter/ww8/docxattributeoutput.cxx                                                      |    4 
 sw/source/filter/ww8/docxexport.cxx                                                               |    4 
 sw/source/filter/ww8/rtfattributeoutput.cxx                                                       |    2 
 sw/source/filter/ww8/rtfsdrexport.cxx                                                             |    4 
 sw/source/filter/ww8/writerwordglue.cxx                                                           |    2 
 sw/source/filter/ww8/wrtw8esh.cxx                                                                 |    6 
 sw/source/filter/ww8/wrtw8nds.cxx                                                                 |    1 
 sw/source/filter/ww8/wrtw8sty.cxx                                                                 |   26 
 sw/source/filter/ww8/wrtww8.cxx                                                                   |    4 
 sw/source/filter/ww8/wrtww8.hxx                                                                   |    4 
 sw/source/filter/ww8/ww8graf.cxx                                                                  |    8 
 sw/source/filter/ww8/ww8scan.cxx                                                                  |   10 
 sw/source/filter/ww8/ww8scan.hxx                                                                  |   16 
 sw/source/filter/xml/XMLRedlineImportHelper.cxx                                                   |   39 
 sw/source/filter/xml/xmltbli.cxx                                                                  |   26 
 sw/source/ui/app/docstyle.cxx                                                                     |   19 
 sw/source/ui/config/optdlg.src                                                                    |    4 
 sw/source/ui/dialog/uiregionsw.cxx                                                                |   26 
 sw/source/ui/docvw/AnnotationWin.cxx                                                              |    4 
 sw/source/ui/docvw/PostItMgr.cxx                                                                  |    3 
 sw/source/ui/docvw/SidebarWin.cxx                                                                 |    4 
 sw/source/ui/docvw/edtwin.cxx                                                                     |    4 
 sw/source/ui/envelp/mailmrge.cxx                                                                  |   16 
 sw/source/ui/index/swuiidxmrk.cxx                                                                 |    1 
 sw/source/ui/misc/docfnote.cxx                                                                    |   12 
 sw/source/ui/shells/annotsh.cxx                                                                   |    4 
 sw/source/ui/shells/drwtxtsh.cxx                                                                  |    4 
 sw/source/ui/shells/langhelper.cxx                                                                |    2 
 sw/source/ui/shells/textsh1.cxx                                                                   |   16 
 sw/source/ui/table/tautofmt.cxx                                                                   |    7 
 sw/source/ui/uiview/view2.cxx                                                                     |    2 
 sw/source/ui/uno/unotxdoc.cxx                                                                     |    8 
 sw/source/ui/wrtsh/delete.cxx                                                                     |   23 
 sysui/desktop/menus/base.desktop                                                                  |    4 
 sysui/desktop/menus/calc.desktop                                                                  |    4 
 sysui/desktop/menus/draw.desktop                                                                  |    6 
 sysui/desktop/menus/impress.desktop                                                               |    4 
 sysui/desktop/menus/math.desktop                                                                  |    4 
 sysui/desktop/menus/startcenter.desktop                                                           |    2 
 sysui/desktop/menus/writer.desktop                                                                |    4 
 sysui/desktop/menus/xsltfilter.desktop                                                            |    2 
 sysui/desktop/share/brand.pl                                                                      |   16 
 sysui/desktop/share/makefile.mk                                                                   |   12 
 toolkit/source/controls/unocontrol.cxx                                                            |    8 
 tools/inc/tools/date.hxx                                                                          |    7 
 tools/qa/cppunit/test_urlobj.cxx                                                                  |   22 
 tools/source/datetime/tdate.cxx                                                                   |   29 
 tools/source/fsys/urlobj.cxx                                                                      |    4 
 tubes/source/manager.cxx                                                                          |    2 
 ucb/source/ucp/gio/gio_content.cxx                                                                |   42 
 ucb/source/ucp/gio/gio_provider.cxx                                                               |    4 
 ucb/source/ucp/gvfs/gvfs_provider.cxx                                                             |    2 
 unoxml/source/rdf/librdf_repository.cxx                                                           |   16 
 vbahelper/source/vbahelper/vbacommandbars.cxx                                                     |    1 
 vcl/Library_vclplug_gtk.mk                                                                        |   12 
 vcl/aqua/source/a11y/aqua11yfactory.mm                                                            |   27 
 vcl/aqua/source/window/salframeview.mm                                                            |    2 
 vcl/generic/fontmanager/fontmanager.cxx                                                           |   33 
 vcl/generic/glyphs/glyphcache.cxx                                                                 |   13 
 vcl/inc/generic/glyphcache.hxx                                                                    |    3 
 vcl/inc/unx/gtk/gtkgdi.hxx                                                                        |    4 
 vcl/source/control/field2.cxx                                                                     |    2 
 vcl/source/control/scrbar.cxx                                                                     |    4 
 vcl/source/fontsubset/sft.cxx                                                                     |    7 
 vcl/source/gdi/outdev3.cxx                                                                        |   21 
 vcl/source/gdi/salgdilayout.cxx                                                                   |    4 
 vcl/source/gdi/svgdata.cxx                                                                        |    2 
 vcl/source/glyphs/graphite_layout.cxx                                                             |    3 
 vcl/source/window/builder.cxx                                                                     |   10 
 vcl/source/window/dialog.cxx                                                                      |    6 
 vcl/unx/generic/app/saldata.cxx                                                                   |   25 
 vcl/unx/generic/desktopdetect/desktopdetector.cxx                                                 |    2 
 vcl/unx/generic/gdi/salgdi3.cxx                                                                   |    8 
 vcl/unx/gtk/app/gtkdata.cxx                                                                       |   12 
 vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx                                                          |   24 
 vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx                                                        |    2 
 vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx                                                          |   44 
 vcl/unx/gtk/window/gtkframe.cxx                                                                   |    2 
 wizards/com/sun/star/wizards/db/SQLQueryComposer.java                                             |    3 
 writerfilter/qa/cppunittests/rtftok/data/pass/fdo64656.rtf                                        |   10 
 writerfilter/qa/cppunittests/rtftok/data/pass/rhbz960019.rtf                                      |   12 
 writerfilter/source/dmapper/DomainMapper_Impl.hxx                                                 |    2 
 writerfilter/source/dmapper/StyleSheetTable.cxx                                                   |   20 
 writerfilter/source/dmapper/StyleSheetTable.hxx                                                   |    2 
 writerfilter/source/ooxml/OOXMLDocumentImpl.cxx                                                   |   13 
 writerfilter/source/rtftok/rtfdocumentimpl.cxx                                                    |   32 
 writerfilter/source/rtftok/rtffly.hxx                                                             |   42 
 writerperfect/source/stream/WPXSvStream.cxx                                                       |    4 
 xmloff/source/draw/ximpstyl.cxx                                                                   |   45 
 xmloff/source/forms/elementexport.cxx                                                             |    3 
 xmloff/source/forms/propertyexport.cxx                                                            |    4 
 xmloff/source/forms/propertyexport.hxx                                                            |   11 
 xmloff/source/forms/propertyimport.cxx                                                            |    5 
 xmloff/source/text/txtimp.cxx                                                                     |    2 
 514 files changed, 6872 insertions(+), 3062 deletions(-)

New commits:
commit f6d5a0e7bbd54c7a6c09eea9d1fa7f1f04020664
Author: Armin Le Grand <alg at apache.org>
Date:   Wed Oct 16 16:47:38 2013 +0100

    i123485 secured file import scanning existing pages
    
    (cherry picked from commit 04b38114b0ca4be9895d8f9fa842b6cb390c8036
     and adapted to the rewritten scanBuildPageChainCache)
    
    Reviewed-on: https://gerrit.libreoffice.org/6272
    Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
    Tested-by: Michael Meeks <michael.meeks at collabora.com>
    (cherry picked from commit dfa1afd0e8b7ae9c706c4a3171a04752e24230b0)
    
    Conflicts:
    	sot/source/sdstor/stgstrms.cxx
    
    Change-Id: Ib90d0563be5aeb69aa14c28b3304e42f3cc46162
    Reviewed-on: https://gerrit.libreoffice.org/6375
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>

diff --git a/sot/source/sdstor/stgstrms.cxx b/sot/source/sdstor/stgstrms.cxx
index b2c94ef..dae953f 100644
--- a/sot/source/sdstor/stgstrms.cxx
+++ b/sot/source/sdstor/stgstrms.cxx
@@ -23,6 +23,7 @@
 #include <sal/log.hxx>
 #include <osl/file.hxx>
 #include <tools/tempfile.hxx>
+#include <set>
 
 #include "sot/stg.hxx"
 #include "stgelem.hxx"
@@ -341,16 +342,22 @@ void StgStrm::scanBuildPageChainCache(sal_Int32 *pOptionalCalcSize)
 
     bool bError = false;
     sal_Int32 nBgn = nStart;
-    sal_Int32 nOldBgn = -1;
     sal_Int32 nOptSize = 0;
-    while( nBgn >= 0 && nBgn != nOldBgn )
+
+    // Track already scanned PageNumbers here and use them to
+    // see if an  already counted page is re-visited
+    std::set< sal_Int32 > nUsedPageNumbers;
+
+    while( nBgn >= 0 && !bError )
     {
         if( nBgn >= 0 )
             m_aPagesCache.push_back(nBgn);
-        nOldBgn = nBgn;
         nBgn = pFat->GetNextPage( nBgn );
-        if( nBgn == nOldBgn )
+
+        //returned second is false if it already exists
+        if (!nUsedPageNumbers.insert(nBgn).second)
             bError = true;
+
         nOptSize += nPageSize;
     }
     if (bError)
commit ce7a630b074d63cb408f2c61f96e63c10b97bb61
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Oct 17 18:01:47 2013 +0200

    fdo#70319 "exponent followed by at least on digit" also for special case 0.0
    
    (cherry picked from commit 7bbd58eafc3146abcefc73d2d1ca6869bb47ef5a)
    Conflicts:
    	sal/rtl/math.cxx
    
    Change-Id: I07e7917417b8a22cf6d64f2b7a447f9084b9fa2d
    Reviewed-on: https://gerrit.libreoffice.org/6295
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>

diff --git a/sal/qa/rtl/math/test-rtl-math.cxx b/sal/qa/rtl/math/test-rtl-math.cxx
index 8f6578c..3929a53 100644
--- a/sal/qa/rtl/math/test-rtl-math.cxx
+++ b/sal/qa/rtl/math/test-rtl-math.cxx
@@ -81,6 +81,12 @@ public:
         CPPUNIT_ASSERT_EQUAL(rtl_math_ConversionStatus_Ok, status);
         CPPUNIT_ASSERT_EQUAL(sal_Int32(RTL_CONSTASCII_LENGTH("1")), end);
         CPPUNIT_ASSERT_EQUAL(1.0, res);
+        res = rtl::math::stringToDouble(
+            rtl::OUString("0e"),
+            sal_Unicode('.'), sal_Unicode(','), &status, &end);
+        CPPUNIT_ASSERT_EQUAL(rtl_math_ConversionStatus_Ok, status);
+        CPPUNIT_ASSERT_EQUAL(sal_Int32(RTL_CONSTASCII_LENGTH("1")), end);
+        CPPUNIT_ASSERT_EQUAL(0.0, res);
     }
 
     CPPUNIT_TEST_SUITE(Test);
diff --git a/sal/rtl/source/math.cxx b/sal/rtl/source/math.cxx
index e5c44d5..ec2bfc4 100644
--- a/sal/rtl/source/math.cxx
+++ b/sal/rtl/source/math.cxx
@@ -825,6 +825,10 @@ inline double stringToDouble(CharT const * pBegin, CharT const * pEnd,
                 // offset
                 while (p != pEnd && isDigit(*p))
                     ++p;
+                if (p == pFirstExpDigit)
+                {   // no digits in exponent, reset end of scan
+                    p = pExponent;
+                }
             }
             else
             {
commit 1924d9bb5e732dcbb12104586be13ba9e9eb0a08
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Oct 16 16:39:20 2013 +0200

    Resolves: rhbz#1015594 CVE-2013-2924 use-after-free
    
    Added icu4c.10318.CVE-2013-2924_changeset_34076_icu-49.patch from
    https://ssl.icu-project.org/trac/changeset/34076 assigned to
    https://ssl.icu-project.org/trac/ticket/10318
    
    Backported to 4-0 and ICU 49 from
    970eca0d3040dbf61a9c91943b4b1281fdbcf48c
    
    Change-Id: I33ba5569919878123909d032a0ed7bed43a4c549
    Reviewed-on: https://gerrit.libreoffice.org/6270
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/icu/icu4c.10318.CVE-2013-2924_changeset_34076_icu-49.patch b/icu/icu4c.10318.CVE-2013-2924_changeset_34076_icu-49.patch
new file mode 100644
index 0000000..360a96c
--- /dev/null
+++ b/icu/icu4c.10318.CVE-2013-2924_changeset_34076_icu-49.patch
@@ -0,0 +1,43 @@
+diff -ru orig.icu/source/i18n/csrucode.cpp icu/source/i18n/csrucode.cpp
+--- misc/build/orig.icu/source/i18n/csrucode.cpp	2012-04-05 22:45:54.000000000 +0200
++++ misc/build/icu/source/i18n/csrucode.cpp	2013-10-09 18:56:06.521791271 +0200
+@@ -1,6 +1,6 @@
+ /*
+  **********************************************************************
+- *   Copyright (C) 2005-2006, International Business Machines
++ *   Copyright (C) 2005-2013, International Business Machines
+  *   Corporation and others.  All Rights Reserved.
+  **********************************************************************
+  */
+@@ -31,8 +31,9 @@
+ int32_t CharsetRecog_UTF_16_BE::match(InputText* textIn)
+ {
+     const uint8_t *input = textIn->fRawInput;
++    int32_t length = textIn->fRawLength;
+ 
+-    if (input[0] == 0xFE && input[1] == 0xFF) {
++    if (length >=2 && input[0] == 0xFE && input[1] == 0xFF) {
+         return 100;
+     }
+ 
+@@ -53,8 +54,9 @@
+ int32_t CharsetRecog_UTF_16_LE::match(InputText* textIn)
+ {
+     const uint8_t *input = textIn->fRawInput;
++    int32_t length = textIn->fRawLength;
+ 
+-    if (input[0] == 0xFF && input[1] == 0xFE && (input[2] != 0x00 || input[3] != 0x00)) {
++    if (length >= 4 && input[0] == 0xFF && input[1] == 0xFE && (input[2] != 0x00 || input[3] != 0x00)) {
+         return 100;
+     }
+ 
+@@ -76,7 +78,7 @@
+     bool hasBOM = FALSE;
+     int32_t confidence = 0;
+ 
+-    if (getChar(input, 0) == 0x0000FEFFUL) {
++    if (limit > 0 && getChar(input, 0) == 0x0000FEFFUL) {
+         hasBOM = TRUE;
+     }
+ 
+Only in icu/source/i18n: csrucode.cpp.orig
diff --git a/icu/makefile.mk b/icu/makefile.mk
index 1f6e8e8..35894cc 100644
--- a/icu/makefile.mk
+++ b/icu/makefile.mk
@@ -46,6 +46,7 @@ TARFILE_ROOTDIR=icu
 #http://bugs.icu-project.org/trac/ticket/8198 rendering with 0D30 and 0D31
 
 PATCH_FILES=\
+	icu4c.10318.CVE-2013-2924_changeset_34076_icu-49.patch \
     icu4c.10129.wintz.patch \
     icu4c.9948.mlym-crash.patch \
     icu4c-bsd.patch \
commit e81bcb1fceb456d1585147d527999daa82c8a4dd
Author: Eike Rathke <erack at redhat.com>
Date:   Mon Oct 14 14:55:23 2013 +0200

    resolved fdo#70319 exponent must be followed by at least one digit
    
    Change-Id: Icdd22fa0f1efcdd18cfea7cb48e1cbf2cf8d3533
    (cherry picked from commit f20feba4c43c34fd2ee05b4658b0de0248c08eb9)
    Reviewed-on: https://gerrit.libreoffice.org/6242
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/sal/qa/rtl/math/test-rtl-math.cxx b/sal/qa/rtl/math/test-rtl-math.cxx
index 70e8107..8f6578c 100644
--- a/sal/qa/rtl/math/test-rtl-math.cxx
+++ b/sal/qa/rtl/math/test-rtl-math.cxx
@@ -72,9 +72,21 @@ public:
         CPPUNIT_ASSERT_EQUAL(0.0, res);
     }
 
+    void test_stringToDouble_exponent_without_digit() {
+        rtl_math_ConversionStatus status;
+        sal_Int32 end;
+        double res = rtl::math::stringToDouble(
+            rtl::OUString("1e"),
+            sal_Unicode('.'), sal_Unicode(','), &status, &end);
+        CPPUNIT_ASSERT_EQUAL(rtl_math_ConversionStatus_Ok, status);
+        CPPUNIT_ASSERT_EQUAL(sal_Int32(RTL_CONSTASCII_LENGTH("1")), end);
+        CPPUNIT_ASSERT_EQUAL(1.0, res);
+    }
+
     CPPUNIT_TEST_SUITE(Test);
     CPPUNIT_TEST(test_stringToDouble_good);
     CPPUNIT_TEST(test_stringToDouble_bad);
+    CPPUNIT_TEST(test_stringToDouble_exponent_without_digit);
     CPPUNIT_TEST_SUITE_END();
 };
 
diff --git a/sal/rtl/source/math.cxx b/sal/rtl/source/math.cxx
index c0d93b6..e5c44d5 100644
--- a/sal/rtl/source/math.cxx
+++ b/sal/rtl/source/math.cxx
@@ -805,6 +805,7 @@ inline double stringToDouble(CharT const * pBegin, CharT const * pEnd,
         // Exponent
         if (p != p0 && p != pEnd && (*p == CharT('E') || *p == CharT('e')))
         {
+            CharT const * const pExponent = p;
             ++p;
             bool bExpSign;
             if (p != pEnd && *p == CharT('-'))
@@ -818,6 +819,7 @@ inline double stringToDouble(CharT const * pBegin, CharT const * pEnd,
                 if (p != pEnd && *p == CharT('+'))
                     ++p;
             }
+            CharT const * const pFirstExpDigit = p;
             if ( fVal == 0.0 )
             {   // no matter what follows, zero stays zero, but carry on the
                 // offset
@@ -863,6 +865,10 @@ inline double stringToDouble(CharT const * pBegin, CharT const * pEnd,
                     else
                         fVal = rtl::math::pow10Exp( fVal, nExp );  // normal
                 }
+                else if (p == pFirstExpDigit)
+                {   // no digits in exponent, reset end of scan
+                    p = pExponent;
+                }
             }
         }
         else if (p - p0 == 2 && p != pEnd && p[0] == CharT('#')
commit 00dd20f2d5e7150bb862fb1653c3ca0e5c655695
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Oct 5 10:32:12 2013 +0100

    CID#736943 clamp no of ttc entries to physical max
    
    Change-Id: Ic63defe9c14c6ee2b86bd5b7730a570238ca3981
    (cherry picked from commit 225539ab08043b6937fdd67d9ae308ebd4104646)
    Reviewed-on: https://gerrit.libreoffice.org/6149
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/vcl/generic/fontmanager/fontmanager.cxx b/vcl/generic/fontmanager/fontmanager.cxx
index aa84fc7..a915d7d 100644
--- a/vcl/generic/fontmanager/fontmanager.cxx
+++ b/vcl/generic/fontmanager/fontmanager.cxx
@@ -1192,6 +1192,39 @@ bool PrintFontManager::analyzeFontFile( int nDirID, const OString& rFontFile, ::
 #if OSL_DEBUG_LEVEL > 1
             fprintf( stderr, "ttc: %s contains %d fonts\n", aFullPath.getStr(), nLength );
 #endif
+
+            sal_uInt64 fileSize;
+
+            OUString aURL;
+            if (!osl::File::getFileURLFromSystemPath(OStringToOUString(aFullPath, osl_getThreadTextEncoding()),
+                aURL))
+            {
+                fileSize = 0;
+            }
+            else
+            {
+                osl::File aFile(aURL);
+                if (aFile.open(osl_File_OpenFlag_Read | osl_File_OpenFlag_NoLock) != osl::File::E_None)
+                    fileSize = 0;
+                else
+                {
+                    osl::DirectoryItem aItem;
+                    osl::DirectoryItem::get( aURL, aItem );
+                    osl::FileStatus aFileStatus( osl_FileStatus_Mask_FileSize );
+                    aItem.getFileStatus( aFileStatus );
+                    fileSize = aFileStatus.getFileSize();
+                }
+            }
+
+            //Feel free to calc the exact max possible number of fonts a file
+            //could contain given its physical size. But this will clamp it to
+            //a sane starting point
+            //http://processingjs.nihongoresources.com/the_smallest_font/
+            //https://github.com/grzegorzrolek/null-ttf
+            int nMaxFontsPossible = fileSize / 528;
+
+            nLength = std::min(nLength, nMaxFontsPossible);
+
             for( int i = 0; i < nLength; i++ )
             {
                 TrueTypeFontFile* pFont     = new TrueTypeFontFile();
commit d480ce8c7a97d81c270344eeaff1247c750dc7aa
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri Oct 11 18:36:47 2013 +0200

    fdo#67796: sw: fix table cursor when setting language in status bar
    
    Unfortunately it turns out that the neat hack in commit
    b227a8e4d65e4bbfe991aed9342fe3e30eca8639 does not work unless something
    actually _deletes_ the current m_pTblCrsr between Push() and Pop(),
    e.g. by calling SwCrsrShell::ClearMark() or KillPams().
    
    It would be possible to do some invalidation of m_pTblCrsr in
    SwCrsrShell::ClearUpCrsrs() or UpdateCrsr(), to set it's bChg flag
    or perhaps call ParkTblCrsr(); not sure if doing that is an improvement;
    certainly it shouldn't be tried in a 4.0.6 backport.
    
    So work around the problem locally in SwTextShell::Execute().
    
    Conflicts:
    	sw/source/ui/shells/textsh1.cxx
    
    Change-Id: I2981506b3065e824532deda28d21dad4a5734a8c
    (cherry picked from commit 9533e01713c0170bdae030429de38756d9c5ca74)
    Reviewed-on: https://gerrit.libreoffice.org/6213
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sw/source/ui/shells/textsh1.cxx b/sw/source/ui/shells/textsh1.cxx
index c351e38..373731e 100644
--- a/sw/source/ui/shells/textsh1.cxx
+++ b/sw/source/ui/shells/textsh1.cxx
@@ -311,8 +311,6 @@ void SwTextShell::Execute(SfxRequest &rReq)
                 rWrtSh.StartAction();
                 // prevent view from jumping because of (temporary) selection changes
                 rWrtSh.LockView( sal_True );
-                // save selection for later restoration
-                rWrtSh.Push();
 
                 // setting the new language...
                 if (aNewLangTxt.Len() > 0)
@@ -352,6 +350,12 @@ void SwTextShell::Execute(SfxRequest &rReq)
                         bForSelection = false;
                     }
 
+                    if (bForParagraph || !bForSelection)
+                    {
+                        rWrtSh.Push(); // save selection for later restoration
+                        rWrtSh.ClearMark(); // fdo#67796: invalidate table crsr
+                    }
+
                     if (bForParagraph)
                         SwLangHelper::SelectCurrentPara( rWrtSh );
 
@@ -366,10 +370,12 @@ void SwTextShell::Execute(SfxRequest &rReq)
                         SwLangHelper::ResetLanguages( rWrtSh, bForSelection );
                     else
                         SwLangHelper::SetLanguage( rWrtSh, aNewLangTxt, bForSelection, aCoreSet );
-                }
 
-                // restore selection...
-                rWrtSh.Pop( sal_False );
+                    if (bForParagraph || !bForSelection)
+                    {
+                        rWrtSh.Pop(false); // restore selection...
+                    }
+                }
 
                 rWrtSh.LockView( sal_False );
                 rWrtSh.EndAction();
commit 47097d3a0bd89a2f3cc2af9a643c41d0bfecc70b
Author: Michael Stahl <mstahl at redhat.com>
Date:   Sat Oct 12 01:53:51 2013 +0200

    fdo#64495: sw: fix regex search for soft hyphen \xAD
    
    The problem is that the soft hyphen apparently needs special handling,
    and SwPaM::DoSearch() looked for the no longer supported legacy syntax,
    not for any of the unicode character syntax that ICU regex supports.
    
    Conflicts:
    	sw/source/core/crsr/findtxt.cxx
    
    Change-Id: I754296d2cf9286242e083cc7906ce3b8fda78dd5
    (cherry picked from commit dca5163b6ef206ceb1f2d56feb7546c1929afe60)
    Reviewed-on: https://gerrit.libreoffice.org/6228
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sw/source/core/crsr/findtxt.cxx b/sw/source/core/crsr/findtxt.cxx
index 427c4fa..6b55cea 100644
--- a/sw/source/core/crsr/findtxt.cxx
+++ b/sw/source/core/crsr/findtxt.cxx
@@ -416,9 +416,14 @@ bool SwPaM::DoSearch( const SearchOptions& rSearchOpt, utl::TextSearch& rSTxt,
     bool bRemoveSoftHyphens = true;
     if ( bRegSearch )
     {
-        const rtl::OUString a00AD(RTL_CONSTASCII_USTRINGPARAM("\\x00AD"));
-        if ( -1 != rSearchOpt.searchString.indexOf( a00AD ) )
+        if (   -1 != rSearchOpt.searchString.indexOf("\\xAD")
+            || -1 != rSearchOpt.searchString.indexOf("\\x{00AD}")
+            || -1 != rSearchOpt.searchString.indexOf("\\u00AD")
+            || -1 != rSearchOpt.searchString.indexOf("\\U000000AD")
+            || -1 != rSearchOpt.searchString.indexOf("\\N{SOFT HYPHEN}"))
+        {
              bRemoveSoftHyphens = false;
+        }
     }
     else
     {
commit 4aa32419d1d546749cd84054541154eb1faa84af
Author: Eike Rathke <erack at redhat.com>
Date:   Thu Oct 10 18:02:25 2013 +0200

    fixed another "Out of bounds substring access"
    
    Introduced with 3c2a26c84e70fd996855181d319970e2230b2459
    Didn't have consequences here because the result was used to check for a
    "startsWith" condition which it wouldn't had matched anyway. However,
    use the real startsWith() now.
    
    (cherry picked from commit b1caf176a44b6979d2e0ea47f495a3dacf86e197)
    
    With 5688ab5ba457ea9a50152570d161a11a1d093994 in 4-0 we should have this
    as well.
    
    Conflicts:
    	sc/source/ui/docshell/tablink.cxx
    
    Change-Id: Ia1d558fc106d9a2010ad41c30f7eb2a2a480c59b
    Reviewed-on: https://gerrit.libreoffice.org/6223
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/ui/docshell/tablink.cxx b/sc/source/ui/docshell/tablink.cxx
index b7d3a54..7a28d22 100644
--- a/sc/source/ui/docshell/tablink.cxx
+++ b/sc/source/ui/docshell/tablink.cxx
@@ -522,12 +522,11 @@ bool ScDocumentLoader::GetFilterName(
 
 void ScDocumentLoader::RemoveAppPrefix( rtl::OUString& rFilterName )
 {
-    rtl::OUStringBuffer aAppPrefix;
-    aAppPrefix.appendAscii(STRING_SCAPP);
-    aAppPrefix.appendAscii(": ");
-    sal_Int32 nPreLen = aAppPrefix.getLength();
-    if (rFilterName.copy(0, nPreLen).equals(aAppPrefix.makeStringAndClear()))
-        rFilterName = rFilterName.copy(nPreLen);
+    rtl::OUStringBuffer aBuf;
+    aBuf.appendAscii( STRING_SCAPP).appendAscii( ": ");
+    OUString aAppPrefix( aBuf.makeStringAndClear());
+    if (rFilterName.startsWith( aAppPrefix))
+        rFilterName = rFilterName.copy( aAppPrefix.getLength());
 }
 
 ScDocumentLoader::ScDocumentLoader( const rtl::OUString& rFileName,
commit 5a1cd742e4737c451d9f8ff13ea5bcacc2e0d0d5
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Oct 9 19:10:32 2013 +0200

    Fail fast at least in debug builds
    
    (cherry picked from commit 57a28dc9556b4e6fff337e0eb9d0d8abc5223161)
    Conflicts:
    	sal/rtl/strtmpl.cxx
    
    Change-Id: I266d5cf5b98827617f7ed65c94a772e28808f386
    Reviewed-on: https://gerrit.libreoffice.org/6189
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>

diff --git a/sal/rtl/source/strtmpl.cxx b/sal/rtl/source/strtmpl.cxx
index f9d7a5e..b303e10 100644
--- a/sal/rtl/source/strtmpl.cxx
+++ b/sal/rtl/source/strtmpl.cxx
@@ -1198,7 +1198,7 @@ void SAL_CALL IMPL_RTL_STRINGNAME( newFromSubString )( IMPL_RTL_STRINGDATA** ppT
     }
     if ( count < 0 || beginIndex < 0 || beginIndex + count > pFrom->length )
     {
-        OSL_FAIL( "Out of bounds substring access" );
+        assert(false);
         IMPL_RTL_STRINGNAME( newFromLiteral )( ppThis, "!!br0ken!!", 10, 0 );
         return;
     }
commit 62cf313426a32e3934db10cc8440974e85ce463e
Author: Arnaud Versini <arnaud.versini at libreoffice.org>
Date:   Mon Oct 7 21:09:26 2013 +0200

    fdo#70143: fix SwDoc::ReplaceRangeImpl()
    
    Fix fdo#70143 by reporting swaping of positions
    
    (regression from 6b08fe833186a04f9aef698a540d3a7493ac4519,
    which changed SwUndoReplace::Impl::SetEnd to use the wrongly set end
    position in rPam)
    
    Change-Id: I14c6f58bc5c1418c69eb565d42f1829856eed58c
    (cherry picked from commit 9685d20f2a0526a4c454cea1bd947eccbaeefa84)
    
    Fixes regex replace of "$" with nothing (to delete line
    breaks).
    
    Change-Id: If7ec1e5f524f7bb308a2949ace16cb8aa6989106
    (cherry picked from commit f011a5c5071ed4a60f0ee7117608b72cecbb958d)
    Reviewed-on: https://gerrit.libreoffice.org/6176
    Reviewed-by: Arnaud Versini <arnaud.versini at libreoffice.org>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sw/source/core/doc/docedt.cxx b/sw/source/core/doc/docedt.cxx
index 6d34685..52b0b40 100644
--- a/sw/source/core/doc/docedt.cxx
+++ b/sw/source/core/doc/docedt.cxx
@@ -2469,17 +2469,23 @@ SetRedlineMode( eOld );
                 }
             }
 
-            *rPam.GetMark() = *aDelPam.GetMark();
-
+            *rPam.GetPoint() = *aDelPam.GetMark();
             ++aPtNd;
             rPam.GetMark()->nNode = aPtNd;
             rPam.GetMark()->nContent.Assign( aPtNd.GetNode().GetCntntNode(),
                                                 nPtCnt );
 
-            if (bJoinTxt && !bJoinPrev)
+            if (bJoinTxt)
             {
+                assert(rPam.GetPoint() == rPam.End());
+                // move so that SetEnd remembers position after sw_JoinText
                 rPam.Move(fnMoveBackward);
             }
+            else if (aDelPam.GetPoint() == pStt) // backward selection?
+            {
+                assert(*rPam.GetMark() <= *rPam.GetPoint());
+                rPam.Exchange(); // swap so that rPam is backwards
+            }
 
             if( pUndoRpl )
             {
commit df5cc330d14c0a6b30faeed741cab5418dd6145a
Author: Eike Rathke <erack at redhat.com>
Date:   Fri Oct 11 01:08:01 2013 +0200

    resolved fdo#69948 honor a detected FilterName
    
    TypeDetection::queryTypeByDescriptor() adds the FilterName property to
    the MediaDescriptor, use that if present.
    
    Strangely enough the sequence returned by XNameAccess::getByName(sType)
    of the type detection contains an empty PreferredFilter value so that is
    useless in this scenario.
    
    (cherry picked from commit 823278dd095d754d0f673ef140c36c9fa7ebeffd)
    
    Conflicts:
    	sfx2/source/appl/fileobj.cxx
    
    Backported.
    
    Change-Id: I5cdc9fe71e35bdb7c511739c7f7728134941649a
    Reviewed-on: https://gerrit.libreoffice.org/6208
    Reviewed-by: Kohei Yoshida <libreoffice at kohei.us>
    Tested-by: Kohei Yoshida <libreoffice at kohei.us>

diff --git a/sfx2/source/appl/fileobj.cxx b/sfx2/source/appl/fileobj.cxx
index 385b8b0..abda2a5 100644
--- a/sfx2/source/appl/fileobj.cxx
+++ b/sfx2/source/appl/fileobj.cxx
@@ -397,13 +397,32 @@ String impl_getFilter( const String& _rURL )
             ::rtl::OUString sType = xTypeDetection->queryTypeByDescriptor( aDescrList, sal_True );
             if ( !sType.isEmpty() )
             {
-                css::uno::Reference< css::container::XNameAccess > xTypeCont( xTypeDetection,
-                                                                              css::uno::UNO_QUERY );
-                if ( xTypeCont.is() )
+                // Honor a selected/detected filter.
+                for (sal_Int32 i=0; i < aDescrList.getLength(); ++i)
                 {
-                    ::comphelper::SequenceAsHashMap lTypeProps( xTypeCont->getByName( sType ) );
-                    sFilter = lTypeProps.getUnpackedValueOrDefault(
-                        ::rtl::OUString("PreferredFilter"), ::rtl::OUString() );
+                    if (aDescrList[i].Name == "FilterName")
+                    {
+                        OUString aFilterName;
+                        if (aDescrList[i].Value >>= aFilterName)
+                        {
+                            sFilter = aFilterName;
+                            break;
+                        }
+                    }
+                }
+                if (!sFilter.Len())
+                {
+                    css::uno::Reference< css::container::XNameAccess > xTypeCont( xTypeDetection,
+                            css::uno::UNO_QUERY );
+                    if ( xTypeCont.is() )
+                    {
+                        /* XXX: for fdo#69948 scenario the sequence returned by
+                         * getByName() contains an empty PreferredFilter
+                         * property value (since? expected?) */
+                        ::comphelper::SequenceAsHashMap lTypeProps( xTypeCont->getByName( sType ) );
+                        sFilter = lTypeProps.getUnpackedValueOrDefault(
+                                ::rtl::OUString("PreferredFilter"), ::rtl::OUString() );
+                    }
                 }
             }
         }
commit a092063053c9e8500bd837c8c67934e5eddb573b
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Oct 9 16:39:28 2013 +0100

    CID#736174 yikes, sizeof(char[]) includes 0, so 4 not 3
    
    Change-Id: Ia54ecab9e08485ebffe98dc064f328360c17a120
    (cherry picked from commit 8254648828e4f4d65a0516e160e5732f3d85765a)
    Reviewed-on: https://gerrit.libreoffice.org/6174
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/filter/source/msfilter/msvbahelper.cxx b/filter/source/msfilter/msvbahelper.cxx
index e421b38..f04d9d5 100644
--- a/filter/source/msfilter/msvbahelper.cxx
+++ b/filter/source/msfilter/msvbahelper.cxx
@@ -622,7 +622,7 @@ bool getModifier( char c, sal_uInt16& mod )
     static const char modifiers[] = "+^%";
     static const sal_uInt16 KEY_MODS[] = {KEY_SHIFT, KEY_MOD1, KEY_MOD2};
 
-    for ( unsigned int i=0; i<SAL_N_ELEMENTS(modifiers); ++i )
+    for ( unsigned int i=0; i<SAL_N_ELEMENTS(KEY_MODS); ++i )
     {
         if ( c == modifiers[i] )
         {
commit dbf03ad6c685d2cf7d8fe438fec119f91f40e881
Author: Michael Stahl <mstahl at redhat.com>
Date:   Sat Oct 5 23:12:40 2013 +0200

    fdo#64400: DXF import filter: fix OUString handling
    
    The DXF import filter stores all strings read from the file in
    char[DXF_MAX_STRING_LEN+1] arrays, and then calls OUString constructor
    with that which then asserts because the string is actually shorter than
    the size of the array... avoid that by converting from char* to OString.
    
    Actually this also fixes the actual bug: the weird lines in the exported
    PDF were tiny Text elements from the document, repeated.
    
    (cherry picked from commit 96852a89da058084b2acf5ff706d9679b127b29a)
    
    Conflicts:
    	filter/source/graphicfilter/idxf/dxf2mtf.cxx
    	filter/source/graphicfilter/idxf/dxfblkrd.hxx
    	filter/source/graphicfilter/idxf/dxfentrd.hxx
    	filter/source/graphicfilter/idxf/dxftblrd.hxx
    
    Change-Id: I93c52788f88fe5d21968d450d029ed5db101d88b
    Reviewed-on: https://gerrit.libreoffice.org/6152
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/filter/source/graphicfilter/idxf/dxf2mtf.cxx b/filter/source/graphicfilter/idxf/dxf2mtf.cxx
index c22e0a4..e4e9f17 100644
--- a/filter/source/graphicfilter/idxf/dxf2mtf.cxx
+++ b/filter/source/graphicfilter/idxf/dxf2mtf.cxx
@@ -52,9 +52,10 @@ long DXF2GDIMetaFile::GetEntityColor(const DXFBasicEntity & rE)
 
     nColor=rE.nColor;
     if (nColor==256) {
-        if (rE.sLayer[0]=='0' && rE.sLayer[1]==0) nColor=nParentLayerColor;
-        else {
-            pLayer=pDXF->aTables.SearchLayer(rE.sLayer);
+        if (rE.m_sLayer.getLength() < 2) {
+            nColor=nParentLayerColor;
+        } else {
+            pLayer=pDXF->aTables.SearchLayer(rE.m_sLayer);
             if (pLayer!=NULL) nColor=pLayer->nColor;
             else nColor=nParentLayerColor;
         }
@@ -63,12 +64,12 @@ long DXF2GDIMetaFile::GetEntityColor(const DXFBasicEntity & rE)
     return nColor;
 }
 
-DXFLineInfo DXF2GDIMetaFile::LTypeToDXFLineInfo(const char * sLineType)
+DXFLineInfo DXF2GDIMetaFile::LTypeToDXFLineInfo(OString const& rLineType)
 {
     const DXFLType * pLT;
     DXFLineInfo aDXFLineInfo;
 
-    pLT=pDXF->aTables.SearchLType(sLineType);
+    pLT = pDXF->aTables.SearchLType(rLineType);
     if (pLT==NULL || pLT->nDashCount == 0) {
         aDXFLineInfo.eStyle = LINE_SOLID;
     }
@@ -125,18 +126,23 @@ DXFLineInfo DXF2GDIMetaFile::GetEntityDXFLineInfo(const DXFBasicEntity & rE)
     aDXFLineInfo.fDotLen = 0;
     aDXFLineInfo.fDistance = 0;
 
-    if (strcmp(rE.sLineType,"BYLAYER")==0) {
-        if (rE.sLayer[0]=='0' && rE.sLayer[1]==0) aDXFLineInfo=aParentLayerDXFLineInfo;
-        else {
-            pLayer=pDXF->aTables.SearchLayer(rE.sLayer);
-            if (pLayer!=NULL) aDXFLineInfo=LTypeToDXFLineInfo(pLayer->sLineType);
+    if (rE.m_sLineType == "BYLAYER") {
+        if (rE.m_sLayer.getLength() < 2) {
+            aDXFLineInfo=aParentLayerDXFLineInfo;
+        } else {
+            pLayer=pDXF->aTables.SearchLayer(rE.m_sLayer);
+            if (pLayer!=NULL) {
+                aDXFLineInfo = LTypeToDXFLineInfo(pLayer->m_sLineType);
+            }
             else aDXFLineInfo=aParentLayerDXFLineInfo;
         }
     }
-    else if (strcmp(rE.sLineType,"BYBLOCK")==0) {
+    else if (rE.m_sLineType == "BYBLOCK") {
         aDXFLineInfo=aBlockDXFLineInfo;
     }
-    else aDXFLineInfo=LTypeToDXFLineInfo(rE.sLineType);
+    else {
+        aDXFLineInfo = LTypeToDXFLineInfo(rE.m_sLineType);
+    }
     return aDXFLineInfo;
 }
 
@@ -415,7 +421,6 @@ void DXF2GDIMetaFile::DrawTextEntity(const DXFTextEntity & rE, const DXFTransfor
     double fA;
     sal_uInt16 nHeight;
     short nAng;
-    rtl::OString aStr( rE.sText );
     DXFTransform aT( DXFTransform(rE.fXScale,rE.fHeight,1.0,rE.fRotAngle,rE.aP0), rTransform );
     aT.TransDir(DXFVector(0,1,0),aV);
     nHeight=(sal_uInt16)(aV.Abs()+0.5);
@@ -424,7 +429,8 @@ void DXF2GDIMetaFile::DrawTextEntity(const DXFTextEntity & rE, const DXFTransfor
     aT.TransDir(DXFVector(1,0,0),aV);
     if ( SetFontAttribute( rE,nAng, nHeight, aV. Abs() ) )
     {
-        rtl::OUString aUString(rtl::OStringToOUString(aStr, pDXF->getTextEncoding()));
+        rtl::OUString const aUString(
+                rtl::OStringToOUString(rE.m_sText, pDXF->getTextEncoding()));
         aT.Transform( DXFVector( 0, 0, 0 ), aPt );
         pVirDev->DrawText( aPt, aUString );
     }
@@ -434,7 +440,7 @@ void DXF2GDIMetaFile::DrawTextEntity(const DXFTextEntity & rE, const DXFTransfor
 void DXF2GDIMetaFile::DrawInsertEntity(const DXFInsertEntity & rE, const DXFTransform & rTransform)
 {
     const DXFBlock * pB;
-    pB=pDXF->aBlocks.Search(rE.sName);
+    pB=pDXF->aBlocks.Search(rE.m_sName);
     if (pB!=NULL) {
         DXFTransform aDXFTransform1(1.0,1.0,1.0,DXFVector(0.0,0.0,0.0)-pB->aBasePoint);
         DXFTransform aDXFTransform2(rE.fXScale,rE.fYScale,rE.fZScale,rE.fRotAngle,rE.aP0);
@@ -450,11 +456,11 @@ void DXF2GDIMetaFile::DrawInsertEntity(const DXFInsertEntity & rE, const DXFTran
         aSavedParentLayerDXFLineInfo=aParentLayerDXFLineInfo;
         nBlockColor=GetEntityColor(rE);
         aBlockDXFLineInfo=GetEntityDXFLineInfo(rE);
-        if (rE.sLayer[0]!='0' || rE.sLayer[1]!=0) {
-            DXFLayer * pLayer=pDXF->aTables.SearchLayer(rE.sLayer);
+        if (rE.m_sLayer.getLength() > 1) {
+            DXFLayer * pLayer=pDXF->aTables.SearchLayer(rE.m_sLayer);
             if (pLayer!=NULL) {
                 nParentLayerColor=pLayer->nColor;
-                aParentLayerDXFLineInfo=LTypeToDXFLineInfo(pLayer->sLineType);
+                aParentLayerDXFLineInfo = LTypeToDXFLineInfo(pLayer->m_sLineType);
             }
         }
         DrawEntities(*pB,aT);
@@ -474,7 +480,6 @@ void DXF2GDIMetaFile::DrawAttribEntity(const DXFAttribEntity & rE, const DXFTran
         double fA;
         sal_uInt16 nHeight;
         short nAng;
-        rtl::OString aStr( rE.sText );
         DXFTransform aT( DXFTransform( rE.fXScale, rE.fHeight, 1.0, rE.fRotAngle, rE.aP0 ), rTransform );
         aT.TransDir(DXFVector(0,1,0),aV);
         nHeight=(sal_uInt16)(aV.Abs()+0.5);
@@ -483,7 +488,8 @@ void DXF2GDIMetaFile::DrawAttribEntity(const DXFAttribEntity & rE, const DXFTran
         aT.TransDir(DXFVector(1,0,0),aV);
         if (SetFontAttribute(rE,nAng,nHeight,aV.Abs()))
         {
-            rtl::OUString aUString(rtl::OStringToOUString(aStr, pDXF->getTextEncoding()));
+            rtl::OUString const aUString(
+                rtl::OStringToOUString(rE.m_sText, pDXF->getTextEncoding()));
             aT.Transform( DXFVector( 0, 0, 0 ), aPt );
             pVirDev->DrawText( aPt, aUString );
         }
@@ -645,7 +651,7 @@ void DXF2GDIMetaFile::Draw3DFaceEntity(const DXF3DFaceEntity & rE, const DXFTran
 void DXF2GDIMetaFile::DrawDimensionEntity(const DXFDimensionEntity & rE, const DXFTransform & rTransform)
 {
     const DXFBlock * pB;
-    pB=pDXF->aBlocks.Search(rE.sPseudoBlock);
+    pB=pDXF->aBlocks.Search(rE.m_sPseudoBlock);
     if (pB!=NULL) {
         DXFTransform aT(
             DXFTransform(1.0,1.0,1.0,DXFVector(0.0,0.0,0.0)-pB->aBasePoint),
@@ -659,11 +665,11 @@ void DXF2GDIMetaFile::DrawDimensionEntity(const DXFDimensionEntity & rE, const D
         aSavedParentLayerDXFLineInfo=aParentLayerDXFLineInfo;
         nBlockColor=GetEntityColor(rE);
         aBlockDXFLineInfo=GetEntityDXFLineInfo(rE);
-        if (rE.sLayer[0]!='0' || rE.sLayer[1]!=0) {
-            DXFLayer * pLayer=pDXF->aTables.SearchLayer(rE.sLayer);
+        if (rE.m_sLayer.getLength() > 1) {
+            DXFLayer * pLayer=pDXF->aTables.SearchLayer(rE.m_sLayer);
             if (pLayer!=NULL) {
                 nParentLayerColor=pLayer->nColor;
-                aParentLayerDXFLineInfo=LTypeToDXFLineInfo(pLayer->sLineType);
+                aParentLayerDXFLineInfo = LTypeToDXFLineInfo(pLayer->m_sLineType);
             }
         }
         DrawEntities(*pB,aT);
@@ -787,7 +793,7 @@ sal_Bool DXF2GDIMetaFile::Convert(const DXFRepresentation & rDXF, GDIMetaFile &
     pLayer=pDXF->aTables.SearchLayer("0");
     if (pLayer!=NULL) {
         nParentLayerColor=pLayer->nColor & 0xff;
-        aParentLayerDXFLineInfo=LTypeToDXFLineInfo(pLayer->sLineType);
+        aParentLayerDXFLineInfo = LTypeToDXFLineInfo(pLayer->m_sLineType);
     }
     else {
         nParentLayerColor=7;
diff --git a/filter/source/graphicfilter/idxf/dxf2mtf.hxx b/filter/source/graphicfilter/idxf/dxf2mtf.hxx
index b767cb0..0a56572 100644
--- a/filter/source/graphicfilter/idxf/dxf2mtf.hxx
+++ b/filter/source/graphicfilter/idxf/dxf2mtf.hxx
@@ -60,7 +60,7 @@ private:
 
     long GetEntityColor(const DXFBasicEntity & rE);
 
-    DXFLineInfo LTypeToDXFLineInfo(const char * sLineType);
+    DXFLineInfo LTypeToDXFLineInfo(OString const& rLineType);
 
     DXFLineInfo GetEntityDXFLineInfo(const DXFBasicEntity & rE);
 
diff --git a/filter/source/graphicfilter/idxf/dxfblkrd.cxx b/filter/source/graphicfilter/idxf/dxfblkrd.cxx
index 3f06268..bb52fe42 100644
--- a/filter/source/graphicfilter/idxf/dxfblkrd.cxx
+++ b/filter/source/graphicfilter/idxf/dxfblkrd.cxx
@@ -40,25 +40,25 @@ DXFBlock::~DXFBlock()
 
 void DXFBlock::Read(DXFGroupReader & rDGR)
 {
-    sName[0]=0;
-    sAlsoName[0]=0;
+    m_sName = "";
+    m_sAlsoName = "";
     aBasePoint.fx=0.0;
     aBasePoint.fy=0.0;
     aBasePoint.fz=0.0;
     nFlags=0;
-    sXRef[0]=0;
+    m_sXRef = "";
 
     while (rDGR.Read()!=0)
     {
         switch (rDGR.GetG())
         {
-            case  2: strncpy( sName, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
-            case  3: strncpy( sAlsoName, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
+            case  2: m_sName = OString(rDGR.GetS()); break;
+            case  3: m_sAlsoName = OString(rDGR.GetS()); break;
             case 70: nFlags=rDGR.GetI(); break;
             case 10: aBasePoint.fx=rDGR.GetF(); break;
             case 20: aBasePoint.fy=rDGR.GetF(); break;
             case 30: aBasePoint.fz=rDGR.GetF(); break;
-            case  1: strncpy( sXRef, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
+            case  1: m_sXRef = OString(rDGR.GetS()); break;
         }
     }
     DXFEntities::Read(rDGR);
@@ -104,11 +104,11 @@ void DXFBlocks::Read(DXFGroupReader & rDGR)
 }
 
 
-DXFBlock * DXFBlocks::Search(const char * sName) const
+DXFBlock * DXFBlocks::Search(OString const& rName) const
 {
     DXFBlock * pB;
     for (pB=pFirst; pB!=NULL; pB=pB->pSucc) {
-        if (strcmp(sName,pB->sName)==0) break;
+        if (rName == pB->m_sName) break;
     }
     return pB;
 }
diff --git a/filter/source/graphicfilter/idxf/dxfblkrd.hxx b/filter/source/graphicfilter/idxf/dxfblkrd.hxx
index bb687dc..43bf631 100644
--- a/filter/source/graphicfilter/idxf/dxfblkrd.hxx
+++ b/filter/source/graphicfilter/idxf/dxfblkrd.hxx
@@ -34,11 +34,11 @@ public:
         // Zeiger auf naechsten Block in der Liste DXFBlocks::pFirst
 
     // Eigenschaften des Blocks, durch Gruppencodes kommentiert:
-    char sName[DXF_MAX_STRING_LEN+1];     //  2
-    char sAlsoName[DXF_MAX_STRING_LEN+1]; //  3
+    OString m_sName;                      //  2
+    OString m_sAlsoName;                  //  3
     long nFlags;                          // 70
     DXFVector aBasePoint;                 // 10,20,30
-    char sXRef[DXF_MAX_STRING_LEN+1];     //  1
+    OString m_sXRef;                      //  1
 
     DXFBlock();
     ~DXFBlock();
@@ -66,7 +66,7 @@ public:
     void Read(DXFGroupReader & rDGR);
         // Liesst alle Bloecke per rDGR bis zu einem ENDSEC oder EOF.
 
-    DXFBlock * Search(const char * sName) const;
+    DXFBlock * Search(OString const& rName) const;
         // Sucht einen Block mit dem Namen, liefert NULL bei Misserfolg.
 
     void Clear();
diff --git a/filter/source/graphicfilter/idxf/dxfentrd.cxx b/filter/source/graphicfilter/idxf/dxfentrd.cxx
index 7f77a08..910ba3d 100644
--- a/filter/source/graphicfilter/idxf/dxfentrd.cxx
+++ b/filter/source/graphicfilter/idxf/dxfentrd.cxx
@@ -24,11 +24,11 @@
 //--------------------------DXFBasicEntity--------------------------------------
 
 DXFBasicEntity::DXFBasicEntity(DXFEntityType eThisType)
+    : m_sLayer("0")
+    , m_sLineType("BYLAYER")
 {
     eType=eThisType;
     pSucc=NULL;
-    strncpy(sLayer,"0", 2 );
-    strncpy(sLineType,"BYLAYER", 8 );
     fElevation=0;
     fThickness=0;
     nColor=256;
@@ -47,8 +47,8 @@ void DXFBasicEntity::EvaluateGroup(DXFGroupReader & rDGR)
 {
     switch (rDGR.GetG())
     {
-        case   8: strncpy( sLayer, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
-        case   6: strncpy( sLineType, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
+        case   8: m_sLayer = OString(rDGR.GetS()); break;
+        case   6: m_sLineType = OString(rDGR.GetS()); break;
         case  38: fElevation=rDGR.GetF(); break;
         case  39: fThickness=rDGR.GetF(); break;
         case  62: nColor=rDGR.GetI(); break;
@@ -190,14 +190,14 @@ void DXFSolidEntity::EvaluateGroup(DXFGroupReader & rDGR)
 
 //--------------------------DXFTextEntity---------------------------------------
 
-DXFTextEntity::DXFTextEntity() : DXFBasicEntity(DXF_TEXT)
+DXFTextEntity::DXFTextEntity()
+    : DXFBasicEntity(DXF_TEXT)
+    , m_sStyle("STANDARD")
 {
     fHeight=1.0;
-    sText[0]=0;
     fRotAngle=0.0;
     fXScale=1.0;
     fOblAngle=0.0;
-    strncpy( sStyle, "STANDARD", 9 );
     nGenFlags=0;
     nHorzJust=0;
     nVertJust=0;
@@ -210,11 +210,11 @@ void DXFTextEntity::EvaluateGroup(DXFGroupReader & rDGR)
         case 20: aP0.fy=rDGR.GetF(); break;
         case 30: aP0.fz=rDGR.GetF(); break;
         case 40: fHeight=rDGR.GetF(); break;
-        case  1: strncpy( sText, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
+        case  1: m_sText = OString(rDGR.GetS()); break;
         case 50: fRotAngle=rDGR.GetF(); break;
         case 41: fXScale=rDGR.GetF(); break;
         case 42: fOblAngle=rDGR.GetF(); break;
-        case  7: strncpy( sStyle, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
+        case  7: m_sStyle = OString(rDGR.GetS()); break;
         case 71: nGenFlags=rDGR.GetI(); break;
         case 72: nHorzJust=rDGR.GetI(); break;
         case 73: nVertJust=rDGR.GetI(); break;
@@ -230,7 +230,6 @@ void DXFTextEntity::EvaluateGroup(DXFGroupReader & rDGR)
 DXFShapeEntity::DXFShapeEntity() : DXFBasicEntity(DXF_SHAPE)
 {
     fSize=1.0;
-    sName[0]=0;
     fRotAngle=0;
     fXScale=1.0;
     fOblAngle=0;
@@ -243,7 +242,7 @@ void DXFShapeEntity::EvaluateGroup(DXFGroupReader & rDGR)
         case 20: aP0.fy=rDGR.GetF(); break;
         case 30: aP0.fz=rDGR.GetF(); break;
         case 40: fSize=rDGR.GetF(); break;
-        case  2: strncpy( sName, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
+        case  2: m_sName = OString(rDGR.GetS()); break;
         case 50: fRotAngle=rDGR.GetF(); break;
         case 41: fXScale=rDGR.GetF(); break;
         case 51: fOblAngle=rDGR.GetF(); break;
@@ -256,7 +255,6 @@ void DXFShapeEntity::EvaluateGroup(DXFGroupReader & rDGR)
 DXFInsertEntity::DXFInsertEntity() : DXFBasicEntity(DXF_INSERT)
 {
     nAttrFlag=0;
-    sName[0]=0;
     fXScale=1.0;
     fYScale=1.0;
     fZScale=1.0;
@@ -271,7 +269,7 @@ void DXFInsertEntity::EvaluateGroup(DXFGroupReader & rDGR)
 {
     switch (rDGR.GetG()) {
         case 66: nAttrFlag=rDGR.GetI(); break;
-        case  2: strncpy( sName, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
+        case  2: m_sName = OString(rDGR.GetS()); break;
         case 10: aP0.fx=rDGR.GetF(); break;
         case 20: aP0.fy=rDGR.GetF(); break;
         case 30: aP0.fz=rDGR.GetF(); break;
@@ -289,18 +287,16 @@ void DXFInsertEntity::EvaluateGroup(DXFGroupReader & rDGR)
 
 //--------------------------DXFAttDefEntity-------------------------------------
 
-DXFAttDefEntity::DXFAttDefEntity() : DXFBasicEntity(DXF_ATTDEF)
+DXFAttDefEntity::DXFAttDefEntity()
+    : DXFBasicEntity(DXF_ATTDEF)
+    , m_sStyle("STANDARD")
 {
     fHeight=1.0;
-    sDefVal[0]=0;
-    sPrompt[0]=0;
-    sTagStr[0]=0;
     nAttrFlags=0;
     nFieldLen=0;
     fRotAngle=0.0;
     fXScale=1.0;
     fOblAngle=0.0;
-    strncpy( sStyle, "STANDARD", 9 );
     nGenFlags=0;
     nHorzJust=0;
     nVertJust=0;
@@ -313,15 +309,15 @@ void DXFAttDefEntity::EvaluateGroup(DXFGroupReader & rDGR)
         case 20: aP0.fy=rDGR.GetF(); break;
         case 30: aP0.fz=rDGR.GetF(); break;
         case 40: fHeight=rDGR.GetF(); break;
-        case  1: strncpy( sDefVal, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
-        case  3: strncpy( sPrompt, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
-        case  2: strncpy( sTagStr, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
+        case  1: m_sDefVal = OString(rDGR.GetS()); break;
+        case  3: m_sPrompt = OString(rDGR.GetS()); break;
+        case  2: m_sTagStr = OString(rDGR.GetS()); break;
         case 70: nAttrFlags=rDGR.GetI(); break;
         case 73: nFieldLen=rDGR.GetI(); break;
         case 50: fRotAngle=rDGR.GetF(); break;
         case 41: fXScale=rDGR.GetF(); break;
         case 51: fOblAngle=rDGR.GetF(); break;
-        case  7: strncpy( sStyle, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
+        case  7: m_sStyle = OString(rDGR.GetS()); break;
         case 71: nGenFlags=rDGR.GetI(); break;
         case 72: nHorzJust=rDGR.GetI(); break;
         case 74: nVertJust=rDGR.GetI(); break;
@@ -334,17 +330,16 @@ void DXFAttDefEntity::EvaluateGroup(DXFGroupReader & rDGR)
 
 //--------------------------DXFAttribEntity-------------------------------------
 
-DXFAttribEntity::DXFAttribEntity() : DXFBasicEntity(DXF_ATTRIB)
+DXFAttribEntity::DXFAttribEntity()
+    : DXFBasicEntity(DXF_ATTRIB)
+    , m_sStyle("STANDARD")
 {
     fHeight=1.0;
-    sText[0]=0;
-    sTagStr[0]=0;
     nAttrFlags=0;
     nFieldLen=0;
     fRotAngle=0.0;
     fXScale=1.0;
     fOblAngle=0.0;
-    strncpy( sStyle, "STANDARD", 9 );
     nGenFlags=0;
     nHorzJust=0;
     nVertJust=0;
@@ -357,14 +352,14 @@ void DXFAttribEntity::EvaluateGroup(DXFGroupReader & rDGR)
         case 20: aP0.fy=rDGR.GetF(); break;
         case 30: aP0.fz=rDGR.GetF(); break;
         case 40: fHeight=rDGR.GetF(); break;
-        case  1: strncpy( sText, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
-        case  2: strncpy( sTagStr, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
+        case  1: m_sText = OString(rDGR.GetS()); break;
+        case  2: m_sTagStr = OString(rDGR.GetS()); break;
         case 70: nAttrFlags=rDGR.GetI(); break;
         case 73: nFieldLen=rDGR.GetI(); break;
         case 50: fRotAngle=rDGR.GetF(); break;
         case 41: fXScale=rDGR.GetF(); break;
         case 51: fOblAngle=rDGR.GetF(); break;
-        case  7: strncpy( sStyle, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
+        case  7: m_sStyle = OString(rDGR.GetS()); break;
         case 71: nGenFlags=rDGR.GetI(); break;
         case 72: nHorzJust=rDGR.GetI(); break;
         case 74: nVertJust=rDGR.GetI(); break;
@@ -790,13 +785,12 @@ void DXF3DFaceEntity::EvaluateGroup(DXFGroupReader & rDGR)
 
 DXFDimensionEntity::DXFDimensionEntity() : DXFBasicEntity(DXF_DIMENSION)
 {
-    sPseudoBlock[0]=0;
 }
 
 void DXFDimensionEntity::EvaluateGroup(DXFGroupReader & rDGR)
 {
     switch (rDGR.GetG()) {
-        case  2: strncpy( sPseudoBlock, rDGR.GetS(), DXF_MAX_STRING_LEN + 1 ); break;
+        case  2: m_sPseudoBlock = OString(rDGR.GetS()); break;
         default: DXFBasicEntity::EvaluateGroup(rDGR);
     }
 }
diff --git a/filter/source/graphicfilter/idxf/dxfentrd.hxx b/filter/source/graphicfilter/idxf/dxfentrd.hxx
index f0c8a92..2a88788 100644
--- a/filter/source/graphicfilter/idxf/dxfentrd.hxx
+++ b/filter/source/graphicfilter/idxf/dxfentrd.hxx
@@ -68,8 +68,8 @@ public:
 
     // Eigenschaftenm, die alle Entities besitzen, jeweils
     // durch den Gruppencode kommentiert:
-    char sLayer[DXF_MAX_STRING_LEN+1];    //  8
-    char sLineType[DXF_MAX_STRING_LEN+1]; //  6
+    OString m_sLayer;                     //  8
+    OString m_sLineType;                  //  6
     double fElevation;                    // 38
     double fThickness;                    // 39
     long nColor;                          // 62
@@ -210,11 +210,11 @@ public:
 
     DXFVector aP0;                     // 10,20,30
     double fHeight;                    // 40
-    char sText[DXF_MAX_STRING_LEN+1];  //  1
+    OString m_sText;                   //  1
     double fRotAngle;                  // 50
     double fXScale;                    // 41
     double fOblAngle;                  // 42
-    char sStyle[DXF_MAX_STRING_LEN+1]; //  7
+    OString m_sStyle;                  //  7
     long nGenFlags;                    // 71
     long nHorzJust;                    // 72
     long nVertJust;                    // 73
@@ -235,7 +235,7 @@ public:
 
     DXFVector aP0;                    // 10,20,30
     double fSize;                     // 40
-    char sName[DXF_MAX_STRING_LEN+1]; //  2
+    OString m_sName;                  //  2
     double fRotAngle;                 // 50
     double fXScale;                   // 41
     double fOblAngle;                 // 51
@@ -254,7 +254,7 @@ class DXFInsertEntity : public DXFBasicEntity {
 public:
 
     long nAttrFlag;                   // 66
-    char sName[DXF_MAX_STRING_LEN+1]; //  2
+    OString m_sName;                  //  2
     DXFVector aP0;                    // 10,20,30
     double fXScale;                   // 41
     double fYScale;                   // 42
@@ -280,15 +280,15 @@ public:
 
     DXFVector aP0;                      // 10,20,30
     double fHeight;                     // 40
-    char sDefVal[DXF_MAX_STRING_LEN+1]; //  1
-    char sPrompt[DXF_MAX_STRING_LEN+1]; //  3
-    char sTagStr[DXF_MAX_STRING_LEN+1]; //  2
+    OString m_sDefVal;                  //  1
+    OString m_sPrompt;                  //  3
+    OString m_sTagStr;                  //  2
     long nAttrFlags;                    // 70
     long nFieldLen;                     // 73
     double fRotAngle;                   // 50
     double fXScale;                     // 41
     double fOblAngle;                   // 51
-    char sStyle[DXF_MAX_STRING_LEN+1];  //  7
+    OString m_sStyle;                   //  7
     long nGenFlags;                     // 71
     long nHorzJust;                     // 72
     long nVertJust;                     // 74
@@ -309,14 +309,14 @@ public:
 
     DXFVector aP0;                      // 10,20,30
     double fHeight;                     // 40
-    char sText[DXF_MAX_STRING_LEN+1];   //  1
-    char sTagStr[DXF_MAX_STRING_LEN+1]; //  2
+    OString m_sText;                    //  1
+    OString m_sTagStr;                  //  2
     long nAttrFlags;                    // 70
     long nFieldLen;                     // 73
     double fRotAngle;                   // 50
     double fXScale;                     // 41
     double fOblAngle;                   // 51
-    char sStyle[DXF_MAX_STRING_LEN+1];  //  7
+    OString m_sStyle;                   //  7
     long nGenFlags;                     // 71
     long nHorzJust;                     // 72
     long nVertJust;                     // 74
@@ -542,7 +542,7 @@ class DXFDimensionEntity : public DXFBasicEntity {
 
 public:
 
-    char sPseudoBlock[DXF_MAX_STRING_LEN+1]; //  2
+    OString m_sPseudoBlock;                  //  2
 
     DXFDimensionEntity();
 
diff --git a/filter/source/graphicfilter/idxf/dxfreprd.cxx b/filter/source/graphicfilter/idxf/dxfreprd.cxx
index 7a2c93a..3ed0232 100644
--- a/filter/source/graphicfilter/idxf/dxfreprd.cxx
+++ b/filter/source/graphicfilter/idxf/dxfreprd.cxx
@@ -299,7 +299,7 @@ void DXFRepresentation::CalcBoundingBox(const DXFEntities & rEntities,
                 DXFBlock * pB;
                 DXFBoundingBox aBox;
                 DXFVector aP;
-                pB=aBlocks.Search(pE->sName);
+                pB=aBlocks.Search(pE->m_sName);
                 if (pB==NULL) break;
                 CalcBoundingBox(*pB,aBox);
                 if (aBox.bEmpty==sal_True) break;
@@ -341,7 +341,7 @@ void DXFRepresentation::CalcBoundingBox(const DXFEntities & rEntities,
                 DXFBlock * pB;
                 DXFBoundingBox aBox;
                 DXFVector aP;
-                pB=aBlocks.Search(pE->sPseudoBlock);
+                pB = aBlocks.Search(pE->m_sPseudoBlock);
                 if (pB==NULL) break;
                 CalcBoundingBox(*pB,aBox);
                 if (aBox.bEmpty==sal_True) break;
diff --git a/filter/source/graphicfilter/idxf/dxftblrd.cxx b/filter/source/graphicfilter/idxf/dxftblrd.cxx
index f99de87..eff5663 100644
--- a/filter/source/graphicfilter/idxf/dxftblrd.cxx
+++ b/filter/source/graphicfilter/idxf/dxftblrd.cxx
@@ -26,9 +26,7 @@
 DXFLType::DXFLType()
 {
     pSucc=NULL;
-    sName[0]=0;
     nFlags=0;
-    sDescription[0]=0;
     nDashCount=0;
 }
 
@@ -41,12 +39,10 @@ void DXFLType::Read(DXFGroupReader & rDGR)
         switch (rDGR.GetG())
         {
         case  2:
-            strncpy( sName, rDGR.GetS(), DXF_MAX_STRING_LEN );
-            sName[DXF_MAX_STRING_LEN] = 0;
+            m_sName = OString(rDGR.GetS());
             break;
         case  3:
-            strncpy( sDescription, rDGR.GetS(), DXF_MAX_STRING_LEN );
-            sDescription[DXF_MAX_STRING_LEN] = 0;
+            m_sDescription = OString(rDGR.GetS());
             break;
         case 70:
             nFlags=rDGR.GetI();
@@ -85,10 +81,8 @@ void DXFLType::Read(DXFGroupReader & rDGR)
 DXFLayer::DXFLayer()
 {
     pSucc=NULL;
-    sName[0]=0;
     nFlags=0;
     nColor=-1;
-    sLineType[0]=0;
 }
 
 void DXFLayer::Read(DXFGroupReader & rDGR)
@@ -98,12 +92,10 @@ void DXFLayer::Read(DXFGroupReader & rDGR)
         switch(rDGR.GetG())
         {
         case  2:
-            strncpy( sName, rDGR.GetS(), DXF_MAX_STRING_LEN );
-            sName[DXF_MAX_STRING_LEN] = 0;
+            m_sName = OString(rDGR.GetS());
             break;
         case  6:
-            strncpy( sLineType, rDGR.GetS(), DXF_MAX_STRING_LEN );
-            sLineType[DXF_MAX_STRING_LEN] = 0;
+            m_sLineType = OString(rDGR.GetS());
             break;
         case 70:
             nFlags=rDGR.GetI();
@@ -120,15 +112,12 @@ void DXFLayer::Read(DXFGroupReader & rDGR)
 DXFStyle::DXFStyle()
 {
     pSucc=NULL;
-    sName[0]=0;
     nFlags=0;
     fHeight=0.0;
     fWidthFak=1.0;
     fOblAngle=0.0;
     nTextGenFlags=0;
     fLastHeightUsed=0.0;
-    sPrimFontFile[0]=0;
-    sBigFontFile[0]=0;
 }
 
 void DXFStyle::Read(DXFGroupReader & rDGR)
@@ -138,16 +127,13 @@ void DXFStyle::Read(DXFGroupReader & rDGR)
         switch(rDGR.GetG())
         {
         case  2:
-            strncpy( sName, rDGR.GetS(), DXF_MAX_STRING_LEN );
-            sName[DXF_MAX_STRING_LEN] = 0;
+            m_sName = OString(rDGR.GetS());
             break;
         case  3:
-            strncpy( sPrimFontFile, rDGR.GetS(), DXF_MAX_STRING_LEN );
-            sPrimFontFile[DXF_MAX_STRING_LEN] = 0;
+            m_sPrimFontFile = OString(rDGR.GetS());
             break;
         case  4:
-            strncpy( sBigFontFile, rDGR.GetS(), DXF_MAX_STRING_LEN );
-            sBigFontFile[DXF_MAX_STRING_LEN] = 0;
+            m_sBigFontFile = OString(rDGR.GetS());
             break;
         case 70:
             nFlags=rDGR.GetI();
@@ -177,7 +163,6 @@ DXFVPort::DXFVPort()
 {
     pSucc=NULL;
 
-    sName[0]=0;
     nFlags=0;
     fMinX=0;
     fMinY=0;
@@ -218,8 +203,7 @@ void DXFVPort::Read(DXFGroupReader & rDGR)
         switch(rDGR.GetG())
         {
         case  2:
-            strncpy( sName, rDGR.GetS(), DXF_MAX_STRING_LEN);
-            sName[DXF_MAX_STRING_LEN] = 0;
+            m_sName = OString(rDGR.GetS());
             break;
         case 10: fMinX=rDGR.GetF(); break;
         case 11: fMaxX=rDGR.GetF(); break;
@@ -360,31 +344,31 @@ void DXFTables::Clear()
 }
 
 
-DXFLType * DXFTables::SearchLType(const char * pName) const
+DXFLType * DXFTables::SearchLType(OString const& rName) const
 {
     DXFLType * p;
     for (p=pLTypes; p!=NULL; p=p->pSucc) {
-        if (strcmp(pName,p->sName)==0) break;
+        if (rName == p->m_sName) break;
     }
     return p;
 }
 
 
-DXFLayer * DXFTables::SearchLayer(const char * pName) const
+DXFLayer * DXFTables::SearchLayer(OString const& rName) const
 {
     DXFLayer * p;
     for (p=pLayers; p!=NULL; p=p->pSucc) {
-        if (strcmp(pName,p->sName)==0) break;
+        if (rName == p->m_sName) break;
     }
     return p;
 }
 
 
-DXFVPort * DXFTables::SearchVPort(const char * pName) const
+DXFVPort * DXFTables::SearchVPort(OString const& rName) const
 {
     DXFVPort * p;
     for (p=pVPorts; p!=NULL; p=p->pSucc) {
-        if (strcmp(pName,p->sName)==0) break;
+        if (rName == p->m_sName) break;
     }
     return p;
 }
diff --git a/filter/source/graphicfilter/idxf/dxftblrd.hxx b/filter/source/graphicfilter/idxf/dxftblrd.hxx
index 3593514..5d33f1a 100644
--- a/filter/source/graphicfilter/idxf/dxftblrd.hxx
+++ b/filter/source/graphicfilter/idxf/dxftblrd.hxx
@@ -36,9 +36,9 @@ public:
 
     DXFLType * pSucc;
 
-    char sName[DXF_MAX_STRING_LEN+1];        //  2
+    OString m_sName;                         //  2
     long nFlags;                             // 70
-    char sDescription[DXF_MAX_STRING_LEN+1]; //  3
+    OString m_sDescription;                  //  3
     long nDashCount;                         // 73
     double fPatternLength;                   // 40
     double fDash[DXF_MAX_DASH_COUNT];        // 49,49,...
@@ -58,10 +58,10 @@ public:
 
     DXFLayer * pSucc;
 
-    char sName[DXF_MAX_STRING_LEN+1];     //  2
+    OString m_sName;                      //  2
     long nFlags;                          // 70
     long nColor;                          // 62
-    char sLineType[DXF_MAX_STRING_LEN+1]; //  6
+    OString m_sLineType;                  //  6
 
     DXFLayer();
     void Read(DXFGroupReader & rDGR);
@@ -78,15 +78,15 @@ public:
 
     DXFStyle * pSucc;
 
-    char sName[DXF_MAX_STRING_LEN+1];         //  2
+    OString m_sName;                          //  2
     long nFlags;                              // 70
     double fHeight;                           // 40
     double fWidthFak;                         // 41
     double fOblAngle;                         // 50
     long nTextGenFlags;                       // 71
     double fLastHeightUsed;                   // 42
-    char sPrimFontFile[DXF_MAX_STRING_LEN+1]; //  3
-    char sBigFontFile[DXF_MAX_STRING_LEN+1];  //  4
+    OString m_sPrimFontFile;                  //  3
+    OString m_sBigFontFile;                   //  4
 
     DXFStyle();
     void Read(DXFGroupReader & rDGR);
@@ -103,7 +103,7 @@ public:
 
     DXFVPort * pSucc;
 
-    char sName[DXF_MAX_STRING_LEN+1]; //  2
+    OString m_sName;                  //  2
     long nFlags;                      // 70
     double fMinX;                     // 10
     double fMinY;                     // 20
@@ -164,9 +164,9 @@ public:
     void Clear();
 
     // Suche nach Tabelleneintraegen:
-    DXFLType * SearchLType(const char * pName) const;
-    DXFLayer * SearchLayer(const char * pName) const;
-    DXFVPort * SearchVPort(const char * pName) const;
+    DXFLType * SearchLType(OString const& rName) const;
+    DXFLayer * SearchLayer(OString const& rName) const;
+    DXFVPort * SearchVPort(OString const& rName) const;
 
 };
 
commit a921fd278f840176211edfb231eb2c999bde8e2c
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Tue Oct 8 16:37:32 2013 +0200

    fdo#62994 reportbuilder survive empty formula
    
    Change-Id: I1da053871d107730ad9a135deb48313d8a877d89
    (cherry picked from commit 0089d3ae9442f26695ae742f5fbdeeaf698861f2)
    Signed-off-by: Michael Stahl <mstahl at redhat.com>

diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormattedTextLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormattedTextLayoutController.java
index ea3d22b..bb18d61 100644
--- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormattedTextLayoutController.java
+++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormattedTextLayoutController.java
@@ -84,6 +84,8 @@ public class FormattedTextLayoutController
         {
             final FormattedTextElement element = (FormattedTextElement) getNode();
             final FormulaExpression formulaExpression = element.getValueExpression();
+            if (formulaExpression.getFormulaExpression() == null)
+                return false;
             final Formula formula = formulaExpression.getCompiledFormula();
             final LValue lValue = formula.getRootReference();
             return FormatValueUtility.isReferenceChanged(this, lValue);
commit 25d679df97196255339da797a6d79e21dd74112b
Author: Eike Rathke <erack at redhat.com>
Date:   Mon Oct 7 21:51:26 2013 +0200

    WaE [-Wstrict-overflow] assuming signed overflow does not occur
    
    ... when assuming that (X - c) <= X is always true
    ... or that (X + c) < X is always false
    
    Change-Id: Ib2313827cd6358ced0141b41cba753896b676e28
    (cherry picked from commit ca576e0804324bbb36b697543cbe992e34d4b951)
    Reviewed-on: https://gerrit.libreoffice.org/6159
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/svtools/source/contnr/imivctl1.cxx b/svtools/source/contnr/imivctl1.cxx
index f363a0f..9d5478d 100644
--- a/svtools/source/contnr/imivctl1.cxx
+++ b/svtools/source/contnr/imivctl1.cxx
@@ -2710,9 +2710,9 @@ Rectangle SvxIconChoiceCtrl_Impl::CalcFocusRect( SvxIconChoiceCtrlEntry* pEntry
     Rectangle aFocusRect( aBoundRect.Left(), aBmpRect.Top() - 1,
                           aBoundRect.Right() - 4, aTextRect.Bottom() + 1 );
     // the focus rectangle should not touch the text
-    if( aFocusRect.Left() - 1 >= pEntry->aRect.Left() )
+    if( aFocusRect.Left() > ::std::numeric_limits<long>::min() && aFocusRect.Left() - 1 >= pEntry->aRect.Left() )
         aFocusRect.Left()--;
-    if( aFocusRect.Right() + 1 <= pEntry->aRect.Right() )
+    if( aFocusRect.Right() < ::std::numeric_limits<long>::max() && aFocusRect.Right() + 1 <= pEntry->aRect.Right() )
         aFocusRect.Right()++;
 
     return aFocusRect;
commit 33995f22153c5aff556c84c9ab88b5a8bc6308cf
Author: David Bolen <db3l.net at gmail.com>
Date:   Sun Oct 6 19:23:14 2013 -0400

    fdo#70196: Python 2 compatibility for UNO import error handling
    
    Add backwards compatibility support for Python 2 to the earlier
    change in fdo#66025 to improve import error handling under Python 3.
    
    Change-Id: I47bf8ef255c4c2a3e4a2754414977aaa8ed32483
    Signed-off-by: Stephan Bergmann <sbergman at redhat.com>
    (cherry picked from commit df1076965f63eedc6cc104c96b993ab598b8b1d4)

diff --git a/pyuno/source/module/uno.py b/pyuno/source/module/uno.py
index d99884a..e887d86 100644
--- a/pyuno/source/module/uno.py
+++ b/pyuno/source/module/uno.py
@@ -310,11 +310,11 @@ def _uno_import( name, *optargs, **kwargs ):
               # uno and non-uno errors as uno lookups are attempted for all
               # "from xxx import yyy" imports following a python failure.
               #
-              # The traceback from the original python exception is kept to
-              # pinpoint the actual failing location, but in Python 3 the
-              # original message is most likely unhelpful for uno failures,
-              # as it will most commonly be a missing top level module,
-              # like 'com'.  Our exception appends the uno lookup failure.
+              # In Python 3, the original python exception traceback is reused
+              # to help pinpoint the actual failing location.  Its original
+              # message, unlike Python 2, is unlikely to be helpful for uno
+              # failures, as it most commonly is just a top level module like
+              # 'com'.  So our exception appends the uno lookup failure.
               # This is more ambiguous, but it plus the traceback should be
               # sufficient to identify a root cause for python or uno issues.
               #
@@ -327,9 +327,10 @@ def _uno_import( name, *optargs, **kwargs ):
               # keeps the exception relevant to the primary failure point,
               # preventing us from re-processing our own import errors.
 
-              uno_import_exc = ImportError(
-                  "%s (or '%s.%s' is unknown)" % (py_import_exc, name, x)
-                  ).with_traceback(py_import_exc.__traceback__)
+              uno_import_exc = ImportError("%s (or '%s.%s' is unknown)" %
+                                           (py_import_exc, name, x))
+              if sys.version_info[0] >= 3:
+                  uno_import_exc = uno_import_exc.with_traceback(py_import_exc.__traceback__)
               uno_import_exc._uno_import_failed = True
               raise uno_import_exc
 
commit f9094578480b4c8624699f69d31ac2fe8867a88b
Author: Herbert Dürr <hdu at apache.org>
Date:   Fri Oct 4 15:14:22 2013 +0000

    Resolves: #i123417# handle subsetting of empty ttf compound glyphs gracefully
    
    (cherry picked from commit d519b07ecd4b67cedf1fe3e1860ef33a48a01ae4)
    Signed-off-by: Caolán McNamara <caolanm at redhat.com>
    
    Conflicts:
    	vcl/source/fontsubset/sft.cxx
    
    Change-Id: I51d4a97f1f01be49cb5ab058019cd153e23437bd
    (cherry picked from commit 6489f97fc428446c53c17f885963776cdcc21490)
    Signed-off-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/source/fontsubset/sft.cxx b/vcl/source/fontsubset/sft.cxx
index e110c12..a8e8e00 100644
--- a/vcl/source/fontsubset/sft.cxx
+++ b/vcl/source/fontsubset/sft.cxx
@@ -745,7 +745,10 @@ static int GetCompoundTTOutline(TrueTypeFont *ttf, sal_uInt32 glyphID, ControlPo
 
     } while (flags & MORE_COMPONENTS);
 
-
+    // #i123417# some fonts like IFAOGrec have no outline points in some compound glyphs
+    // so this unlikely but possible scenario should be handled gracefully
+    if( myPoints.empty() )
+        return 0;
 
     np = myPoints.size();
 
@@ -2620,7 +2623,7 @@ GlyphData *GetTTRawGlyphData(TrueTypeFont *ttf, sal_uInt32 glyphID)
     /* now calculate npoints and ncontours */
     ControlPoint *cp;
     n = GetTTGlyphPoints(ttf, glyphID, &cp);
-    if (n != -1)
+    if (n > 0)
     {
         int m = 0;
         for (int i = 0; i < n; i++)
commit ee9ce238dd0d851449b3520f4c537a499599bb80
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Fri Oct 4 11:02:59 2013 +0200

    fdo#69384 fix impress -> writer copy&paste
    
    Regression from 2ade07126971b79c92f729fae5709f2e2e2b495c (fdo#62044 RTF
    import: don't overwrite existing styles when pasting, 2013-06-04),
    during paste, if existing style was found, then the intention was to
    skip that style, but instead we tried to create one.
    
    (cherry picked from commit 5ebe826caf75e8d00656b3333385bf0bbc05cb27)
    
    Conflicts:
    	sw/qa/extras/rtfimport/rtfimport.cxx
    	writerfilter/source/dmapper/StyleSheetTable.cxx
    
    Change-Id: I83adaf9fe6b8a578fa60c21b9463fabde7707d7e
    Reviewed-on: https://gerrit.libreoffice.org/6129
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/sw/qa/extras/rtfimport/data/fdo69384-paste.rtf b/sw/qa/extras/rtfimport/data/fdo69384-paste.rtf
new file mode 100644
index 0000000..cbdca5b
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/fdo69384-paste.rtf
@@ -0,0 +1,17 @@
+{\rtf\ansi
+{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\fprq2\fcharset0 Segoe UI;}{\f2\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset0 Arial;}{\f4\fprq2\fcharset0 Droid Sans Fallback;}}
+{\colortbl\red255\green255\blue255;;}
+{\stylesheet
+{\s1\fi0\li0\ri0\sb0\sa0\sl200\slmult0\cf0\f3\fs36\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\snext1 Default;}
+{\s2\fi0\li0\ri0\sb0\sa0\sl200\slmult0\cf0\f3\fs36\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext2 Object with arrow;}
+{\s3\fi0\li0\ri0\sb0\sa0\sl200\slmult0\cf0\f3\fs36\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext3 Object with shadow;}
+{\s4\fi0\li0\ri0\sb0\sa0\sl200\slmult0\cf0\f3\fs36\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext4 Object without fill;}
+{\s5\fi0\li0\ri0\sb0\sa0\sl200\slmult0\cf0\f3\fs36\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext5 Object with no fill and no line;}
+{\s6\fi0\li0\ri0\sb0\sa0\sl200\slmult0\cf0\f3\fs36\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext6 Text;}
+{\s7\fi0\li0\ri0\sb0\sa0\sl200\slmult0\cf0\f3\fs32\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext7 Text body;}
+{\s8\fi0\li0\ri0\sb0\sa0\sl200\slmult0\ql\cf0\f3\fs36\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext8 Text body justified;}}
+{\*\EditEnginePoolDefaults\ltrpar\fi0\li0\ri0\fi0\li0\ri0\sb0\sa0\sl0\slmult0\ql\cf0\f0\fs48\b0\ulnone\strike0\i0\outl0\shad0\kerning0\expndtw0\f1\f2\fs48\fs48\b0\b0\i0\i0\accnone\olnone}
+\deftab709
+{
+\s27\fi0\li0\ri0\qc\cf0\f3\fs64\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs64\fs64\b0\b0\i0\i0\accnone\olnone {\f3\fs64\b0\i0 sss}\par\pard\plain
+}}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index 05b2984..ead5704 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -159,6 +159,7 @@ public:
     void testFdo62977();
     void testFdo62044();
     void testFdo68076();
+    void testFdo69384();
 
     CPPUNIT_TEST_SUITE(Test);
 #if !defined(MACOSX) && !defined(WNT)
@@ -286,6 +287,7 @@ void Test::run()
         {"fdo62977.rtf", &Test::testFdo62977},
         {"fdo62044.rtf", &Test::testFdo62044},
         {"fdo68076.rtf", &Test::testFdo68076},
+        {"hello.rtf", &Test::testFdo69384},
     };
     for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i)
     {
@@ -1339,6 +1341,18 @@ void Test::testFdo68076()
     getParagraph(1, aExpected);
 }
 
+void Test::testFdo69384()
+{
+    uno::Reference<text::XTextDocument> xTextDocument(mxComponent, uno::UNO_QUERY);
+    uno::Reference<text::XTextRange> xText(xTextDocument->getText(), uno::UNO_QUERY);
+    uno::Reference<text::XTextRange> xEnd = xText->getEnd();
+    paste("fdo69384-paste.rtf", xEnd);
+
+    // Import got interrupted in the middle of style sheet table import,
+    // resuling in missing styles and text.
+    getStyles("ParagraphStyles")->getByName("Text body justified");
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(Test);
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx
index 9f76ca1..d30bd27 100644
--- a/writerfilter/source/dmapper/StyleSheetTable.cxx
+++ b/writerfilter/source/dmapper/StyleSheetTable.cxx
@@ -713,9 +713,16 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable )
                     uno::Reference< container::XNameContainer > xStyles = bParaStyle ? xParaStyles : xCharStyles;
                     uno::Reference< style::XStyle > xStyle;
                     OUString sConvertedStyleName = ConvertStyleName( pEntry->sStyleName );
-                    // When pasting, don't update existing styles.
-                    if(xStyles->hasByName( sConvertedStyleName ) && m_pImpl->m_bIsNewDoc)
+                    if(xStyles->hasByName( sConvertedStyleName ))
+                    {
+                        // When pasting, don't update existing styles.
+                        if (!m_pImpl->m_bIsNewDoc)
+                        {
+                            ++aIt;
+                            continue;
+                        }
                         xStyles->getByName( sConvertedStyleName ) >>= xStyle;
+                    }
                     else
                     {
                         bInsert = true;
commit c53bb5cce16dad53639c0b346890232c3381d944
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Oct 2 11:38:22 2013 +0100

    Resolves: rhbz#1013844 fdo#47482 encrypted OOo 1.0 docs cannot be reopened
    
    Workaround for the encrypted OpenOffice.org 1.0 documents generated by
    Libreoffice <= 3.6 with the new encryption format and using SHA256, but missing
    a specified startkey of SHA256
    
    Change-Id: Ib1acc4441b5adc6721cb3cde7a1191aa978e9a1b
    (cherry picked from commit 11ad93f4ba84f190c908e92a2c960f7a9fa800c0)
    Reviewed-on: https://gerrit.libreoffice.org/6107
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/package/source/zippackage/ZipPackageStream.cxx b/package/source/zippackage/ZipPackageStream.cxx
index 88afb2a..62df374 100644
--- a/package/source/zippackage/ZipPackageStream.cxx
+++ b/package/source/zippackage/ZipPackageStream.cxx
@@ -550,13 +550,37 @@ uno::Reference< io::XInputStream > SAL_CALL ZipPackageStream::getDataStream()
         {
             xResult = rZipPackage.getZipFile().getDataStream( aEntry, GetEncryptionData(), bIsEncrypted, rZipPackage.GetSharedMutexRef() );
         }
-        catch( packages::WrongPasswordException& )
+        catch( const packages::WrongPasswordException& )
         {
-            // workaround for the encrypted documents generated with the old OOo1.x bug.
-            if ( rZipPackage.GetStartKeyGenID() == xml::crypto::DigestID::SHA1 && !m_bUseWinEncoding )
+            if ( rZipPackage.GetStartKeyGenID() == xml::crypto::DigestID::SHA1 )
             {
-                xResult = rZipPackage.getZipFile().getDataStream( aEntry, GetEncryptionData( true ), bIsEncrypted, rZipPackage.GetSharedMutexRef() );
-                m_bUseWinEncoding = true;
+                try
+                {
+                    // rhbz#1013844 / fdo#47482 workaround for the encrypted
+                    // OpenOffice.org 1.0 documents generated by Libreoffice <=
+                    // 3.6 with the new encryption format and using SHA256, but
+                    // missing a specified startkey of SHA256
+
+                    // force SHA256 and see if that works
+                    m_nImportedStartKeyAlgorithm = xml::crypto::DigestID::SHA256;
+                    xResult = rZipPackage.getZipFile().getDataStream( aEntry, GetEncryptionData(), bIsEncrypted, rZipPackage.GetSharedMutexRef() );
+                    return xResult;
+                }
+                catch (const packages::WrongPasswordException&)
+                {
+                    // if that didn't work, restore to SHA1 and trundle through the *other* earlier
+                    // bug fix
+                    m_nImportedStartKeyAlgorithm = xml::crypto::DigestID::SHA1;
+                }
+
+                // workaround for the encrypted documents generated with the old OOo1.x bug.
+                if ( !m_bUseWinEncoding )
+                {
+                    xResult = rZipPackage.getZipFile().getDataStream( aEntry, GetEncryptionData( true ), bIsEncrypted, rZipPackage.GetSharedMutexRef() );
+                    m_bUseWinEncoding = true;
+                }
+                else
+                    throw;
             }
             else
                 throw;
diff --git a/sc/qa/unit/data/ods/passwordWrongSHA.ods b/sc/qa/unit/data/ods/passwordWrongSHA.ods
new file mode 100644
index 0000000..b8a0e80
Binary files /dev/null and b/sc/qa/unit/data/ods/passwordWrongSHA.ods differ
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index b6918ce..193ad83 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -158,6 +158,7 @@ public:
     //misc tests unrelated to the import filters
     void testPasswordNew();
     void testPasswordOld();
+    void testPasswordWrongSHA();
 
     //test shape import
     void testControlImport();
@@ -219,6 +220,7 @@ public:
     //disable testPassword on MacOSX due to problems with libsqlite3
     //also crashes on DragonFly due to problems with nss/nspr headers
 #if !defined(MACOSX) && !defined(DRAGONFLY) && !defined(WNT)
+    CPPUNIT_TEST(testPasswordWrongSHA);
     CPPUNIT_TEST(testPasswordOld);
     CPPUNIT_TEST(testPasswordNew);
 #endif
@@ -1309,6 +1311,14 @@ void ScFiltersTest::testPasswordOld()
     testPassword_Impl(aFileNameBase);
 }
 
+void ScFiltersTest::testPasswordWrongSHA()
+{
+    //tests opening a file wrongly using the new password algorithm
+    //in a sxc with the key algorithm missing
+    const OUString aFileNameBase("passwordWrongSHA.");
+    testPassword_Impl(aFileNameBase);
+}
+
 void ScFiltersTest::testControlImport()
 {
     const rtl::OUString aFileNameBase(RTL_CONSTASCII_USTRINGPARAM("singlecontrol."));
commit d4680f2839e0ff90b2e55feaa21d8fb840bc1c67
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Oct 1 14:33:56 2013 +0200

    rhbz#1014010: Missing dependencies in isBootstrapType list
    
    ...the list has been fixed now by copying its elements into an ENTRIES file and
    running "unoidl-write udkapi/ @ENTITIES TEMP && unoidl-read TEMP >/dev/null" and
    adding any reported unknown entities until it succeeds.
    
    However, the updated list lead to deadlock when css.reflection.ParamInfo UnoType
    resolves css.reflection.XIdlClass UnoType resolves css.reflection.XIdlMethod
    UnoType resolves css.reflection.ParamInfo UnoType, so broke the circle by no
    longer resolving the interface methods' return and parameter types in
    InterfaceType::dumpMethodsCppuDecl (which is why those type infos are only
    generated on demand anyway; looks like this had been a careless thinko in the
    generation of comprehensive type info that had remained unnoticed all the time).
    
    (cherry picked from commit 254f59f623f58c320175a06a2c93bcee7868b623)
    Conflicts:
    	codemaker/source/cppumaker/cpputype.cxx
    
    Change-Id: I50ef2fde16242298e055c6fa5971e70fad1a2b68
    Reviewed-on: https://gerrit.libreoffice.org/6106
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx
index 09de49c..eb6a92b 100644
--- a/codemaker/source/cppumaker/cpputype.cxx
+++ b/codemaker/source/cppumaker/cpputype.cxx
@@ -72,17 +72,25 @@ rtl::OString translateSimpleUnoType(rtl::OString const & unoType, bool cppuUnoTy
 
 bool isBootstrapType(rtl::OString const & name) {
     static char const * const names[] = {
+        "com/sun/star/beans/Property",
         "com/sun/star/beans/PropertyAttribute",
+        "com/sun/star/beans/PropertyChangeEvent",
+        "com/sun/star/beans/PropertyState",
         "com/sun/star/beans/PropertyValue",
         "com/sun/star/beans/XFastPropertySet",
         "com/sun/star/beans/XMultiPropertySet",
+        "com/sun/star/beans/XPropertiesChangeListener",
         "com/sun/star/beans/XPropertyAccess",
+        "com/sun/star/beans/XPropertyChangeListener",
         "com/sun/star/beans/XPropertySet",
+        "com/sun/star/beans/XPropertySetInfo",
         "com/sun/star/beans/XPropertySetOption",
+        "com/sun/star/beans/XVetoableChangeListener",
         "com/sun/star/bridge/UnoUrlResolver",
         "com/sun/star/bridge/XUnoUrlResolver",
         "com/sun/star/connection/SocketPermission",
         "com/sun/star/container/XElementAccess",
+        "com/sun/star/container/XEnumeration",
         "com/sun/star/container/XEnumerationAccess",
         "com/sun/star/container/XHierarchicalNameAccess",
         "com/sun/star/container/XNameAccess",
@@ -92,6 +100,7 @@ bool isBootstrapType(rtl::OString const & name) {
         "com/sun/star/io/FilePermission",
         "com/sun/star/io/IOException",
         "com/sun/star/lang/DisposedException",
+        "com/sun/star/lang/EventObject",
         "com/sun/star/lang/WrappedTargetRuntimeException",
         "com/sun/star/lang/XComponent",
         "com/sun/star/lang/XEventListener",
@@ -103,11 +112,19 @@ bool isBootstrapType(rtl::OString const & name) {
         "com/sun/star/lang/XSingleServiceFactory",
         "com/sun/star/lang/XTypeProvider",
         "com/sun/star/loader/XImplementationLoader",
+        "com/sun/star/reflection/FieldAccessMode",
+        "com/sun/star/reflection/MethodMode",
+        "com/sun/star/reflection/ParamInfo",
+        "com/sun/star/reflection/ParamMode",
+        "com/sun/star/reflection/TypeDescriptionSearchDepth",
         "com/sun/star/reflection/XArrayTypeDescription",
         "com/sun/star/reflection/XCompoundTypeDescription",
         "com/sun/star/reflection/XEnumTypeDescription",
+        "com/sun/star/reflection/XIdlArray",
         "com/sun/star/reflection/XIdlClass",
+        "com/sun/star/reflection/XIdlField",
         "com/sun/star/reflection/XIdlField2",
+        "com/sun/star/reflection/XIdlMethod",
         "com/sun/star/reflection/XIdlReflection",
         "com/sun/star/reflection/XIndirectTypeDescription",
         "com/sun/star/reflection/XInterfaceAttributeTypeDescription",
@@ -119,18 +136,28 @@ bool isBootstrapType(rtl::OString const & name) {
         "com/sun/star/reflection/XMethodParameter",
         "com/sun/star/reflection/XStructTypeDescription",
         "com/sun/star/reflection/XTypeDescription",
+        "com/sun/star/reflection/XTypeDescriptionEnumeration",
         "com/sun/star/reflection/XTypeDescriptionEnumerationAccess",
         "com/sun/star/reflection/XUnionTypeDescription",
+        "com/sun/star/registry/RegistryKeyType",
+        "com/sun/star/registry/RegistryValueType",
         "com/sun/star/registry/XImplementationRegistration",
         "com/sun/star/registry/XRegistryKey",
         "com/sun/star/registry/XSimpleRegistry",
         "com/sun/star/security/RuntimePermission",
+        "com/sun/star/security/XAccessControlContext",
         "com/sun/star/security/XAccessController",
+        "com/sun/star/security/XAction",
         "com/sun/star/uno/DeploymentException",
         "com/sun/star/uno/RuntimeException",
+        "com/sun/star/uno/TypeClass",
+        "com/sun/star/uno/Uik",
+        "com/sun/star/uno/XAdapter",
         "com/sun/star/uno/XAggregation",
         "com/sun/star/uno/XComponentContext",
         "com/sun/star/uno/XCurrentContext",
+        "com/sun/star/uno/XInterface",
+        "com/sun/star/uno/XReference",
         "com/sun/star/uno/XUnloadingPreference",
         "com/sun/star/uno/XWeak",
         "com/sun/star/util/XMacroExpander"
@@ -2172,36 +2199,13 @@ void InterfaceType::dumpAttributesCppuDecl(FileStream& o, StringSet* pFinishedTy
 void InterfaceType::dumpMethodsCppuDecl(FileStream& o, StringSet* pFinishedTypes, CppuTypeDecl eDeclFlag)
 {
     sal_uInt16      methodCount = m_reader.getMethodCount();
-    OString         returnType, paramType, excType;
-    sal_uInt16      paramCount = 0;
+    OString         excType;
     sal_uInt16      excCount = 0;
 
     for (sal_uInt16 i=0; i < methodCount; i++)
     {
-        returnType = rtl::OUStringToOString(
-            m_reader.getMethodReturnTypeName(i), RTL_TEXTENCODING_UTF8);
-        paramCount = m_reader.getMethodParameterCount(i);
         excCount = m_reader.getMethodExceptionCount(i);
-
-        if (pFinishedTypes->count(returnType) == 0)
-        {
-            pFinishedTypes->insert(returnType);
-            dumpCppuGetType(o, returnType, sal_True, eDeclFlag);
-        }
         sal_uInt16 j;
-        for (j=0; j < paramCount; j++)
-        {
-            paramType = rtl::OUStringToOString(
-                m_reader.getMethodParameterTypeName(i, j),
-                RTL_TEXTENCODING_UTF8);
-
-            if (pFinishedTypes->count(paramType) == 0)
-            {
-                pFinishedTypes->insert(paramType);
-                dumpCppuGetType(o, paramType, sal_True, eDeclFlag);
-            }
-        }
-
         for (j=0; j < excCount; j++)
         {
             excType = rtl::OUStringToOString(
commit d341da6e98a83988ab8456109fa3229aef07f204
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Oct 1 00:07:23 2013 +0200

    All the content of cppuhelper/source/compat.cxx must be in namespace cppu
    
    (cherry picked from commit 69f1846f4095a9dc607a0e568980d8625d657c94)
    Conflicts:
    	cppuhelper/source/compat.cxx
    
    Change-Id: I30dde10d1c299dbd9c0b2cb2fa025ce432df6cce
    Reviewed-on: https://gerrit.libreoffice.org/6098
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/cppuhelper/source/compat.cxx b/cppuhelper/source/compat.cxx
index c24a8a8..8d13116 100644
--- a/cppuhelper/source/compat.cxx
+++ b/cppuhelper/source/compat.cxx
@@ -26,6 +26,8 @@ using namespace ::com::sun::star;
 
 // Stubs for removed functionality, to be killed when we bump sal SONAME
 
+namespace cppu {
+
 SAL_DLLPUBLIC_EXPORT
 reflection::XIdlClass * SAL_CALL createStandardClassWithSequence(
 	const uno::Reference < lang::XMultiServiceFactory > &, const rtl::OUString &,
@@ -35,4 +37,6 @@ reflection::XIdlClass * SAL_CALL createStandardClassWithSequence(
     for (;;) { std::abort(); } // avoid "must return a value" warnings
 }
 
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 7104ac33cab2e28a4996cc00b5bfd0f393f8b850
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Fri Sep 27 15:59:32 2013 +0200

    fdo#69450 - IDF_ATTRIB & IDF_CONTENTS must be disjoint.
    
    Change-Id: Ib971824a7f274334012b872acec65310535ad767
    Signed-off-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/inc/global.hxx b/sc/inc/global.hxx
index e306669..030f7b8 100644
--- a/sc/inc/global.hxx
+++ b/sc/inc/global.hxx
@@ -191,7 +191,7 @@ const sal_uInt16 IDF_OUTLINE    = 0x0800;   /// Sheet / outlining (grouping) inf
 const sal_uInt16 IDF_NOCAPTIONS = 0x0200;   /// Internal use only (undo etc.): do not copy/delete caption objects of cell notes.
 const sal_uInt16 IDF_ADDNOTES   = 0x0400;   /// Internal use only (copy from clip): do not delete existing cell contents when pasting notes.
 const sal_uInt16 IDF_SPECIAL_BOOLEAN = 0x1000;
-const sal_uInt16 IDF_ATTRIB     = IDF_HARDATTR | IDF_STYLES | IDF_OUTLINE;
+const sal_uInt16 IDF_ATTRIB     = IDF_HARDATTR | IDF_STYLES;
 const sal_uInt16 IDF_CONTENTS   = IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_NOTE | IDF_FORMULA | IDF_OUTLINE;
 const sal_uInt16 IDF_ALL        = IDF_CONTENTS | IDF_ATTRIB | IDF_OBJECTS;
 
commit 5eeb0e0556f62ab9fcc93b91d59dfb42240d8d13
Author: Laurent Balland-Poirier <laurent.balland-poirier at laposte.net>
Date:   Sun Sep 22 00:19:12 2013 +0200

    fdo#54686 Treat hard blank as soft blank in number
    
    AutoCorrect option "Add non-breaking space in French..." insert
    non-breaking space (hard blank) and avoid recognition of percent
    number and time number. This patch treats hard blanks as soft blank
    in number format recognition
    
    Rev.#1: change #define to const variable. Same change in svxaccor
    Rev.#2: improvements
    
    Reviewed-on: https://gerrit.libreoffice.org/6015
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>
    (cherry picked from commit 2f4d7eacabd62db35777682bcca353e142e024bf)
    
    Conflicts:
    	editeng/source/misc/svxacorr.cxx
    	svl/source/numbers/zforfind.cxx
    
    (cherry picked from commit 1ca4b1bae11704a1119a9c680c6ae5b85ea1b31e)
    
    Signed-off-by: Eike Rathke <erack at redhat.com>
    
    Conflicts:
    	editeng/source/misc/svxacorr.cxx
    
    Change-Id: I30c2c36778cb53a0238a0829043dad4d709f97d2

diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 046c4b3..9887540 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -63,8 +63,6 @@
 #include <vcl/help.hxx>
 #include <rtl/logfile.hxx>
 
-#define CHAR_HARDBLANK      ((sal_Unicode)0x00A0)
-
 using namespace ::com::sun::star::ucb;
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star;
@@ -76,6 +74,7 @@ static const int C_NONE             = 0x00;
 static const int C_FULL_STOP        = 0x01;
 static const int C_EXCLAMATION_MARK = 0x02;
 static const int C_QUESTION_MARK    = 0x04;
+static const sal_Unicode cNonBreakingSpace = 0xA0;
 
 static const sal_Char pImplWrdStt_ExcptLstStr[]    = "WordExceptList";
 static const sal_Char pImplCplStt_ExcptLstStr[]    = "SentenceExceptList";
@@ -102,7 +101,7 @@ typedef SvxAutoCorrectLanguageLists* SvxAutoCorrectLanguageListsPtr;
 static inline int IsWordDelim( const sal_Unicode c )
 {
     return ' ' == c || '\t' == c || 0x0a == c ||
-            0xA0 == c || 0x2011 == c || 0x1 == c;
+            cNonBreakingSpace == c || 0x2011 == c || 0x1 == c;
 }
 
 static inline int IsLowerLetter( sal_Int32 nCharType )
@@ -628,7 +627,7 @@ sal_Bool SvxAutoCorrect::FnAddNonBrkSpace(
                 {
                     // Remove any previous normal space
                     xub_StrLen nPos = nEndPos - 1;
-                    while ( cPrevChar == ' ' || cPrevChar == CHAR_HARDBLANK )
+                    while ( cPrevChar == ' ' || cPrevChar == cNonBreakingSpace )
                     {
                         if ( nPos == 0 ) break;
                         nPos--;
@@ -641,7 +640,7 @@ sal_Bool SvxAutoCorrect::FnAddNonBrkSpace(
 
                     // Add the non-breaking space at the end pos
                     if ( bHasSpace )
-                        rDoc.Insert( nPos, rtl::OUString(CHAR_HARDBLANK) );
+                        rDoc.Insert( nPos, rtl::OUString(cNonBreakingSpace) );
                     bRunNext = true;
                     bRet = true;
                 }
@@ -654,7 +653,7 @@ sal_Bool SvxAutoCorrect::FnAddNonBrkSpace(
             // Remove the hardspace right before to avoid formatting URLs
             sal_Unicode cPrevChar = rTxt.GetChar( nEndPos - 1 );
             sal_Unicode cMaybeSpaceChar = rTxt.GetChar( nEndPos - 2 );
-            if ( cPrevChar == ':' && cMaybeSpaceChar == CHAR_HARDBLANK )
+            if ( cPrevChar == ':' && cMaybeSpaceChar == cNonBreakingSpace )
             {
                 rDoc.Delete( nEndPos - 2, nEndPos - 1 );
                 bRet = true;
@@ -1126,7 +1125,7 @@ void SvxAutoCorrect::InsertQuote( SvxAutoCorrDoc& rDoc, xub_StrLen nInsPos,
         case LANGUAGE_FRENCH_SWISS:
         case LANGUAGE_FRENCH_LUXEMBOURG:
             {
-                rtl::OUString s( static_cast< sal_Unicode >(0xA0) );
+                rtl::OUString s( cNonBreakingSpace );
                     // UNICODE code for no break space
                 if( rDoc.Insert( bSttQuote ? nInsPos+1 : nInsPos, s ))
                 {
@@ -1225,7 +1224,7 @@ sal_uLong SvxAutoCorrect::AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt,
                 {
                     // Remove the NBSP if it wasn't an autocorrection
                     if ( nInsPos != 0 && NeedsHardspaceAutocorr( rTxt.GetChar( nInsPos - 1 ) ) &&
-                            cChar != ' ' && cChar != '\t' && cChar != CHAR_HARDBLANK )
+                            cChar != ' ' && cChar != '\t' && cChar != cNonBreakingSpace )
                     {
                         // Look for the last HARD_SPACE
                         xub_StrLen nPos = nInsPos - 1;
@@ -1233,7 +1232,7 @@ sal_uLong SvxAutoCorrect::AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt,
                         while ( bContinue )
                         {
                             const sal_Unicode cTmpChar = rTxt.GetChar( nPos );
-                            if ( cTmpChar == CHAR_HARDBLANK )
+                            if ( cTmpChar == cNonBreakingSpace )
                             {
                                 rDoc.Delete( nPos, nPos + 1 );
                                 nRet = AddNonBrkSpace;
diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx
index d5adf88..27baf01 100644
--- a/svl/source/numbers/zforfind.cxx
+++ b/svl/source/numbers/zforfind.cxx
@@ -68,6 +68,8 @@ const sal_uInt8 ImpSvNumberInputScan::nMatchedUsedAsReturn = 0x10;
  * would work, together with the nTimezonePos handling in GetTimeRef(). */
 #define NF_RECOGNIZE_ISO8601_TIMEZONES 0
 
+static const sal_Unicode cNonBreakingSpace = 0xA0;
+
 //---------------------------------------------------------------------------
 //      Konstruktor
 
@@ -483,7 +485,7 @@ inline void ImpSvNumberInputScan::SkipBlanks( const OUString& rString,
     if ( nPos < rString.getLength() )
     {
         register const sal_Unicode* p = rString.getStr() + nPos;
-        while ( *p == ' ' )
+        while ( *p == ' ' || *p == cNonBreakingSpace )
         {
             nPos++;
             p++;
commit 00a4f761b203135c69f5a46e2099716acc7a8676
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Sep 18 10:22:29 2013 +0100

    Resolves: fdo#69220 crash in doc (ww6)
    
    Change-Id: I5a09d121a0b0342f28ba5d2d39027b27e9c9eba2
    (cherry picked from commit 2e93541d00f9d4aaa6ad2aeb35ee0c901d216cc0)
    Reviewed-on: https://gerrit.libreoffice.org/5990
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/sw/source/filter/ww8/ww8scan.hxx b/sw/source/filter/ww8/ww8scan.hxx
index 84112df..23f0895 100644
--- a/sw/source/filter/ww8/ww8scan.hxx
+++ b/sw/source/filter/ww8/ww8scan.hxx
@@ -797,7 +797,21 @@ struct WW8PLCFxDesc
     //With nStartPos set to WW8_CP_MAX then in the case of a pap or chp
     //GetSprms will not search for the sprms, but instead take the
     //existing ones.
-    WW8PLCFxDesc() : pIdStk(0), nStartPos(WW8_CP_MAX) {}
+    WW8PLCFxDesc()
+        : pIdStk(0)
+        , pMemPos(0)
+        , nOrigSprmsLen(0)
+        , nStartPos(WW8_CP_MAX)
+        , nEndPos(WW8_CP_MAX)
+        , nOrigStartPos(WW8_CP_MAX)
+        , nOrigEndPos(WW8_CP_MAX)
+        , nCp2OrIdx(WW8_CP_MAX)
+        , nSprmsLen(0)
+        , nCpOfs(0)
+        , bFirstSprm(false)
+        , bRealLineEnd(false)
+    {
+    }
     void ReduceByOffset();
 };
 
commit bfbd249e883b84ed617eb45558dd8ea0295a93b8
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Sep 16 15:04:47 2013 +0100

    Resolves: fdo#67697 source formatting option list in autocorrect
    
    regression from 0513e10635c85fc1aa214948de4992d4b76d555c
    "fdo#49350 Speedup "OK" action of auto-correct dialog"
    
    (cherry picked from commit 95e566b9a0df06d130e118181058273f034bcf2c)
    
    Conflicts:
    	cui/source/tabpages/autocdlg.cxx
    
    Change-Id: Iede6063729433beb3ac50dbdb45230c1d774cea0
    Reviewed-on: https://gerrit.libreoffice.org/5958
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/cui/source/inc/autocdlg.hxx b/cui/source/inc/autocdlg.hxx
index abaf70c..f76be9c 100644
--- a/cui/source/inc/autocdlg.hxx
+++ b/cui/source/inc/autocdlg.hxx
@@ -280,7 +280,7 @@ public:
 
     void    SetLanguage(LanguageType eSet);
     void    DeleteEntry(String sShort, String sLong);
-    void    NewEntry(String sShort, String sLong);
+    void    NewEntry(String sShort, String sLong, bool bKeepSourceFormatting);
 };
 
 // class OfaAutocorrExceptPage ---------------------------------------------
diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx
index f8a5fe5..cb4cf9d 100644
--- a/cui/source/tabpages/autocdlg.cxx
+++ b/cui/source/tabpages/autocdlg.cxx
@@ -945,6 +945,17 @@ sal_Bool OfaAutocorrReplacePage::FillItemSet( SfxItemSet& )
         for (sal_uInt32 i = 0; i < rStringChangeList.aNewEntries.size(); i++)
         {
             DoubleString& newEntry = rStringChangeList.aNewEntries[i];
+
+            //fdo#67697 if the user data is set then we want to retain the
+            //source formatting of the entry, so don't use the optimized
+            //text-only MakeCombinedChanges for this entry
+            bool bKeepSourceFormatting = newEntry.pUserData == &bHasSelectionText;
+            if (bKeepSourceFormatting)
+            {
+                pAutoCorrect->PutText(newEntry.sShort, *SfxObjectShell::Current(), eCurrentLang);
+                continue;
+            }
+
             SvxAutocorrWord aNewWord( newEntry.sShort, newEntry.sLong );
             aNewWords.push_back( aNewWord );
         }
@@ -1122,7 +1133,7 @@ IMPL_LINK(OfaAutocorrReplacePage, SelectHdl, SvTabListBox*, pBox)
     return 0;
 };
 
-void OfaAutocorrReplacePage::NewEntry(String sShort, String sLong)
+void OfaAutocorrReplacePage::NewEntry(String sShort, String sLong, bool bKeepSourceFormatting)
 {
     DoubleStringArray& rNewArray = aChangesTable[eLang].aNewEntries;
     for (sal_uInt32 i = 0; i < rNewArray.size(); i++)
@@ -1148,6 +1159,8 @@ void OfaAutocorrReplacePage::NewEntry(String sShort, String sLong)
     aNewString.sShort = sShort;
     aNewString.sLong = sLong;
     rNewArray.push_back(aNewString);
+    if (bKeepSourceFormatting)
+        rNewArray.back().pUserData = &bHasSelectionText;
 }
 
 void OfaAutocorrReplacePage::DeleteEntry(String sShort, String sLong)
@@ -1199,7 +1212,9 @@ IMPL_LINK(OfaAutocorrReplacePage, NewDelHdl, PushButton*, pBtn)
         if(sEntry.Len() && ( aReplaceED.GetText().Len() ||
                 ( bHasSelectionText && bSWriter ) ))
         {
-            NewEntry(aShortED.GetText(), aReplaceED.GetText());
+            bool bKeepSourceFormatting = !bReplaceEditChanged && !aTextOnlyCB.IsChecked();
+
+            NewEntry(aShortED.GetText(), aReplaceED.GetText(), bKeepSourceFormatting);
             aReplaceTLB.SetUpdateMode(sal_False);
             sal_uInt32 nPos = UINT_MAX;
             sEntry += '\t';
@@ -1223,7 +1238,7 @@ IMPL_LINK(OfaAutocorrReplacePage, NewDelHdl, PushButton*, pBtn)
             SvTreeListEntry* pInsEntry = aReplaceTLB.InsertEntry(
                                         sEntry, static_cast< SvTreeListEntry * >(NULL), false,
                                         nPos == UINT_MAX ? LIST_APPEND : nPos);
-            if( !bReplaceEditChanged && !aTextOnlyCB.IsChecked())
+            if (bKeepSourceFormatting)
             {
                 pInsEntry->SetUserData(&bHasSelectionText); // new formatted text
             }
commit a37f7df5ca0d188e946ad9e185f59c0f663579cd
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Sep 9 16:54:30 2013 +0100

    Resolves: fdo#34987 skip autoheight reset if it will be set to the same value
    
    Triggered by aa9af08b389a106fcfb53842ac7669b208a27205 which explicitly sets
    rSet.Put( SdrTextAutoGrowHeightItem(FALSE) ); so there is something set on the
    style which is being overwritten.
    
    The code here resets the style to the default of "true" before going on to set
    it to the explicit "false" again. In that window of time the master shapes
    listen to the property change, on being set to autoheight they resize and on
    being unset, they remain stuck on their autoheight calculated size.
    
    Reviewed-on: https://gerrit.libreoffice.org/5887
    Reviewed-by: mhofmann <borim7 at web.de>
    Reviewed-by: Thorsten Behrens <thb at documentfoundation.org>
    Tested-by: Thorsten Behrens <thb at documentfoundation.org>
    (cherry picked from commit 14e7a290dab7fead66ef6ff7f94c6a425d80ceb6)
    
    Conflicts:
    	xmloff/source/draw/ximpstyl.cxx
    
    Change-Id: I567a791b2bbbcb3a1a111633fabf509142984645
    Reviewed-on: https://gerrit.libreoffice.org/5929
    Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
    Tested-by: Fridrich Strba <fridrich at documentfoundation.org>
    (cherry picked from commit 0964a73d03bf9f5b9f485ff39f97c7e7b54339b3)
    Reviewed-on: https://gerrit.libreoffice.org/5939
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/xmloff/source/draw/ximpstyl.cxx b/xmloff/source/draw/ximpstyl.cxx
index 1a736db..79a7fcd 100644
--- a/xmloff/source/draw/ximpstyl.cxx
+++ b/xmloff/source/draw/ximpstyl.cxx
@@ -1314,6 +1314,43 @@ void SdXMLStylesContext::ImpSetCellStyles() const
     }
 }
 
+//Resolves: fdo#34987 if the style's auto height before and after is the same
+//then don't reset it back to the underlying default of true for the small
+//period before its going to be reset to false again. Doing this avoids the
+//master page shapes from resizing themselves due to autoheight becoming
+//enabled before having autoheight turned off again and getting stuck on that
+//autosized height
+static bool canSkipReset(const OUString &rName, const XMLPropStyleContext* pPropStyle,
+    const uno::Reference< beans::XPropertySet > &rPropSet, const UniReference < XMLPropertySetMapper >& rPrMap)
+{
+    bool bCanSkipReset = false;
+    if (pPropStyle && rName == "TextAutoGrowHeight")
+    {
+        sal_Bool bOldStyleTextAutoGrowHeight(sal_False);
+        rPropSet->getPropertyValue("TextAutoGrowHeight") >>= bOldStyleTextAutoGrowHeight;
+
+        sal_Int32 nIndexStyle = rPrMap->GetEntryIndex(XML_NAMESPACE_DRAW, "auto-grow-height", 0);
+        if (nIndexStyle != -1)
+        {
+            const ::std::vector< XMLPropertyState > &rProperties = pPropStyle->GetProperties();
+            ::std::vector< XMLPropertyState >::const_iterator property = rProperties.begin();
+            for(; property != rProperties.end(); ++property)
+            {
+                sal_Int32 nIdx = property->mnIndex;
+                if (nIdx == nIndexStyle)
+                {
+                    sal_Bool bNewStyleTextAutoGrowHeight(sal_False);
+                    property->maValue >>= bNewStyleTextAutoGrowHeight;
+                    if (bNewStyleTextAutoGrowHeight == bOldStyleTextAutoGrowHeight)
+                        bCanSkipReset = true;;
+                    break;
+                }
+            }
+        }
+    }
+    return bCanSkipReset;
+}
+
 //////////////////////////////////////////////////////////////////////////////
 // help function used by ImpSetGraphicStyles() and ImpSetMasterPageStyles()
 //

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list