[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.3' - 30 commits - connectivity/source dbaccess/source external/coinmp external/lpsolve include/vcl readlicense_oo/license scp2/source sc/source sd/CppunitTest_sd_filters_test.mk sd/qa solenv/bin solenv/gdb starmath/source svtools/source svx/source sw/source vcl/generic vcl/headless vcl/inc vcl/quartz vcl/source vcl/unx vcl/win wizards/source

Caolán McNamara caolanm at redhat.com
Fri Feb 6 04:14:33 PST 2015


 connectivity/source/drivers/macab/MacabResultSet.cxx       |    5 
 connectivity/source/drivers/macab/MacabStatement.cxx       |    7 
 dbaccess/source/core/misc/dsntypes.cxx                     |    2 
 dbaccess/source/ui/browser/sbagrid.cxx                     |   35 
 external/coinmp/ExternalProject_coinmp.mk                  |   11 
 external/lpsolve/ExternalProject_lpsolve.mk                |    1 
 include/vcl/outdev.hxx                                     |    9 
 readlicense_oo/license/CREDITS.fodt                        | 2274 ++++++-------
 sc/source/ui/app/transobj.cxx                              |    3 
 sc/source/ui/cctrl/checklistmenu.cxx                       |    3 
 sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx             |    5 
 sc/source/ui/dbgui/PivotLayoutTreeListData.cxx             |   10 
 sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx            |   10 
 sc/source/ui/sidebar/AlignmentPropertyPanel.cxx            |   33 
 scp2/source/winexplorerext/registryitem_winexplorerext.scp |   18 
 sd/CppunitTest_sd_filters_test.mk                          |    5 
 sd/qa/unit/data/cgm/fail/ooo6420-1.cgm                     |  400 ++
 solenv/bin/modules/installer/windows/property.pm           |    7 
 solenv/gdb/libreoffice/sw.py                               |   37 
 starmath/source/node.cxx                                   |    2 
 svtools/source/control/tabbar.cxx                          |    7 
 svx/source/sidebar/line/LineWidthControl.cxx               |    1 
 svx/source/sidebar/possize/PosSizePropertyPanel.cxx        |   33 
 sw/source/core/fields/docufld.cxx                          |    6 
 sw/source/core/uibase/wrtsh/wrtsh1.cxx                     |   12 
 sw/source/filter/html/wrthtml.cxx                          |    3 
 sw/source/ui/fldui/changedb.cxx                            |    3 
 sw/source/ui/frmdlg/frmpage.cxx                            |   30 
 vcl/generic/fontmanager/fontmanager.cxx                    |   25 
 vcl/generic/print/genpspgraphics.cxx                       |    8 
 vcl/headless/svptext.cxx                                   |    4 
 vcl/inc/fontmanager.hxx                                    |    7 
 vcl/inc/generic/genpspgraphics.h                           |    6 
 vcl/inc/headless/svpgdi.hxx                                |    2 
 vcl/inc/outdev.h                                           |    2 
 vcl/inc/quartz/salgdi.h                                    |    2 
 vcl/inc/salgdi.hxx                                         |    3 
 vcl/inc/unx/salgdi.h                                       |    2 
 vcl/inc/win/salgdi.h                                       |    2 
 vcl/quartz/salgdi.cxx                                      |    2 
 vcl/source/gdi/embeddedfontshelper.cxx                     |    5 
 vcl/source/gdi/pdfwriter_impl.cxx                          |   52 
 vcl/source/glyphs/graphite_layout.cxx                      |    2 
 vcl/source/outdev/font.cxx                                 |   39 
 vcl/source/window/btndlg.cxx                               |    8 
 vcl/unx/generic/gdi/salgdi3.cxx                            |    4 
 vcl/win/source/gdi/salgdi3.cxx                             |    2 
 wizards/source/access2base/Control.xba                     |    9 
 48 files changed, 1886 insertions(+), 1272 deletions(-)

New commits:
commit 9c1d2558a9ebe0ffd35f633be7c74fc9dc22c96e
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Oct 14 11:32:50 2014 +0100

    Resolves: fdo#84887 TabBar::ImplShowPage crash
    
    (cherry picked from commit ff7c2cd0dc89f0ffa6742f1f5dcf89f5a6f03839)
    Signed-off-by: Stephan Bergmann <sbergman at redhat.com>
    
    Change-Id: I84250c6a40baeabd0d12958dfe0aea346d2b4fc8

diff --git a/sd/CppunitTest_sd_filters_test.mk b/sd/CppunitTest_sd_filters_test.mk
index 646b112..5331a79 100644
--- a/sd/CppunitTest_sd_filters_test.mk
+++ b/sd/CppunitTest_sd_filters_test.mk
@@ -100,6 +100,9 @@ $(eval $(call gb_CppunitTest_use_components,sd_filters_test,\
 
 $(eval $(call gb_CppunitTest_use_configuration,sd_filters_test))
 
-$(call gb_CppunitTest_get_target,sd_filters_test) : $(call gb_AllLangResTarget_get_target,sd)
+# sd dlopens libicg.so for cgm import, so ensure its built by now
+$(call gb_CppunitTest_get_target,sd_filters_test) : | \
+    $(call gb_AllLangResTarget_get_target,sd) \
+    $(call gb_Library_get_target,icg) \
 
 # vim: set noet sw=4 ts=4:
diff --git a/sd/qa/unit/data/cgm/fail/ooo6420-1.cgm b/sd/qa/unit/data/cgm/fail/ooo6420-1.cgm
new file mode 100644
index 0000000..5b42b6f
--- /dev/null
+++ b/sd/qa/unit/data/cgm/fail/ooo6420-1.cgm
@@ -0,0 +1,400 @@
+BEGMF 'xfig-fig012228';
+mfversion 1;
+mfdesc 'Converted from /tmp/xfig-fig012228 using fig2dev -Lcgm';
+mfelemlist 'DRAWINGPLUS';
+vdctype integer;
+fontlist 'Hardware',
+  'Times New Roman', 'Times New Roman Bold', 'Times New Roman Italic',
+  'Helvetica', 'Courier',
+  'Times-Roman', 'Times-Italic',
+  'Times-Bold', 'Times-BoldItalic',
+  'AvantGarde-Book', 'AvantGarde-BookOblique',
+  'AvantGarde-Demi', 'AvantGarde-DemiOblique',
+  'Bookman-light', 'Bookman-lightItalic',
+  'Bookman-Demi', 'Bookman-DemiItalic',
+  'Courier', 'Courier-Oblique',
+  'Courier-Bold', 'Courier-BoldOblique',
+  'Helvetica', 'Helvetica-Oblique',
+  'Helvetica-Bold', 'Helvetica-BoldOblique',
+  'Helvetica-Narrow', 'Helvetica-Narrow-Oblique',
+  'Helvetica-Narrow-Bold', 'Helvetica-Narrow-BoldOblique',
+  'NewCenturySchlbk-Roman', 'NewCenturySchlbk-Italic',
+  'NewCenturySchlbk-Bold', 'NewCenturySchlbk-BoldItalic',
+  'Palatino-Roman', 'Palatino-Italic',
+  'Palatino-Bold', 'Palatino-BoldItalic',
+  'Symbol', 'ZapfChancery-MediumItalic', 'ZapfDingbats';
+BEGMFDEFAULTS;
+  vdcext (0,0) (12974,8467);
+  clip off;
+  colrmode indexed;
+  colrtable 1
+    0 0 0
+    0 0 255
+    0 255 0
+    0 255 255
+    255 0 0
+    255 0 255
+    255 255 0
+    255 255 255
+    0 0 142
+    0 0 175
+    0 0 209
+    135 206 255
+    0 142 0
+    0 175 0
+    0 209 0
+    0 142 142
+    0 175 175
+    0 209 209
+    142 0 0
+    175 0 0
+    209 0 0
+    142 0 142
+    175 0 175
+    209 0 209
+    127 48 0
+    160 63 0
+    191 96 0
+    255 127 127
+    255 160 160
+    255 191 191
+    255 224 224
+    255 214 0;
+  linewidthmode abs;
+  edgewidthmode abs;
+  backcolr 255 255 255;
+  textprec stroke;
+  transparency ON;
+ENDMFDEFAULTS;
+BEGPIC 'xfig-fig012228';
+BEGPICBODY;
+% Circle %
+intstyle EMPTY;
+edgevis ON;
+edgetype 1;
+edgewidth 30;
+edgecolr 1;
+circle (7747,5647) 225;
+% Polygon %
+polygon (2797,6997) (3697,5197) (2797,3397) (2797,6997);
+% Polyline %
+linetype 1;
+linewidth 30;
+linecolr 1;
+line (3697,5197) (3907,5197);
+intstyle SOLID;
+fillcolr 1;
+polygon (3847,5257)(4087,5197)(3847,5137);
+% Polyline %
+line (772,4747) (2797,4747);
+% Polyline %
+line (772,3847) (2797,3847);
+% Polyline %
+line (997,472) (8422,472);
+% Polyline %
+line (997,1372) (8422,1372);
+% Polyline %
+line (6622,2272) (8422,2272);
+% Box %
+intstyle EMPTY;
+rect (5497,4522) (6622,3622);
+% Polyline %
+line (6622,4072) (6880,4072);
+intstyle SOLID;
+fillcolr 8;
+polygon (6772,4132)(7012,4072)(6772,4012)(6820,4072);
+% Polygon %
+intstyle EMPTY;
+polygon (8422,3622) (9322,1822) (8422,22) (8422,3622);
+% Polyline %
+line (9322,1822) (9532,1822);
+intstyle SOLID;
+fillcolr 1;
+polygon (9472,1882)(9712,1822)(9472,1762);
+% Polyline %
+line (9772,3397) (9772,4522) (7747,4522) (7747,5182);
+polygon (7687,5122)(7747,5362)(7807,5122);
+% Polyline %
+line (772,6322) (772,7387);
+line (712,7147)(772,7387)(832,7147);
+% Polyline %
+line (772,5647) (2797,5647);
+% Polyline %
+line (322,6322) (1672,6322) (1672,5647);
+% Polyline %
+line (9772,4522) (10222,4522);
+% Polyline %
+line (10447,4522) (12472,4522) (12472,8122) (322,8122) (322,6322);
+% Polyline %
+line (9772,3397) (9772,697) (11062,697);
+line (10822,757)(11062,697)(10822,637);
+% Polyline %
+line (9772,2722) (11962,2722);
+line (11722,2782)(11962,2722)(11722,2662);
+% Polyline %
+line (10537,3622) (10537,3847) (12022,3847);
+% Polyline %
+line (10222,4522) (10222,3397) (11962,3397);
+line (11722,3457)(11962,3397)(11722,3337);
+% Polyline %
+line (10222,4072) (11962,4072);
+line (11722,4132)(11962,4072)(11722,4012);
+% Polyline %
+line (4147,7222) (4147,4072) (5257,4072);
+polygon (5197,4132)(5437,4072)(5197,4012);
+% Polyline %
+line (4147,7222) (8182,7222);
+polygon (8122,7282)(8362,7222)(8122,7162);
+% Polyline %
+line (10837,7672) (8422,7672) (8422,6772) (10837,6772);
+line (10597,7732)(10837,7672)(10597,7612);
+line (10597,6832)(10837,6772)(10597,6712);
+% Polyline %
+line (4147,6322) (7747,6322) (7747,6112);
+polygon (7807,6172)(7747,5932)(7687,6172);
+% Polyline %
+line (7972,5647) (8182,5647);
+polygon (8122,5707)(8362,5647)(8122,5587);
+% Polyline %
+line (1672,6547) (1882,6547);
+polygon (1822,6607)(2062,6547)(1822,6487);
+% Polyline %
+line (10987,3847) (10777,3847);
+polygon (10837,3787)(10597,3847)(10837,3907);
+% Polyline %
+line (9772,4522) (9982,4522);
+polygon (9922,4582)(10162,4522)(9922,4462);
+% Polyline %
+line (10942,4522) (10732,4522);
+polygon (10792,4462)(10552,4522)(10792,4582);
+% Box %
+intstyle EMPTY;
+rect (5497,2722) (6622,1822);
+% Polyline %
+line (5047,2272) (5305,2272);
+intstyle SOLID;
+fillcolr 8;
+polygon (5197,2332)(5437,2272)(5197,2212)(5245,2272);
+% Polyline %
+line (1447,7447) (1447,6547) (2572,6547);
+% Polyline %
+line (10837,6097) (8422,6097) (8422,5197) (10837,5197);
+line (10597,6157)(10837,6097)(10597,6037);
+line (10597,5257)(10837,5197)(10597,5137);
+% Polyline %
+line (2077,6547) (2797,6547);
+% Text %
+textfontindex 25;
+textalign right base 0.0 0.0;
+textcolr 1;
+charheight 140;
+charori (0,1200) (1200,0);
+text (862,1282) final 'FMS_IN';
+% Text %
+text (862,382) final 'WFB_IN';
+% Text %
+textalign left base 0.0 0.0;
+text (7162,3982) final 'NET';
+% Text %
+text (5767,4207) final 'PCM';
+% Text %
+text (5767,3892) final 'capture';
+% Text %
+textalign ctr base 0.0 0.0;
+text (1222,7582) final 'DECRYPT';
+% Text %
+textalign left base 0.0 0.0;
+text (12067,3892) final 'CRYPT';
+% Text %
+text (10042,2047) final 'SE_OUT';
+% Text %
+text (9997,1012) final 'GS_OUT';
+% Text %
+textalign right base 0.0 0.0;
+text (8197,1642) final 'FMS_IN';
+% Text %
+text (8197,742) final 'WFB_IN';
+% Text %
+text (4912,2182) final 'NET';
+% Text %
+textalign left base 0.0 0.0;
+text (5767,2407) final 'PCM';
+% Text %
+text (5767,2092) final 'receive';
+% Text %
+text (4327,4612) final 'NET_CAPTURE';
+% Text %
+text (4372,6592) final 'LSTA_OUT';
+% Text %
+text (4372,7492) final 'FMS_OUT';
+% Text %
+textalign right base 0.0 0.0;
+text (2662,6817) final 'CYUN_IN';
+% Text %
+text (2572,5917) final 'SE_IN';
+% Text %
+text (2572,5017) final 'PA_IN';
+% Text %
+text (2572,4117) final 'GS_IN';
+% Text %
+text (8332,2542) final 'NET_RECEIVE';
+% Text %
+textalign left base 0.0 0.0;
+text (2932,5107) final 'LEFT';
+% Text %
+text (8512,1732) final 'RIGHT';
+% Text %
+textalign right base 0.0 0.0;
+text (682,4657) final 'PA_IN';
+% Text %
+text (682,3757) final 'GS_IN';
+% Text %
+text (682,5557) final 'SE_IN';
+% Text %
+textalign left base 0.0 0.0;
+text (10987,7582) final 'FMS_OUT';
+% Text %
+text (10987,6682) final 'WFB_OUT';
+% Text %
+text (10987,6007) final 'TA_OUT';
+% Text %
+text (10987,5107) final 'LS_OUT';
+% Text %
+text (12067,2632) final 'PA_OUT';
+% Text %
+text (11212,607) final 'GS_OUT';
+% Text %
+textalign ctr base 0.0 0.0;
+text (11302,3577) final 'OL-SE';
+% Text %
+text (9997,5377) final 'OL-LS';
+% Text %
+text (9997,6277) final 'OL-TA';
+% Text %
+text (6172,8302) final 'LOOP-RS';
+% Text %
+text (1222,5827) final 'IL-SE';
+% Text %
+text (11347,2902) final 'OL-PA';
+% Text %
+textalign left base 0.0 0.0;
+text (12067,3307) final 'SE_OUT';
+% Text %
+textalign ctr base 0.0 0.0;
+text (10312,4612) final 'RS1';
+% Text %
+textalign left base 0.0 0.0;
+text (8197,4657) final 'TA_BACK';
+% Text %
+textalign ctr base 0.0 0.0;
+text (9097,5512) final 'LS_ON';
+% Text %
+text (9097,6412) final 'TA_ON';
+% Text %
+text (10357,2992) final 'PA_ON';
+% Polygon %
+colrtable 33 255 255 255;
+fillcolr 33;
+polygon (2122,6772) (2122,6322) (2572,6547) (2122,6772);
+% Polygon %
+polygon (2122,5872) (2122,5422) (2572,5647) (2122,5872);
+% Polygon %
+polygon (2122,4972) (2122,4522) (2572,4747) (2122,4972);
+% Polygon %
+polygon (2122,4072) (2122,3622) (2572,3847) (2122,4072);
+% Polygon %
+polygon (4372,4297) (4372,3847) (4822,4072) (4372,4297);
+% Polygon %
+polygon (9997,922) (9997,472) (10447,697) (9997,922);
+% Polygon %
+polygon (7747,2497) (7747,2047) (8197,2272) (7747,2497);
+% Polygon %
+polygon (7747,1597) (7747,1147) (8197,1372) (7747,1597);
+% Polygon %
+polygon (7747,697) (7747,247) (8197,472) (7747,697);
+% Polygon %
+polygon (9547,2047) (9997,2047) (9772,2497) (9547,2047);
+% Box %
+rect (997,5782) (1447,5512);
+% Box %
+rect (5947,8257) (6397,7987);
+% Box %
+rect (11122,2857) (11572,2587);
+% Box %
+rect (11122,3532) (11572,3262);
+% Polygon %
+polygon (4372,7447) (4372,6997) (4822,7222) (4372,7447);
+% Polygon %
+polygon (4372,6547) (4372,6097) (4822,6322) (4372,6547);
+% Box %
+rect (9772,6232) (10222,5962);
+% Box %
+rect (9772,5332) (10222,5062);
+% Polyline %
+linewidth 45;
+linecolr 8;
+line (8332,4522) (8017,4522);
+% Polyline %
+line (10222,4207) (10222,4522);
+% Polyline %
+line (10222,2722) (10537,2722);
+% Polyline %
+line (10852,3397) (10537,3397);
+% Polyline %
+line (8917,5197) (9232,5197);
+% Polyline %
+line (8917,6097) (9232,6097);
+% Polyline %
+linewidth 30;
+linecolr 1;
+line (8332,4522) (8017,4657);
+% Polyline %
+line (10222,4207) (10357,4522);
+% Polyline %
+line (10222,2722) (10537,2857);
+% Polyline %
+line (10852,3397) (10537,3532);
+% Polyline %
+line (8917,5197) (9232,5332);
+% Polyline %
+line (8917,6097) (9232,6232);
+% Circle %
+edgewidth 15;
+circle (8332,4522) 45;
+% Circle %
+circle (8017,4522) 45;
+% Circle %
+circle (8017,4747) 45;
+% Circle %
+circle (10222,4207) 45;
+% Circle %
+circle (10222,4522) 45;
+% Circle %
+circle (10447,4522) 45;
+% Circle %
+circle (10222,2722) 45;
+% Circle %
+circle (10537,2722) 45;
+% Circle %
+circle (10537,2947) 45;
+% Circle %
+circle (10852,3397) 45;
+% Circle %
+circle (10537,3397) 45;
+% Circle %
+circle (10537,3622) 45;
+% Circle %
+circle (8917,5197) 45;
+% Circle %
+circle (9232,5197) 45;
+% Circle %
+circle (9232,5422) 45;
+% Circle %
+circle (8917,6097) 45;
+% Circle %
+circle (9232,6322) 45;
+% Circle %
+circle (9232,6097) 45;
+% End of Picture %
+ENDPIC;
+ENDMF;
diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx
index 9183f73..c85c5a1 100644
--- a/svtools/source/control/tabbar.cxx
+++ b/svtools/source/control/tabbar.cxx
@@ -787,10 +787,11 @@ void TabBar::SetScrollAlwaysEnabled(bool bScrollAlwaysEnabled)
     ImplEnableControls();
 }
 
-
-
 void TabBar::ImplShowPage( sal_uInt16 nPos )
 {
+    if (nPos >= mpItemList->size())
+        return;
+
     // calculate width
     long nWidth = GetOutputSizePixel().Width();
     if ( nWidth >= TABBAR_OFFSET_X )
@@ -811,8 +812,6 @@ void TabBar::ImplShowPage( sal_uInt16 nPos )
     }
 }
 
-
-
 IMPL_LINK( TabBar, ImplClickHdl, ImplTabButton*, pBtn )
 {
     EndEditMode();
commit 77900b96fe41a74d3d532279abf60b49b736906b
Author: Julien Nabet <serval2412 at yahoo.fr>
Date:   Wed Feb 4 21:58:55 2015 +0100

    Resolves tdf#89129: crash when defining a specific relationship
    
    Returns early if comparison matches so you can reduce iterator scope and avoid last test for logging.
    
    Cherry-picked from 30f6ec7cfdf63cea265148bbe3a07d8df34e96d5
    
    /usr/include/c++/4.9/debug/safe_iterator.h:168:error: attempt to copy-
        construct an iterator from a singular iterator.
    
    Objects involved in the operation:
    iterator "this" @ 0x0x7fffffff3a30 {
    type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPPvNSt9__cxx19986vectorIS3_SaIS3_EEEEENSt7__debug6vectorIS3_S7_EEEE (mutable iterator);
      state = past-the-end;
      references sequence with type `NSt7__debug6vectorIPvSaIS1_EEE' @ 0x0x7fffffff4088
    }
    iterator "other" @ 0x0x7fffffff3a90 {
    type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPPvNSt9__cxx19986vectorIS3_SaIS3_EEEEENSt7__debug6vectorIS3_S7_EEEE (mutable iterator);
      state = singular;
      references sequence with type `NSt7__debug6vectorIPvSaIS1_EEE' @ 0x0x7fffffff4088
    }
    
    4  0x00002aaab193d6e9 in boost::void_ptr_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<void**, std::__cxx1998::vector<void*, std::allocator<void*> > >, std::__debug::vector<void*, std::allocator<void*> > >, ImplBtnDlgItem>::base (this=0x7fffffff3a90)
        at /home/julien/compile-libreoffice/libreoffice/workdir/UnpackedTarball/boost/boost/ptr_container/detail/void_ptr_iterator.hpp:121
    5  0x00002aaab193d269 in boost::operator==<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<void**, std::__cxx1998::vector<void*, std::allocator<void*> > >, std::__debug::vector<void*, std::allocator<void*> > >, ImplBtnDlgItem, __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<void**, std::__cxx1998::vector<void*, std::allocator<void*> > >, std::__debug::vector<void*, std::allocator<void*> > >, ImplBtnDlgItem> (l=..., r=...)
        at /home/julien/compile-libreoffice/libreoffice/workdir/UnpackedTarball/boost/boost/ptr_container/detail/void_ptr_iterator.hpp:179
    6  0x00002aaab193c2ca in ButtonDialog::RemoveButton (this=0x7fffffff3d90, nId=1) at /home/julien/compile-libreoffice/libreoffice/vcl/source/window/btndlg.cxx:340
    7  0x00002aaad8ed109b in dbaui::ORelationTableView::lookForUiActivities (this=0x317ef30)
        at /home/julien/compile-libreoffice/libreoffice/dbaccess/source/ui/relationdesign/RelationTableView.cxx:342
    
    Change-Id: Ied45c222c94d2a362075a3b1550b6092aad77c62
    Reviewed-on: https://gerrit.libreoffice.org/14325
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Lionel Elie Mamane <lionel at mamane.lu>
    Reviewed-on: https://gerrit.libreoffice.org/14349

diff --git a/vcl/source/window/btndlg.cxx b/vcl/source/window/btndlg.cxx
index 21e909f..db23a30 100644
--- a/vcl/source/window/btndlg.cxx
+++ b/vcl/source/window/btndlg.cxx
@@ -322,8 +322,7 @@ void ButtonDialog::AddButton( StandardButtonType eType, sal_uInt16 nId,
 
 void ButtonDialog::RemoveButton( sal_uInt16 nId )
 {
-    btn_iterator it;
-    for (it = maItemList.begin(); it != maItemList.end(); ++it)
+    for (btn_iterator it = maItemList.begin(); it != maItemList.end(); ++it)
     {
         if (it->mnId == nId)
         {
@@ -333,12 +332,11 @@ void ButtonDialog::RemoveButton( sal_uInt16 nId )
                 delete it->mpPushButton;
 
             maItemList.erase(it);
-            break;
+            return;
         }
     }
 
-    if (it == maItemList.end())
-        SAL_WARN( "vcl.window", "ButtonDialog::RemoveButton(): ButtonId invalid" );
+    SAL_WARN( "vcl.window", "ButtonDialog::RemoveButton(): ButtonId invalid" );
 }
 
 void ButtonDialog::Clear()
commit 5b10200606202ba3d4d26ce086f9a9b7d9e86507
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Feb 5 10:30:48 2015 +0000

    Resolves: tdf#88825 absent datasource causes exception / abort
    
    ::dbtools::ensureRowSetConnection throws on failure, and it can fail
    of course if the database doesn't exist
    
    its not generally useful to throw through a vcl event handler as that just
    leads back to the dispatch loop.
    
    (cherry picked from commit 863122b9adecedfcf35ffac1354ef8a85d5b6827)
    
    Conflicts:
    	dbaccess/source/ui/browser/sbagrid.cxx
    
    Change-Id: I8e8f4cff06de5684f163ed1b658a8794f54a7df2
    Reviewed-on: https://gerrit.libreoffice.org/14330
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Lionel Elie Mamane <lionel at mamane.lu>

diff --git a/dbaccess/source/ui/browser/sbagrid.cxx b/dbaccess/source/ui/browser/sbagrid.cxx
index 1fd9685..889e94a 100644
--- a/dbaccess/source/ui/browser/sbagrid.cxx
+++ b/dbaccess/source/ui/browser/sbagrid.cxx
@@ -971,9 +971,9 @@ Reference< XPropertySet >  SbaGridControl::getField(sal_uInt16 nModelPos)
         else
             OSL_FAIL("SbaGridControl::getField getColumns returns NULL or ModelPos is > than count!");
     }
-    catch (const Exception&)
+    catch (const Exception& e)
     {
-        OSL_FAIL("SbaGridControl::getField Exception occurred!");
+        SAL_WARN("dbaccess", "SbaGridControl::getField Exception occurred: " << e.Message);
     }
 
     return xEmptyReturn;
@@ -984,24 +984,31 @@ bool SbaGridControl::IsReadOnlyDB() const
     // assume yes if anything fails
     bool bDBIsReadOnly = true;
 
-    // the db is the implemented by the parent of the grid control's model ...
-    Reference< XChild >  xColumns(GetPeer()->getColumns(), UNO_QUERY);
-    if (xColumns.is())
+    try
     {
-        Reference< XRowSet >  xDataSource(xColumns->getParent(), UNO_QUERY);
-        Reference< XChild >  xConn(::dbtools::getConnection(xDataSource),UNO_QUERY);
-        if (xConn.is())
+        // the db is the implemented by the parent of the grid control's model ...
+        Reference< XChild >  xColumns(GetPeer()->getColumns(), UNO_QUERY);
+        if (xColumns.is())
         {
-            // ... and the RO-flag simply is implemented by a property
-            Reference< XPropertySet >  xDbProps(xConn->getParent(), UNO_QUERY);
-            if (xDbProps.is())
+            Reference< XRowSet >  xDataSource(xColumns->getParent(), UNO_QUERY);
+            Reference< XChild >  xConn(::dbtools::getConnection(xDataSource),UNO_QUERY);
+            if (xConn.is())
             {
-                Reference< XPropertySetInfo >  xInfo = xDbProps->getPropertySetInfo();
-                if (xInfo->hasPropertyByName(PROPERTY_ISREADONLY))
-                    bDBIsReadOnly = ::comphelper::getBOOL(xDbProps->getPropertyValue(PROPERTY_ISREADONLY));
+                // ... and the RO-flag simply is implemented by a property
+                Reference< XPropertySet >  xDbProps(xConn->getParent(), UNO_QUERY);
+                if (xDbProps.is())
+                {
+                    Reference< XPropertySetInfo >  xInfo = xDbProps->getPropertySetInfo();
+                    if (xInfo->hasPropertyByName(PROPERTY_ISREADONLY))
+                        bDBIsReadOnly = ::comphelper::getBOOL(xDbProps->getPropertyValue(PROPERTY_ISREADONLY));
+                }
             }
         }
     }
+    catch (const Exception& e)
+    {
+        SAL_WARN("dbaccess", "SbaGridControl::IsReadOnlyDB Exception occurred: " << e.Message);
+    }
     return bDBIsReadOnly;
 }
 
commit 0546d0bf9ddbacfac39c3ac1c08933436c93eb93
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Tue Feb 3 16:12:50 2015 +0100

    tdf#89048 Macab initialize record list even for never-match condition.
    
    Change-Id: I323f6532d00f30cde50616e9399cad6bbe00cb8c
    Reviewed-on: https://gerrit.libreoffice.org/14310
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Lionel Elie Mamane <lionel at mamane.lu>

diff --git a/connectivity/source/drivers/macab/MacabResultSet.cxx b/connectivity/source/drivers/macab/MacabResultSet.cxx
index d0206df..934db87 100644
--- a/connectivity/source/drivers/macab/MacabResultSet.cxx
+++ b/connectivity/source/drivers/macab/MacabResultSet.cxx
@@ -86,6 +86,11 @@ void MacabResultSet::someMacabRecords(const MacabCondition *pCondition)
     // maximum alloted size, which means that we'll never have to resize)
     m_aMacabRecords = new MacabRecords(allRecords);
 
+    if(pCondition->isAlwaysFalse())
+    {
+        return;
+    }
+
     MacabRecords::iterator iterator;
 
     for (iterator = allRecords->begin();
diff --git a/connectivity/source/drivers/macab/MacabStatement.cxx b/connectivity/source/drivers/macab/MacabStatement.cxx
index c5a0c3e..800acc1 100644
--- a/connectivity/source/drivers/macab/MacabStatement.cxx
+++ b/connectivity/source/drivers/macab/MacabStatement.cxx
@@ -331,7 +331,7 @@ void MacabCommonStatement::selectRecords(MacabResultSet *pResult) const throw(SQ
             MacabCondition *pCondition = analyseWhereClause(pParseNode);
             if (pCondition->isAlwaysTrue())
                 pResult->allMacabRecords();
-            else if (!pCondition->isAlwaysFalse())
+            else
                 pResult->someMacabRecords(pCondition);
             delete pCondition;
             return;
commit 57e8e9e8bc46313ddc4a3ce7b8e0d479c9018d66
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Feb 3 12:57:40 2015 +0100

    tdf#77241: sw: fix creation of field data source string
    
    SwChangeDBDlg::UpdateFlds() depends on undefined behaviour in
    constructing sTemp, because the call to GetDBName initializes local
    variables that are already used in other sub-expressions of the
    statement.
    
    (regression from 8a7a9992906ba59d575ca9e4441b3e84fea5fae0)
    
    Change-Id: Ibf8c0091da672e133d7a35bc61c059eaf65a3bc2
    Reviewed-on: https://gerrit.libreoffice.org/14305
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Lionel Elie Mamane <lionel at mamane.lu>

diff --git a/sw/source/ui/fldui/changedb.cxx b/sw/source/ui/fldui/changedb.cxx
index 8ef135a..80cfb68 100644
--- a/sw/source/ui/fldui/changedb.cxx
+++ b/sw/source/ui/fldui/changedb.cxx
@@ -203,7 +203,8 @@ void SwChangeDBDlg::UpdateFlds()
     OUString sTableName;
     OUString sColumnName;
     sal_Bool bIsTable = sal_False;
-    const OUString sTemp = m_pAvailDBTLB->GetDBName(sTableName, sColumnName, &bIsTable)
+    const OUString DBName(m_pAvailDBTLB->GetDBName(sTableName, sColumnName, &bIsTable));
+    const OUString sTemp = DBName
         + OUString(DB_DELIM)
         + sTableName
         + OUString(DB_DELIM)
commit 3c282929fed0b9484ba5adfc68019010bf47f552
Author: Maxime de Roucy <mderoucy at linagora.com>
Date:   Mon Dec 22 13:57:55 2014 +0100

    fdo#67534 Fix "Property Handler" shared lock
    
    As explained in the following link, access mode should be set to
    "EnableShareDenyNone" to avoid blocking others process to access the
    file opened by the Property Handler.
    http://msdn.microsoft.com/en-us/library/windows/desktop/dd894084%28v=vs.85%29.aspx
    
    Reviewed-on: https://gerrit.libreoffice.org/13596
    Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
    Tested-by: Andras Timar <andras.timar at collabora.com>
    
    Conflicts:
    	scp2/source/winexplorerext/registryitem_winexplorerext.scp
    
    Change-Id: I61cc251078c20f6a8cf7fa052c222a86e4e383b3
    Reviewed-on: https://gerrit.libreoffice.org/14300
    Reviewed-by: Andras Timar <andras.timar at collabora.com>
    Tested-by: Andras Timar <andras.timar at collabora.com>

diff --git a/scp2/source/winexplorerext/registryitem_winexplorerext.scp b/scp2/source/winexplorerext/registryitem_winexplorerext.scp
index a8eda1d..ccd1dba 100644
--- a/scp2/source/winexplorerext/registryitem_winexplorerext.scp
+++ b/scp2/source/winexplorerext/registryitem_winexplorerext.scp
@@ -339,6 +339,15 @@ RegistryItem gid_Regitem_Clsid_AE424E85_F6DF_4910_A6A9_438797986431_PropHdl
     Value = "%PRODUCTNAME Property Handler";
 End
 
+RegistryItem gid_Regitem_Clsid_AE424E85_F6DF_4910_A6A9_438797986431_EnableShareDenyWrite
+    ParentID = PREDEFINED_HKEY_CLASSES_ROOT;
+    ModuleID = gid_Module_Optional_Winexplorerext;
+    ComponentCondition = "VersionNT >= 600";
+    Subkey = "CLSID\{AE424E85-F6DF-4910-A6A9-438797986431}";
+    Name = "EnableShareDenyNone";
+    Value = "#1";
+End
+
 RegistryItem gid_Regitem_Clsid_AE424E85_F6DF_4910_A6A9_438797986431_PropHdl_x64
     ParentID = PREDEFINED_HKEY_CLASSES_ROOT;
     ModuleID = gid_Module_Optional_Winexplorerext_x64;
@@ -347,6 +356,15 @@ RegistryItem gid_Regitem_Clsid_AE424E85_F6DF_4910_A6A9_438797986431_PropHdl_x64
     Value = "%PRODUCTNAME Property Handler";
 End
 
+RegistryItem gid_Regitem_Clsid_AE424E85_F6DF_4910_A6A9_438797986431_EnableShareDenyWrite_x64
+    ParentID = PREDEFINED_HKEY_CLASSES_ROOT;
+    ModuleID = gid_Module_Optional_Winexplorerext_x64;
+    ComponentCondition = "VersionNT >= 600";
+    Subkey = "CLSID\{AE424E85-F6DF-4910-A6A9-438797986431}";
+    Name = "EnableShareDenyNone";
+    Value = "#1";
+End
+
 RegistryItem gid_Regitem_Clsid_AE424E85_F6DF_4910_A6A9_438797986431_InProcServer32
     ParentID = PREDEFINED_HKEY_CLASSES_ROOT;
     ModuleID = gid_Module_Optional_Winexplorerext;
commit 2bfb99ae3243606f1558dbc69e0fe571e1de4e48
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Jan 24 20:59:27 2015 +0000

    Resolves: rhbz#1179642 crash in GetFocus with empty mpPreviouslyFocusedListBox
    
    Change-Id: I7559067c00617482d34e7cbdd177202868cbfc76
    (cherry picked from commit dae7d2089516d9cf014b9fad0adb484f19282a29)
    Reviewed-on: https://gerrit.libreoffice.org/14162
    Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx b/sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx
index 3710e4c..34fd1f7 100644
--- a/sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx
+++ b/sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx
@@ -123,9 +123,10 @@ void ScPivotLayoutTreeListBase::GetFocus()
     if( GetGetFocusFlags() & GETFOCUS_MNEMONIC )
     {
         SvTreeListEntry* pEntry = mpParent->mpPreviouslyFocusedListBox->GetCurEntry();
-        InsertEntryForSourceTarget(pEntry, NULL);
+        if (pEntry)
+            InsertEntryForSourceTarget(pEntry, NULL);
 
-        if(mpParent->mpPreviouslyFocusedListBox != NULL)
+        if (mpParent->mpPreviouslyFocusedListBox != NULL)
             mpParent->mpPreviouslyFocusedListBox->GrabFocus();
     }
 
commit ff876c5ca311d3a416923c24c39e7129dd267a72
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Jan 23 16:45:51 2015 +0000

    Resolves: fdo#75565 reduce block on pasting rtf like we do for html
    
    Change-Id: I74a9748a2e4981dc5d1677f06db7eceed9e4b108
    (cherry picked from commit 0efbd9931ea854cf71c4c54ca3f3d55d6db1fa13)
    Reviewed-on: https://gerrit.libreoffice.org/14144
    Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    (cherry picked from commit a0ef7698b7df63b8befe274305051063425f8eb6)

diff --git a/sc/source/ui/app/transobj.cxx b/sc/source/ui/app/transobj.cxx
index 1d3bb94..380f494 100644
--- a/sc/source/ui/app/transobj.cxx
+++ b/sc/source/ui/app/transobj.cxx
@@ -290,8 +290,9 @@ bool ScTransferObj::GetData( const datatransfer::DataFlavor& rFlavor, const OUSt
 
             bool bIncludeFiltered = pDoc->IsCutMode() || bUsedForLink;
 
+            bool bReduceBlockFormat = nFormat == SOT_FORMATSTR_ID_HTML || nFormat == SOT_FORMAT_RTF;
             ScRange aReducedBlock = aBlock;
-            if ( nFormat == SOT_FORMATSTR_ID_HTML && (aBlock.aEnd.Col() == MAXCOL || aBlock.aEnd.Row() == MAXROW) && aBlock.aStart.Tab() == aBlock.aEnd.Tab() )
+            if (bReduceBlockFormat && (aBlock.aEnd.Col() == MAXCOL || aBlock.aEnd.Row() == MAXROW) && aBlock.aStart.Tab() == aBlock.aEnd.Tab())
             {
                 bool bShrunk = false;
                 //shrink the area to allow pasting to external applications
commit e8270bb89115ef5edf017c1230aacf23f887f7db
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Feb 2 21:04:28 2015 +0000

    Related: fdo#88455 crash using delete in available fields
    
    Change-Id: I4ac5fe6f42b425ee96124b2dde39ff397a081638
    (cherry picked from commit 1746c886362b8525b04365dd6b7203b8098b99ba)
    Reviewed-on: https://gerrit.libreoffice.org/14291
    Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/ui/dbgui/PivotLayoutTreeListData.cxx b/sc/source/ui/dbgui/PivotLayoutTreeListData.cxx
index e8f4805..33dbaa2 100644
--- a/sc/source/ui/dbgui/PivotLayoutTreeListData.cxx
+++ b/sc/source/ui/dbgui/PivotLayoutTreeListData.cxx
@@ -253,12 +253,14 @@ void ScPivotLayoutTreeListData::KeyInput(const KeyEvent& rKeyEvent)
     KeyCode aCode = rKeyEvent.GetKeyCode();
     sal_uInt16 nCode = aCode.GetCode();
 
-    switch (nCode)
+    if (nCode == KEY_DELETE)
     {
-        case KEY_DELETE:
-            GetModel()->Remove(GetCurEntry());
-            return;
+        const SvTreeListEntry* pEntry = GetCurEntry();
+        if (pEntry)
+            GetModel()->Remove(pEntry);
+        return;
     }
+
     SvTreeListBox::KeyInput(rKeyEvent);
 }
 
diff --git a/sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx b/sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx
index a094f2a..746b512 100644
--- a/sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx
+++ b/sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx
@@ -80,12 +80,14 @@ void ScPivotLayoutTreeListLabel::KeyInput(const KeyEvent& rKeyEvent)
     KeyCode aCode = rKeyEvent.GetKeyCode();
     sal_uInt16 nCode = aCode.GetCode();
 
-    switch (nCode)
+    if (nCode == KEY_DELETE)
     {
-        case KEY_DELETE:
-            GetModel()->Remove(GetCurEntry());
-            return;
+        const SvTreeListEntry* pEntry = GetCurEntry();
+        if (pEntry)
+            GetModel()->Remove(pEntry);
+        return;
     }
+
     SvTreeListBox::KeyInput(rKeyEvent);
 }
 
commit b4a2dea5856cba7539d87db9ea7073196fb6f7b1
Author: László Németh <laszlo.nemeth at collabora.com>
Date:   Tue Jan 27 10:15:05 2015 +0100

    tdf#88051 fix Graphite layout at Linux Libertine G ligature followed by tab
    
    Change-Id: Iecedb87f6329c1cddcaa4cd939b349924e58d256
    Reviewed-on: https://gerrit.libreoffice.org/14201
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/source/glyphs/graphite_layout.cxx b/vcl/source/glyphs/graphite_layout.cxx
index 5343577..d840e73 100644
--- a/vcl/source/glyphs/graphite_layout.cxx
+++ b/vcl/source/glyphs/graphite_layout.cxx
@@ -599,7 +599,7 @@ gr_segment * GraphiteLayout::CreateSegment(ImplLayoutArgs& rArgs)
         if ( !xCharClass.is() )
             xCharClass = vcl::unohelper::CreateCharacterClassification();
         size_t numchars2 = rArgs.mnEndCharPos - mnSegCharOffset; // fdo#52540, fdo#68313, fdo#70666 avoid bad ligature replacement
-        if (numchars > numchars2 && xCharClass->getType(rArgs.mpStr, numchars2 + 1) == ::com::sun::star::i18n::UnicodeType::LOWERCASE_LETTER)
+        if (numchars > numchars2 && (rArgs.mpStr[numchars2] == '\t' || xCharClass->getType(rArgs.mpStr, numchars2 + 1) == ::com::sun::star::i18n::UnicodeType::LOWERCASE_LETTER))
             numchars = numchars2;
         if (mpFeatures)
             pSegment = gr_make_seg(mpFont, mpFace, 0, mpFeatures->values(), gr_utf16,
commit 0b63b5800d5592dbf469dd831332cdd51554cfd9
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Jan 29 10:02:25 2015 +0100

    tdf#80370: Fix Mac OS X install names of external/{coinmp,lpsolve}
    
    (cherry picked from commit f694ab5198587dcacd8c40c9095e7bc9435cbff2)
    Conflicts:
    	external/lpsolve/ExternalProject_lpsolve.mk
    
    Change-Id: I240c8c940d7d3e1310c4ee33911e8c7019e67060
    Reviewed-on: https://gerrit.libreoffice.org/14288
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/external/coinmp/ExternalProject_coinmp.mk b/external/coinmp/ExternalProject_coinmp.mk
index b483d45..19286b1 100644
--- a/external/coinmp/ExternalProject_coinmp.mk
+++ b/external/coinmp/ExternalProject_coinmp.mk
@@ -29,8 +29,19 @@ $(call gb_ExternalProject_get_state_target,coinmp,build) :
 		./configure COIN_SKIP_PROJECTS="Data/Sample" \
 			$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
 			$(if $(DISABLE_DYNLOADING),--disable-shared) \
+			$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
 			--enable-dependency-linking F77=unavailable \
 		&& $(MAKE) \
+		$(if $(filter MACOSX,$(OS)),&& $(PERL) \
+			$(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
+			$(gb_Package_SOURCEDIR_coinmp)/Cbc/src/.libs/libCbc.3.8.8.dylib \
+			$(gb_Package_SOURCEDIR_coinmp)/Cbc/src/.libs/libCbcSolver.3.8.8.dylib \
+			$(gb_Package_SOURCEDIR_coinmp)/Cgl/src/.libs/libCgl.1.8.5.dylib \
+			$(gb_Package_SOURCEDIR_coinmp)/Clp/src/.libs/libClp.1.12.6.dylib \
+			$(gb_Package_SOURCEDIR_coinmp)/Clp/src/OsiClp/.libs/libOsiClp.1.12.6.dylib \
+			$(gb_Package_SOURCEDIR_coinmp)/CoinMP/src/.libs/libCoinMP.1.7.6.dylib \
+			$(gb_Package_SOURCEDIR_coinmp)/CoinUtils/src/.libs/libCoinUtils.3.9.11.dylib \
+			$(gb_Package_SOURCEDIR_coinmp)/Osi/src/Osi/.libs/libOsi.1.11.5.dylib) \
 	)
 
 endif
diff --git a/external/lpsolve/ExternalProject_lpsolve.mk b/external/lpsolve/ExternalProject_lpsolve.mk
index 9576298..dc1b482 100644
--- a/external/lpsolve/ExternalProject_lpsolve.mk
+++ b/external/lpsolve/ExternalProject_lpsolve.mk
@@ -32,6 +32,7 @@ endif # $(COM)
 else # $(OS)!=WNT
 $(call gb_ExternalProject_get_state_target,lpsolve,build):
 	$(call gb_ExternalProject_run,build,\
+		$(if $(filter MACOSX,$(OS)),EXTRA_LINKFLAGS='-install_name @__________________________________________________OOO/liblpsolve55.dylib') \
 		sh $(if $(filter MACOSX,$(OS)),ccc.osx, \
 		$(if $(filter TRUE,$(DISABLE_DYNLOADING)),ccc.static, \
 		$(if $(filter AIXGCC,$(OS)$(COM)),ccc.aix.gcc, \
commit 4c63a2fe915063857f00062bd86d059035a9a156
Author: Jean-Pierre Ledure <jp at ledure.be>
Date:   Sun Feb 1 15:19:08 2015 +0100

    Access2Base - Patch#2 Bug in Control.RemoveItem
    
    Removing last item of a Listbox produces an "Index out of range" run-time error
    Bug reported in user forum https://forum.openoffice.org/en/forum/viewtopic.php?f=47&t=75008
    
    Change-Id: I713e7b6c29286c3774652a9a06c9392fdbe858fd
    Reviewed-on: https://gerrit.libreoffice.org/14271
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Lionel Elie Mamane <lionel at mamane.lu>

diff --git a/wizards/source/access2base/Control.xba b/wizards/source/access2base/Control.xba
index 7e15a1d..0575732 100644
--- a/wizards/source/access2base/Control.xba
+++ b/wizards/source/access2base/Control.xba
@@ -682,21 +682,24 @@ Dim vRowSource() As Variant, iCount As Integer, i As Integer, j As integer, bFou
 					For j = i To iCount - 1
 						vRowSource(j) = vRowSource(j + 1)
 					Next j
-					ReDim Preserve vRowSource(0 To iCount - 1)
 					bFound = True
 					Exit For	'	Remove only 1st occurrence of string
 				End If
 			Next i
 		Case Else
 			If pvIndex < 0 Or pvIndex > iCount Then Goto Error_Index
-			bFound = True
 			For i = pvIndex To iCount - 1
 				vRowSource(i) = vRowSource(i + 1)
 			Next i
-			ReDim Preserve vRowSource(0 To iCount - 1)
+			bFound = True
 		End Select
 			
 	If bFound Then
+		If iCount > 0 Then			'	https://forum.openoffice.org/en/forum/viewtopic.php?f=47&t=75008
+			ReDim Preserve vRowSource(0 To iCount - 1)
+		Else
+			vRowSource = Array()
+		End If
 		If _ParentType <> CTLPARENTISDIALOG Then
 			ControlModel.ListSource = vRowSource()
 		End If
commit 9d2e221e9281ce52c20469baec15bff8c674c282
Author: Michael Stahl <mstahl at redhat.com>
Date:   Mon Feb 2 16:53:45 2015 +0100

    tdf#88899: sw: fix expanding of SwDocInfoField with DateTime
    
    The lcl_TimeToDouble function produced very small numbers that round to
    zero.
    (regression from 9830fd36dbdb72c79703b0c61efc027fba793c5a)
    
    Change-Id: I091da9c2a913fae0c2bbf229942db3c1bd3598f4
    Reviewed-on: https://gerrit.libreoffice.org/14282
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Lionel Elie Mamane <lionel at mamane.lu>

diff --git a/sw/source/core/fields/docufld.cxx b/sw/source/core/fields/docufld.cxx
index 2ba6e71..5c2c6b4 100644
--- a/sw/source/core/fields/docufld.cxx
+++ b/sw/source/core/fields/docufld.cxx
@@ -1046,7 +1046,11 @@ template<class T>
 static double lcl_TimeToDouble( const T& rTime )
 {
     const double fNanoSecondsPerDay = 86400000000000.0;
-    return ((rTime.Hours*3600000)+(rTime.Minutes*60000)+(rTime.Seconds*1000)+(rTime.NanoSeconds)) / fNanoSecondsPerDay;
+    return (  (rTime.Hours   * SAL_CONST_INT64(3600000000000))
+            + (rTime.Minutes * SAL_CONST_INT64(  60000000000))
+            + (rTime.Seconds * SAL_CONST_INT64(   1000000000))
+            + (rTime.NanoSeconds))
+        / fNanoSecondsPerDay;
 }
 
 template<class D>
commit df2763e7797a836748595cbd9bd75acc0c9ed2d3
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Sat Jan 31 17:01:15 2015 +0100

    tdf#88814 parameters are kinda-partially supported, so follow the suggestion
    
    Change-Id: I1a39378d521f128e6b8f35a0bce781435f94e5a8

diff --git a/connectivity/source/drivers/macab/MacabStatement.cxx b/connectivity/source/drivers/macab/MacabStatement.cxx
index 87b2799..c5a0c3e 100644
--- a/connectivity/source/drivers/macab/MacabStatement.cxx
+++ b/connectivity/source/drivers/macab/MacabStatement.cxx
@@ -85,7 +85,6 @@ void MacabCommonStatement::disposing()
 
 void MacabCommonStatement::resetParameters() const throw(::com::sun::star::sdbc::SQLException)
 {
-    impl_throwError(STR_PARA_ONLY_PREPARED);
 }
 
 void MacabCommonStatement::getNextParameter(OUString &) const throw(::com::sun::star::sdbc::SQLException)
@@ -327,9 +326,7 @@ void MacabCommonStatement::selectRecords(MacabResultSet *pResult) const throw(SQ
     {
         if (SQL_ISRULE(pParseNode, where_clause))
         {
-            // Since we don't support parameters, don't reset them. If we ever
-            // support them, uncomment this line and fix resetParameters.
-            //resetParameters();
+            resetParameters();
             pParseNode = pParseNode->getChild(1);
             MacabCondition *pCondition = analyseWhereClause(pParseNode);
             if (pCondition->isAlwaysTrue())
commit 477ffef44215bf662157b0c18af2a7adad9e0377
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Jan 27 00:20:58 2015 +0100

    rhbz#1177022: vcl: fix PDF embedding of Type 1 fonts
    
    Problem is that for the "CM Typewriter" font the Width for "space" (32)
    is exported as 0 instead of 525, which is the correct value in the AFM.
    
    The reason is that PDFWriterImpl::emitEmbeddedFont() has various arrays
    to map from font code points to Unicode code points, and there are
    duplicate mappings, so the 160->32 mapping overrides 32->32.
    
    The PrintFontManager::PrintFont::readAfmMetrics() actually creates a
    Unicode to font code mapping (which may legitimately be n:1) that is
    then inverted; add an additional hack to store a set of "preferred"
    Unicodes so that PDFWriterImpl can pick the right Unicode.
    
    Presumably the code that is stored explicitly via "C" or "CH" in the
    AFM should take priority over more generic mappings.
    
    (cherry picked from commit 5183910a90e97cafc3cfaaad40acdaec0b792f6d)
    
    Conflicts:
    	vcl/inc/cairotextrender.hxx
    	vcl/inc/salgdi.hxx
    	vcl/inc/textrender.hxx
    	vcl/inc/unx/salgdi.h
    	vcl/source/gdi/pdfwriter_impl.cxx
    	vcl/unx/generic/gdi/cairotextrender.cxx
    	vcl/unx/generic/gdi/salgdi3.cxx
    
    Change-Id: Id4205a1cd45ba6a0a5facee1e39f70c3535e7dd4
    Reviewed-on: https://gerrit.libreoffice.org/14207
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/generic/fontmanager/fontmanager.cxx b/vcl/generic/fontmanager/fontmanager.cxx
index 0677625..2bef8ad 100644
--- a/vcl/generic/fontmanager/fontmanager.cxx
+++ b/vcl/generic/fontmanager/fontmanager.cxx
@@ -290,6 +290,7 @@ bool PrintFontManager::PrintFont::readAfmMetrics( MultiAtomProvider* pProvider,
     }
 
     m_aEncodingVector.clear();
+    m_aEncodingVectorPriority.clear();
     // fill in global info
 
     // PSName
@@ -503,7 +504,10 @@ bool PrintFontManager::PrintFont::readAfmMetrics( MultiAtomProvider* pProvider,
                 {
                     pUnicodes[i] = pChar->code + 0xf000;
                     if( bFillEncodingvector )
+                    {
                         m_aEncodingVector[ pUnicodes[i] ] = pChar->code;
+                        m_aEncodingVectorPriority.insert(pUnicodes[i]);
+                    }
                     continue;
                 }
 
@@ -564,7 +568,10 @@ bool PrintFontManager::PrintFont::readAfmMetrics( MultiAtomProvider* pProvider,
                 {
                     m_pMetrics->m_aMetrics[ pUnicodes[i] ] = aMetric;
                     if( bFillEncodingvector )
+                    {
                         m_aEncodingVector[ pUnicodes[i] ] = pChar->code;
+                        m_aEncodingVectorPriority.insert(pUnicodes[i]);
+                    }
                 }
                 else if( pChar->name )
                 {
@@ -592,13 +599,21 @@ bool PrintFontManager::PrintFont::readAfmMetrics( MultiAtomProvider* pProvider,
                     ::std::pair< ::boost::unordered_multimap< sal_uInt8, sal_Unicode >::const_iterator,
                           ::boost::unordered_multimap< sal_uInt8, sal_Unicode >::const_iterator >
                           aCodes = rManager.getUnicodeFromAdobeCode( pChar->code );
+                    bool bFirst = true;
                     while( aCodes.first != aCodes.second )
                     {
                         if( (*aCodes.first).second != 0 )
                         {
                             m_pMetrics->m_aMetrics[ (*aCodes.first).second ] = aMetric;
                             if( bFillEncodingvector )
+                            {
                                 m_aEncodingVector[ (*aCodes.first).second ] = pChar->code;
+                                if (bFirst) // arbitrarily prefer the first one
+                                {
+                                    m_aEncodingVectorPriority.insert((*aCodes.first).second);
+                                    bFirst = false;
+                                }
+                            }
                         }
                         ++aCodes.first;
                     }
@@ -612,7 +627,10 @@ bool PrintFontManager::PrintFont::readAfmMetrics( MultiAtomProvider* pProvider,
                     m_pMetrics->m_aMetrics[ code ] = aMetric;
                     // maybe should try to find the name in the convtabs ?
                     if( bFillEncodingvector )
+                    {
                         m_aEncodingVector[ code ] = pChar->code;
+                        m_aEncodingVectorPriority.insert(code);
+                    }
                 }
             }
         }
@@ -2132,7 +2150,7 @@ void PrintFontManager::getGlyphWidths( fontID nFont,
     }
 }
 
-const std::map< sal_Unicode, sal_Int32 >* PrintFontManager::getEncodingMap( fontID nFont, const std::map< sal_Unicode, OString >** pNonEncoded ) const
+const std::map< sal_Unicode, sal_Int32 >* PrintFontManager::getEncodingMap( fontID nFont, const std::map< sal_Unicode, OString >** pNonEncoded, std::set<sal_Unicode> const** ppPriority ) const
 {
     PrintFont* pFont = getFont( nFont );
     if( !pFont || pFont->m_eType != fonttype::Type1 )
@@ -2144,6 +2162,11 @@ const std::map< sal_Unicode, sal_Int32 >* PrintFontManager::getEncodingMap( font
     if( pNonEncoded )
         *pNonEncoded = pFont->m_aNonEncoded.size() ? &pFont->m_aNonEncoded : NULL;
 
+    if (ppPriority)
+    {
+        *ppPriority = &pFont->m_aEncodingVectorPriority;
+    }
+
     return pFont->m_aEncodingVector.size() ? &pFont->m_aEncodingVector : NULL;
 }
 
diff --git a/vcl/generic/print/genpspgraphics.cxx b/vcl/generic/print/genpspgraphics.cxx
index 1678852..b89efd6 100644
--- a/vcl/generic/print/genpspgraphics.cxx
+++ b/vcl/generic/print/genpspgraphics.cxx
@@ -1008,7 +1008,7 @@ bool GenPspGraphics::CreateFontSubset(
     return bSuccess;
 }
 
-const Ucs2SIntMap* GenPspGraphics::GetFontEncodingVector( const PhysicalFontFace* pFont, const Ucs2OStrMap** pNonEncoded )
+const Ucs2SIntMap* GenPspGraphics::GetFontEncodingVector( const PhysicalFontFace* pFont, const Ucs2OStrMap** pNonEncoded, std::set<sal_Unicode> const** ppPriority)
 {
     // in this context the pFont->GetFontId() is a valid PSP
     // font since they are the only ones left after the PDF
@@ -1016,7 +1016,7 @@ const Ucs2SIntMap* GenPspGraphics::GetFontEncodingVector( const PhysicalFontFace
     // which this method was created). The correct way would
     // be to have the GlyphCache search for the PhysicalFontFace pFont
     psp::fontID aFont = pFont->GetFontId();
-    return GenPspGraphics::DoGetFontEncodingVector( aFont, pNonEncoded );
+    return GenPspGraphics::DoGetFontEncodingVector( aFont, pNonEncoded, ppPriority );
 }
 
 void GenPspGraphics::GetGlyphWidths( const PhysicalFontFace* pFont,
@@ -1033,7 +1033,7 @@ void GenPspGraphics::GetGlyphWidths( const PhysicalFontFace* pFont,
     GenPspGraphics::DoGetGlyphWidths( aFont, bVertical, rWidths, rUnicodeEnc );
 }
 
-const Ucs2SIntMap* GenPspGraphics::DoGetFontEncodingVector( fontID aFont, const Ucs2OStrMap** pNonEncoded )
+const Ucs2SIntMap* GenPspGraphics::DoGetFontEncodingVector( fontID aFont, const Ucs2OStrMap** pNonEncoded, std::set<sal_Unicode> const** ppPriority)
 {
     psp::PrintFontManager& rMgr = psp::PrintFontManager::get();
 
@@ -1045,7 +1045,7 @@ const Ucs2SIntMap* GenPspGraphics::DoGetFontEncodingVector( fontID aFont, const
         return NULL;
     }
 
-    return rMgr.getEncodingMap( aFont, pNonEncoded );
+    return rMgr.getEncodingMap( aFont, pNonEncoded, ppPriority );
 }
 
 void GenPspGraphics::DoGetGlyphWidths( psp::fontID aFont,
diff --git a/vcl/headless/svptext.cxx b/vcl/headless/svptext.cxx
index 49b1464..40f86d4 100644
--- a/vcl/headless/svptext.cxx
+++ b/vcl/headless/svptext.cxx
@@ -321,7 +321,7 @@ bool SvpSalGraphics::CreateFontSubset(
     return bSuccess;
 }
 
-const Ucs2SIntMap* SvpSalGraphics::GetFontEncodingVector( const PhysicalFontFace* pFont, const Ucs2OStrMap** pNonEncoded )
+const Ucs2SIntMap* SvpSalGraphics::GetFontEncodingVector( const PhysicalFontFace* pFont, const Ucs2OStrMap** pNonEncoded, std::set<sal_Unicode> const** ppPriority)
 {
     // in this context the pFont->GetFontId() is a valid PSP
     // font since they are the only ones left after the PDF
@@ -329,7 +329,7 @@ const Ucs2SIntMap* SvpSalGraphics::GetFontEncodingVector( const PhysicalFontFace
     // which this method was created). The correct way would
     // be to have the GlyphCache search for the PhysicalFontFace pFont
     psp::fontID aFont = pFont->GetFontId();
-    return GenPspGraphics::DoGetFontEncodingVector( aFont, pNonEncoded );
+    return GenPspGraphics::DoGetFontEncodingVector(aFont, pNonEncoded, ppPriority);
 }
 
 const void* SvpSalGraphics::GetEmbedFontData(
diff --git a/vcl/inc/fontmanager.hxx b/vcl/inc/fontmanager.hxx
index e1203bd..0091849 100644
--- a/vcl/inc/fontmanager.hxx
+++ b/vcl/inc/fontmanager.hxx
@@ -202,7 +202,12 @@ class VCL_PLUGIN_PUBLIC PrintFontManager
         bool                                        m_bHaveVerticalSubstitutedGlyphs;
         bool                                        m_bUserOverride;
 
+        /// mapping from unicode (well, UCS-2) to font code
         std::map< sal_Unicode, sal_Int32 >          m_aEncodingVector;
+        /// HACK for Type 1 fonts: if multiple UCS-2 codes map to the same
+        /// font code, this set contains the preferred one, i.e., the one that
+        /// is specified explicitly via "C" or "CH" in the AFM file
+        std::set<sal_Unicode>                  m_aEncodingVectorPriority;
         std::map< sal_Unicode, OString >       m_aNonEncoded;
 
         explicit PrintFont( fonttype::type eType );
@@ -438,7 +443,7 @@ public:
     // if ppNonEncoded is set and non encoded type1 glyphs exist
     // then *ppNonEncoded is set to the mapping for nonencoded glyphs.
     // the encoding vector contains -1 for non encoded glyphs
-    const std::map< sal_Unicode, sal_Int32 >* getEncodingMap( fontID nFontID, const std::map< sal_Unicode, OString >** ppNonEncoded ) const;
+    const std::map< sal_Unicode, sal_Int32 >* getEncodingMap( fontID nFontID, const std::map< sal_Unicode, OString >** ppNonEncoded, std::set<sal_Unicode> const ** ppPriority ) const;
 
     // evaluates copyright flags for TrueType fonts for printing/viewing
     // type1 fonts do not have such a feature, so return for them is true
diff --git a/vcl/inc/generic/genpspgraphics.h b/vcl/inc/generic/genpspgraphics.h
index 9cc4766..0f64be9 100644
--- a/vcl/inc/generic/genpspgraphics.h
+++ b/vcl/inc/generic/genpspgraphics.h
@@ -60,7 +60,8 @@ public:
 
     // helper methods for sharing with X11SalGraphics
     static const Ucs2SIntMap* DoGetFontEncodingVector( psp::fontID aFont,
-                                                       const Ucs2OStrMap** pNonEncoded );
+                                                       const Ucs2OStrMap** pNonEncoded,
+                                                       std::set<sal_Unicode> const** ppPriority);
     static void             DoGetGlyphWidths( psp::fontID aFont,
                                               bool bVertical,
                                               Int32Vector& rWidths,
@@ -106,7 +107,8 @@ public:
                                               int nGlyphs,
                                               FontSubsetInfo& rInfo ) SAL_OVERRIDE;
     virtual const Ucs2SIntMap* GetFontEncodingVector( const PhysicalFontFace*,
-                                                      const Ucs2OStrMap** ppNonEncoded ) SAL_OVERRIDE;
+                                                      const Ucs2OStrMap** ppNonEncoded,
+                                                      std::set<sal_Unicode> const** ppPriority) SAL_OVERRIDE;
     virtual const void*     GetEmbedFontData( const PhysicalFontFace*,
                                               const sal_Ucs* pUnicodes,
                                               sal_Int32* pWidths,
diff --git a/vcl/inc/headless/svpgdi.hxx b/vcl/inc/headless/svpgdi.hxx
index 800ab1a..898e7ff 100644
--- a/vcl/inc/headless/svpgdi.hxx
+++ b/vcl/inc/headless/svpgdi.hxx
@@ -169,7 +169,7 @@ public:
                                               int nGlyphs,
                                               FontSubsetInfo& rInfo
                                               ) SAL_OVERRIDE;
-    virtual const Ucs2SIntMap* GetFontEncodingVector( const PhysicalFontFace*, const Ucs2OStrMap** ppNonEncoded ) SAL_OVERRIDE;
+    virtual const Ucs2SIntMap* GetFontEncodingVector( const PhysicalFontFace*, const Ucs2OStrMap** ppNonEncoded, std::set<sal_Unicode> const** ) SAL_OVERRIDE;
     virtual const void*     GetEmbedFontData( const PhysicalFontFace*,
                                               const sal_Ucs* pUnicodes,
                                               sal_Int32* pWidths,
diff --git a/vcl/inc/quartz/salgdi.h b/vcl/inc/quartz/salgdi.h
index 57dec5b..d73964b 100644
--- a/vcl/inc/quartz/salgdi.h
+++ b/vcl/inc/quartz/salgdi.h
@@ -366,7 +366,7 @@ public:
     // glyphs with only a name) exist it is set to the corresponding
     // map for non encoded glyphs; the encoding vector contains -1
     // as encoding for these cases
-    virtual const Ucs2SIntMap* GetFontEncodingVector( const PhysicalFontFace*, const Ucs2OStrMap** ppNonEncoded ) SAL_OVERRIDE;
+    virtual const Ucs2SIntMap* GetFontEncodingVector( const PhysicalFontFace*, const Ucs2OStrMap** ppNonEncoded, std::set<sal_Unicode> const** ) SAL_OVERRIDE;
 
     // GetEmbedFontData: gets the font data for a font marked
     // embeddable by GetDevFontList or NULL in case of error
diff --git a/vcl/inc/salgdi.hxx b/vcl/inc/salgdi.hxx
index 8ef2638..f0da7f6 100644
--- a/vcl/inc/salgdi.hxx
+++ b/vcl/inc/salgdi.hxx
@@ -30,6 +30,7 @@
 #include "sallayout.hxx"
 
 #include <map>
+#include <set>
 
 class PhysicalFontCollection;
 class SalBitmap;
@@ -273,7 +274,7 @@ public:
     // map for non encoded glyphs; the encoding vector contains -1
     // as encoding for these cases
     virtual const Ucs2SIntMap*
-                            GetFontEncodingVector( const PhysicalFontFace*, const Ucs2OStrMap** ppNonEncoded ) = 0;
+                            GetFontEncodingVector( const PhysicalFontFace*, const Ucs2OStrMap** ppNonEncoded, std::set<sal_Unicode> const** ppPriority) = 0;
 
     // GetEmbedFontData: gets the font data for a font marked
     // embeddable by GetDevFontList or NULL in case of error
diff --git a/vcl/inc/unx/salgdi.h b/vcl/inc/unx/salgdi.h
index 7c799f4..1518a43 100644
--- a/vcl/inc/unx/salgdi.h
+++ b/vcl/inc/unx/salgdi.h
@@ -242,7 +242,7 @@ public:
                                               int nGlyphs,
                                               FontSubsetInfo& rInfo
                                               ) SAL_OVERRIDE;
-    virtual const Ucs2SIntMap* GetFontEncodingVector( const PhysicalFontFace*, const Ucs2OStrMap** ppNonEncoded ) SAL_OVERRIDE;
+    virtual const Ucs2SIntMap* GetFontEncodingVector( const PhysicalFontFace*, const Ucs2OStrMap** ppNonEncoded, std::set<sal_Unicode> const**) SAL_OVERRIDE;
     virtual const void* GetEmbedFontData( const PhysicalFontFace*,
                                           const sal_Ucs* pUnicodes,
                                           sal_Int32* pWidths,
diff --git a/vcl/inc/win/salgdi.h b/vcl/inc/win/salgdi.h
index dac4d6e..82d79a6 100644
--- a/vcl/inc/win/salgdi.h
+++ b/vcl/inc/win/salgdi.h
@@ -346,7 +346,7 @@ public:
     // glyphs with only a name) exist it is set to the corresponding
     // map for non encoded glyphs; the encoding vector contains -1
     // as encoding for these cases
-    virtual const Ucs2SIntMap* GetFontEncodingVector( const PhysicalFontFace*, const Ucs2OStrMap** ppNonEncoded );
+    virtual const Ucs2SIntMap* GetFontEncodingVector( const PhysicalFontFace*, const Ucs2OStrMap** ppNonEncoded, std::set<sal_Unicode> const** );
 
     // GetEmbedFontData: gets the font data for a font marked
     // embeddable by GetDevFontList or NULL in case of error
diff --git a/vcl/quartz/salgdi.cxx b/vcl/quartz/salgdi.cxx
index 4a346df..287401e 100644
--- a/vcl/quartz/salgdi.cxx
+++ b/vcl/quartz/salgdi.cxx
@@ -757,7 +757,7 @@ void AquaSalGraphics::GetGlyphWidths( const PhysicalFontFace* pFontData, bool bV
 }
 
 const Ucs2SIntMap* AquaSalGraphics::GetFontEncodingVector(
-    const PhysicalFontFace*, const Ucs2OStrMap** /*ppNonEncoded*/ )
+    const PhysicalFontFace*, const Ucs2OStrMap** /*ppNonEncoded*/, std::set<sal_Unicode> const** )
 {
     return NULL;
 }
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index 888dd1c..4d21f4c 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -3074,7 +3074,9 @@ std::map< sal_Int32, sal_Int32 > PDFWriterImpl::emitEmbeddedFont( const Physical
     sal_Int32 nFontDescriptor = 0;
 
     // prepare font encoding
-    const Ucs2SIntMap* pEncoding = m_pReferenceDevice->mpGraphics->GetFontEncodingVector( pFont, NULL );
+    std::set<sal_Unicode> const * pPriority(0);
+    const Ucs2SIntMap *const pEncoding =
+        m_pReferenceDevice->mpGraphics->GetFontEncodingVector( pFont, NULL, &pPriority );
     sal_Int32 nToUnicodeStream = 0;
     sal_uInt8 nEncoding[256];
     sal_Ucs nEncodedCodes[256];
@@ -3101,8 +3103,31 @@ std::map< sal_Int32, sal_Int32 > PDFWriterImpl::emitEmbeddedFont( const Physical
             //Instead perhaps we could try and get the GetFontCharMap and loop
             //over sal_UCS4 GetCharFromIndex( int nCharIndex ) const from 0 to 255
             //to build it up
-            if (nEncodedCodes[nCode] != 0)
-                continue;
+            if (nEncoding[nCode] != 0)
+            {
+                // should not have 2 identical mappings
+                assert(nEncodedCodes[nCode] != it->first);
+                if (pPriority)
+                {
+                    bool bExist = pPriority->find(nEncodedCodes[nCode]) != pPriority->end();
+                    bool bIter  = pPriority->find(it->first) != pPriority->end();
+                    SAL_WARN_IF(bExist && bIter, "vcl.gdi", "both are preferred? odd...");
+                    if (bExist)
+                    {
+                        continue;
+                    }
+                    // note: aUnicodes will contain the old one but that
+                    // does not matter because there's nothing iterating it
+                }
+                else
+                {
+                    // is this fallback important? let's prefer lower one.
+                    // actually the map is sorted so just rely on that
+                    assert(nEncodedCodes[nCode] < it->first);
+                    SAL_WARN("vcl.gdi", "emitEmbeddedFont: ignoring code " << nCode << " mapping to " << it->first << " in favor of " << nEncodedCodes[nCode]);
+                    continue;
+                }
+            }
             nEncodedCodes[ nCode ] = it->first;
             nEncoding[ nCode ] = static_cast<sal_uInt8>( nCode );
             pEncToUnicodeIndex[ nCode ] = static_cast<sal_Int32>(aUnicodes.size());
@@ -7226,7 +7251,7 @@ void PDFWriterImpl::registerGlyphs( int nGlyphs,
             const Ucs2SIntMap* pEncoding = NULL;
             const Ucs2OStrMap* pNonEncoded = NULL;
             getReferenceDevice()->AcquireGraphics();
-            pEncoding = m_pReferenceDevice->mpGraphics->GetFontEncodingVector( pCurrentFont, &pNonEncoded );
+            pEncoding = m_pReferenceDevice->mpGraphics->GetFontEncodingVector( pCurrentFont, &pNonEncoded, 0 );
 
             Ucs2SIntMap::const_iterator enc_it;
             Ucs2OStrMap::const_iterator nonenc_it;
diff --git a/vcl/unx/generic/gdi/salgdi3.cxx b/vcl/unx/generic/gdi/salgdi3.cxx
index 841aeef..6f0544b 100644
--- a/vcl/unx/generic/gdi/salgdi3.cxx
+++ b/vcl/unx/generic/gdi/salgdi3.cxx
@@ -721,7 +721,7 @@ void X11SalGraphics::FreeEmbedFontData( const void* pData, long nLen )
     GenPspGraphics::DoFreeEmbedFontData( pData, nLen );
 }
 
-const Ucs2SIntMap* X11SalGraphics::GetFontEncodingVector( const PhysicalFontFace* pFont, const Ucs2OStrMap** pNonEncoded )
+const Ucs2SIntMap* X11SalGraphics::GetFontEncodingVector( const PhysicalFontFace* pFont, const Ucs2OStrMap** pNonEncoded, std::set<sal_Unicode> const** ppPriority)
 {
     // in this context the pFont->GetFontId() is a valid PSP
     // font since they are the only ones left after the PDF
@@ -729,7 +729,7 @@ const Ucs2SIntMap* X11SalGraphics::GetFontEncodingVector( const PhysicalFontFace
     // which this method was created). The correct way would
     // be to have the GlyphCache search for the PhysicalFontFace pFont
     psp::fontID aFont = pFont->GetFontId();
-    return GenPspGraphics::DoGetFontEncodingVector( aFont, pNonEncoded );
+    return GenPspGraphics::DoGetFontEncodingVector( aFont, pNonEncoded, ppPriority );
 }
 
 void X11SalGraphics::GetGlyphWidths( const PhysicalFontFace* pFont,
diff --git a/vcl/win/source/gdi/salgdi3.cxx b/vcl/win/source/gdi/salgdi3.cxx
index d2e13a9..2c5aaf7 100644
--- a/vcl/win/source/gdi/salgdi3.cxx
+++ b/vcl/win/source/gdi/salgdi3.cxx
@@ -2654,7 +2654,7 @@ void WinSalGraphics::FreeEmbedFontData( const void* pData, long /*nLen*/ )
     delete[] reinterpret_cast<char*>(const_cast<void*>(pData));
 }
 
-const Ucs2SIntMap* WinSalGraphics::GetFontEncodingVector( const PhysicalFontFace* pFont, const Ucs2OStrMap** pNonEncoded )
+const Ucs2SIntMap* WinSalGraphics::GetFontEncodingVector( const PhysicalFontFace* pFont, const Ucs2OStrMap** pNonEncoded, std::set<sal_Unicode> const**)
 {
     // TODO: even for builtin fonts we get here... why?
     if( !pFont->IsEmbeddable() )
commit 321a758cd44713bcb1370a0fb3c4caa84a33263e
Author: Andras Timar <andras.timar at collabora.com>
Date:   Tue Jan 27 22:36:27 2015 +0100

    tdf#87803 bin useless $buildidstring
    
    Change-Id: Ie5f3651ec8386cdb59ebbd63c12670fd8668499a
    (cherry picked from commit 94716a4d071418ac4cef42ce85da1c42a0df6347)
    Reviewed-on: https://gerrit.libreoffice.org/14221
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/solenv/bin/modules/installer/windows/property.pm b/solenv/bin/modules/installer/windows/property.pm
index 0742ebd..d09d315 100644
--- a/solenv/bin/modules/installer/windows/property.pm
+++ b/solenv/bin/modules/installer/windows/property.pm
@@ -53,13 +53,6 @@ sub get_arpcomments_for_property_table
 
     $comment = $comment . " ($languagestring)";
 
-    my $localminor = "";
-    $localminor = $installer::globals::minor;
-
-    my $buildidstring = "(" . $installer::globals::build . $localminor . "(Build:" . $installer::globals::buildid . "))";
-
-    $comment = $comment . " " . $buildidstring;
-
     return $comment;
 }
 
commit 11cab73f1d70be0821477030a6b63c416cc2a64c
Author: Michael Stahl <mstahl at redhat.com>
Date:   Wed Jan 28 17:13:15 2015 +0100

    gdb pretty printers: fix the sw::mark::IMark and SwModify printers
    
    If these are called on a value that is of a different type than what is
    checked in the children() method, nothing is printed except exceptions
    about non-existent _iterator.
    
    GDB can figure out the dynamic type itself and call the pretty printer
    only if it's actually a UnoMark so don't register it for IMark.
    
    Same thing for SwUnoCrsr, there is already a class for it.
    
    Change-Id: I00238f1e3f01741d607eec9d47671302b858b965
    (cherry picked from commit 218bd97b83238496a4d2b36d0a1edaca519cdde5)
    Reviewed-on: https://gerrit.libreoffice.org/14239
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/solenv/gdb/libreoffice/sw.py b/solenv/gdb/libreoffice/sw.py
index 97cba13..71445d5 100644
--- a/solenv/gdb/libreoffice/sw.py
+++ b/solenv/gdb/libreoffice/sw.py
@@ -89,8 +89,8 @@ class SwRectPrinter(object):
         children = [ ( 'point', point), ( 'size', size ) ]
         return children.__iter__()
 
-class SwIMarkPrinter(object):
-    '''Prints sw::mark::IMark.'''
+class SwUnoMarkPrinter(object):
+    '''Prints sw::mark::UnoMark.'''
 
     def __init__(self, typename, value):
         self.typename = typename
@@ -100,31 +100,11 @@ class SwIMarkPrinter(object):
         return "%s" % (self.typename)
 
     def children(self):
-        if str(self.value.dynamic_type) == "sw::mark::UnoMark":
-            unoMark = self.value.cast(self.value.dynamic_type)
-            pos1 = unoMark['m_pPos1']
-            pos2 = unoMark['m_pPos2']
-            children = [ ( 'pos1', pos1), ( 'pos2', pos2 ) ]
-            return children.__iter__()
-        else:
-            return self._iterator(self.value)
-
-class SwModifyPrinter(object):
-    '''Prints SwModify.'''
-
-    def __init__(self, typename, value):
-        self.typename = typename
-        self.value = value
-
-    def to_string(self):
-        return "%s" % (self.typename)
-
-    def children(self):
-        if str(self.value.dynamic_type) == "SwUnoCrsr":
-            unoCrsr = self.value.cast(self.value.dynamic_type)
-            return SwUnoCrsrPrinter(self.typename, unoCrsr).children()
-        else:
-            return self._iterator(self.value)
+        unoMark = self.value.cast(self.value.dynamic_type)
+        pos1 = unoMark['m_pPos1']
+        pos2 = unoMark['m_pPos2']
+        children = [ ( 'pos1', pos1), ( 'pos2', pos2 ) ]
+        return children.__iter__()
 
 class SwXTextRangeImplPrinter(object):
     '''Prints SwXTextRange::Impl.'''
@@ -313,11 +293,10 @@ def build_pretty_printers():
     printer.add('SwPaM', SwPaMPrinter)
     printer.add('SwUnoCrsr', SwUnoCrsrPrinter)
     printer.add('SwRect', SwRectPrinter)
-    printer.add('sw::mark::IMark', SwIMarkPrinter)
+    printer.add('sw::mark::UnoMark', SwUnoMarkPrinter)
     printer.add('SwXTextRange::Impl', SwXTextRangeImplPrinter)
     printer.add('sw::UnoImplPtr', SwUnoImplPtrPrinter)
     printer.add('SwXTextRange', SwXTextRangePrinter)
-    printer.add('SwModify', SwModifyPrinter)
     printer.add('SwXTextCursor::Impl', SwXTextCursorImplPrinter)
     printer.add('SwXTextCursor', SwXTextCursorPrinter)
 
commit cdf040bbf2cee33d56b9ec90a6a33bb389d8cf6d
Author: Eike Rathke <erack at redhat.com>
Date:   Thu Jan 29 22:57:13 2015 +0100

    Resolves: tdf#88740 parse with locale decimal separator
    
    And use a proper string to double conversion and early bail out
    conditions.
    
    (cherry picked from commit 1884c0bbd40f0ded41d7a1656cb64fb1f6368c36)
    
    tdf#88740 fix sidebar angle rotation i18n
    
    (cherry picked from commit 9a7bf47098fe69b5c6069372708918ef94a9d597)
    
    use a less ugly string to double conversion, tdf#88740 follow-up
    
    And check string length before accessing characters..
    
    (cherry picked from commit 3ba5ac834780fc2565aff99e42dd8c3b2202fba3)
    
    30355f3aaf77b1952e21050e3593e575571d7aaa
    ac3c2bf2f67f0cc7fc106515a875512771676e01
    f97a25cd2cab0dccf2154465da7c1235ef3ca8c6
    Backport: added vcl/settings.hxx
    
    Change-Id: I6c89dd850405ad74ebd175800131cdcac19a8c86
    Reviewed-on: https://gerrit.libreoffice.org/14245
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx b/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx
index bdc61d7d7..9326d6e 100644
--- a/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx
+++ b/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx
@@ -26,6 +26,8 @@
 #include <svx/algitem.hxx>
 #include <svx/dlgutil.hxx>
 #include <vcl/toolbox.hxx>
+#include <vcl/settings.hxx>
+#include <vcl/svapp.hxx>
 #include <svx/sidebar/SidebarDialControl.hxx>
 
 using namespace css;
@@ -113,16 +115,35 @@ void AlignmentPropertyPanel::Initialize()
 IMPL_LINK( AlignmentPropertyPanel, AngleModifiedHdl, void *, EMPTYARG )
 {
     OUString sTmp = mpMtrAngle->GetText();
+    if (sTmp.isEmpty())
+        return 0;
+    sal_Unicode nChar = sTmp[0];
+    if( nChar == '-' )
+    {
+        if (sTmp.getLength() < 2)
+            return 0;
+        nChar = sTmp[1];
+    }
+
+    if( (nChar < '0') || (nChar > '9') )
+        return 0;
 
-    sal_Unicode nChar = sTmp.isEmpty() ? 0 : sTmp[0];
-    if((sTmp.getLength()== 1 &&  nChar == '-') ||
-        (nChar != '-' && ((nChar < '0') || (nChar > '9') ) ))   ////modify
+    const LocaleDataWrapper& rLocaleWrapper( Application::GetSettings().GetLocaleDataWrapper() );
+    const sal_Unicode cSep = rLocaleWrapper.getNumDecimalSep()[0];
+
+    // Do not check that the entire string was parsed up to its end, there may
+    // be a degree symbol following the number. Note that this also means that
+    // the number recognized just stops at any non-matching character.
+    /* TODO: we could check for the degree symbol stop if there are no other
+     * cases with different symbol characters in any language? */
+    rtl_math_ConversionStatus eStatus;
+    double fTmp = rtl::math::stringToDouble( sTmp, cSep, 0, &eStatus);
+    if (eStatus != rtl_math_ConversionStatus_Ok)
         return 0;
 
-    double dTmp = sTmp.toDouble();
-    FormatDegrees(dTmp);
+    FormatDegrees(fTmp);
 
-    sal_Int64 nTmp = (sal_Int64)dTmp*100;
+    sal_Int64 nTmp = (sal_Int64)fTmp*100;
     SfxInt32Item aAngleItem( SID_ATTR_ALIGN_DEGREES,(sal_uInt32) nTmp);
 
     GetBindings()->GetDispatcher()->Execute(
diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
index b7573a1f..d0369df 100644
--- a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
+++ b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
@@ -492,12 +492,13 @@ IMPL_LINK( PosSizePropertyPanel, ClickAutoHdl, void *, EMPTYARG )
 IMPL_LINK( PosSizePropertyPanel, AngleModifiedHdl, void *, EMPTYARG )
 {
     OUString sTmp = mpMtrAngle->GetText();
-    bool    bNegative = false;
+    if (sTmp.isEmpty())
+        return 0;
     sal_Unicode nChar = sTmp[0];
-
     if( nChar == '-' )
     {
-        bNegative = true;
+        if (sTmp.getLength() < 2)
+            return 0;
         nChar = sTmp[1];
     }
 
@@ -507,15 +508,20 @@ IMPL_LINK( PosSizePropertyPanel, AngleModifiedHdl, void *, EMPTYARG )
     const LocaleDataWrapper& rLocaleWrapper( Application::GetSettings().GetLocaleDataWrapper() );
     const sal_Unicode cSep = rLocaleWrapper.getNumDecimalSep()[0];
 
-    sTmp = sTmp.replace(cSep,'.'); // toDouble() expects decimal point
+    // Do not check that the entire string was parsed up to its end, there may
+    // be a degree symbol following the number. Note that this also means that
+    // the number recognized just stops at any non-matching character.
+    /* TODO: we could check for the degree symbol stop if there are no other
+     * cases with different symbol characters in any language? */
+    rtl_math_ConversionStatus eStatus;
+    double fTmp = rtl::math::stringToDouble( sTmp, cSep, 0, &eStatus);
+    if (eStatus != rtl_math_ConversionStatus_Ok)
+        return 0;
+
+    while (fTmp < 0)
+        fTmp += 360;
 
-    double dTmp = sTmp.toDouble();
-    if(bNegative)
-    {
-        while(dTmp<0)
-            dTmp += 360;
-    }
-    sal_Int64 nTmp = dTmp*100;
+    sal_Int64 nTmp = fTmp*100;
 
     // #i123993# Need to take UIScale into account when executing rotations
     const double fUIScale(mpView && mpView->GetModel() ? double(mpView->GetModel()->GetUIScale()) : 1.0);
commit 204f2e6473ae352eda45fbbab0191dc2bc395b6c
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Wed Jan 28 21:23:43 2015 +0100

    fix build
    
    Change-Id: I2c90deee96a090ddcd74ea2b2a33cc63213be2e6
    Reviewed-on: https://gerrit.libreoffice.org/14235
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
index d2cc20a..b7573a1f 100644
--- a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
+++ b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
@@ -37,6 +37,7 @@
 #include <vcl/toolbox.hxx>
 #include <svl/aeitem.hxx>
 #include <svx/svdview.hxx>
+#include <vcl/settings.hxx>
 
 using namespace css;
 using namespace cssu;
commit 59e5d24908ab227f3cdc75dba1ec75266f3f0230
Author: Andras Timar <andras.timar at collabora.com>
Date:   Wed Jan 28 11:07:00 2015 +0100

    tdf#88740 fix sidebar angle rotation i18n
    
    Change-Id: I30355f3aaf77b1952e21050e3593e575571d7aaa
    (cherry picked from commit 9a7bf47098fe69b5c6069372708918ef94a9d597)
    Reviewed-on: https://gerrit.libreoffice.org/14222
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
index b2c3754..d2cc20a 100644
--- a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
+++ b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
@@ -502,6 +502,12 @@ IMPL_LINK( PosSizePropertyPanel, AngleModifiedHdl, void *, EMPTYARG )
 
     if( (nChar < '0') || (nChar > '9') )
         return 0;
+
+    const LocaleDataWrapper& rLocaleWrapper( Application::GetSettings().GetLocaleDataWrapper() );
+    const sal_Unicode cSep = rLocaleWrapper.getNumDecimalSep()[0];
+
+    sTmp = sTmp.replace(cSep,'.'); // toDouble() expects decimal point
+
     double dTmp = sTmp.toDouble();
     if(bNegative)
     {
commit a63f1ff53c63de2078d22447f93ae2b99778d8a9
Author: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Date:   Wed Jan 28 12:55:01 2015 +0100

    update credits
    
    Change-Id: Id2552278aa27f0f3164482cacb6582820b804c3d

diff --git a/readlicense_oo/license/CREDITS.fodt b/readlicense_oo/license/CREDITS.fodt
index 370e3a8..6f7dcda 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oas
 is:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:
 experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.text">
- <office:meta><dc:title>Credits » LibreOffice</dc:title><meta:keyword>Credits</meta:keyword><meta:keyword>contributors</meta:keyword><meta:keyword>coders</meta:keyword><meta:keyword>developers</meta:keyword><dc:description>Credits for the LibreOffice development/coding.</dc:description><meta:generator>LibreOffice/4.3.5.2$Linux_X86_64 LibreOffice_project/3a87456aaa6a95c63eea1c1b3201acedf0751bd5</meta:generator><dc:date>2012-02-20T22:17:18.060000000</dc:date><meta:editing-duration>PT14M12S</meta:editing-duration><meta:editing-cycles>3</meta:editing-cycles><meta:document-statistic meta:table-count="5" meta:image-count="1" meta:object-count="0" meta:page-count="2" meta:paragraph-count="3070" meta:word-count="10833" meta:character-count="78390" meta:non-whitespace-character-count="68624"/><meta:user-defined meta:name="google-site-verification">JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA</meta:user-defined></office:meta>
+ <office:meta><dc:title>Credits » LibreOffice</dc:title><meta:keyword>Credits</meta:keyword><meta:keyword>contributors</meta:keyword><meta:keyword>coders</meta:keyword><meta:keyword>developers</meta:keyword><dc:description>Credits for the LibreOffice development/coding.</dc:description><meta:generator>LibreOffice/4.3.5.2$Linux_X86_64 LibreOffice_project/3a87456aaa6a95c63eea1c1b3201acedf0751bd5</meta:generator><dc:date>2012-02-20T22:17:18.060000000</dc:date><meta:editing-duration>PT14M12S</meta:editing-duration><meta:editing-cycles>3</meta:editing-cycles><meta:document-statistic meta:table-count="5" meta:image-count="1" meta:object-count="0" meta:page-count="2" meta:paragraph-count="3082" meta:word-count="10870" meta:character-count="78655" meta:non-whitespace-character-count="68855"/><meta:user-defined meta:name="google-site-verification">JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA</meta:user-defined></office:meta>
  <office:settings>
   <config:config-item-set config:name="ooo:view-settings">
-   <config:config-item config:name="ViewAreaTop" config:type="long">3441</config:config-item>
+   <config:config-item config:name="ViewAreaTop" config:type="long">1275</config:config-item>
    <config:config-item config:name="ViewAreaLeft" config:type="long">501</config:config-item>
-   <config:config-item config:name="ViewAreaWidth" config:type="long">36846</config:config-item>
-   <config:config-item config:name="ViewAreaHeight" config:type="long">24493</config:config-item>
+   <config:config-item config:name="ViewAreaWidth" config:type="long">67326</config:config-item>
+   <config:config-item config:name="ViewAreaHeight" config:type="long">32140</config:config-item>
    <config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item>
    <config:config-item config:name="InBrowseMode" config:type="boolean">true</config:config-item>
    <config:config-item-map-indexed config:name="Views">
@@ -16,9 +16,9 @@
      <config:config-item config:name="ViewLeft" config:type="long">3709</config:config-item>
      <config:config-item config:name="ViewTop" config:type="long">3475</config:config-item>
      <config:config-item config:name="VisibleLeft" config:type="long">501</config:config-item>
-     <config:config-item config:name="VisibleTop" config:type="long">3441</config:config-item>
-     <config:config-item config:name="VisibleRight" config:type="long">37345</config:config-item>
-     <config:config-item config:name="VisibleBottom" config:type="long">27933</config:config-item>
+     <config:config-item config:name="VisibleTop" config:type="long">1275</config:config-item>
+     <config:config-item config:name="VisibleRight" config:type="long">67825</config:config-item>
+     <config:config-item config:name="VisibleBottom" config:type="long">33413</config:config-item>
      <config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
      <config:config-item config:name="ViewLayoutColumns" config:type="short">0</config:config-item>
      <config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item>
@@ -82,7 +82,7 @@
    <config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item>
    <config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item>
    <config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/>
-   <config:config-item config:name="Rsid" config:type="int">2435427</config:config-item>
+   <config:config-item config:name="Rsid" config:type="int">2586761</config:config-item>
    <config:config-item config:name="PrintProspectRTL" config:type="boolean">false</config:config-item>
    <config:config-item config:name="PrinterSetup" config:type="base64Binary"/>
    <config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item>
@@ -301,26 +301,23 @@
  </office:styles>
  <office:automatic-styles>
   <style:style style:name="Tabelle1" style:family="table">
-   <style:table-properties style:width="26.393cm" table:align="left"/>
+   <style:table-properties style:width="25.539cm" table:align="left"/>
   </style:style>
   <style:style style:name="Tabelle1.A" style:family="table-column">
    <style:table-column-properties style:column-width="6.659cm"/>
   </style:style>
   <style:style style:name="Tabelle1.B" style:family="table-column">
-   <style:table-column-properties style:column-width="6.151cm"/>
+   <style:table-column-properties style:column-width="6.793cm"/>
   </style:style>
   <style:style style:name="Tabelle1.C" style:family="table-column">
-   <style:table-column-properties style:column-width="6.793cm"/>
+   <style:table-column-properties style:column-width="5.858cm"/>
   </style:style>
   <style:style style:name="Tabelle1.D" style:family="table-column">
-   <style:table-column-properties style:column-width="6.791cm"/>
+   <style:table-column-properties style:column-width="6.23cm"/>
   </style:style>
   <style:style style:name="Tabelle1.A1" style:family="table-cell">
    <style:table-cell-properties style:vertical-align="middle" fo:padding="0.049cm" fo:border="none"/>
   </style:style>
-  <style:style style:name="Tabelle1.B220" style:family="table-cell">
-   <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/>
-  </style:style>
   <style:style style:name="Tabelle2" style:family="table">
    <style:table-properties style:width="16.69cm" table:align="left"/>
   </style:style>
@@ -385,23 +382,26 @@
    <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/>
   </style:style>
   <style:style style:name="Tabelle5" style:family="table">
-   <style:table-properties style:width="31.635cm" table:align="left"/>
+   <style:table-properties style:width="31.424cm" table:align="left"/>
   </style:style>
   <style:style style:name="Tabelle5.A" style:family="table-column">
-   <style:table-column-properties style:column-width="6.632cm"/>
+   <style:table-column-properties style:column-width="6.553cm"/>
   </style:style>
   <style:style style:name="Tabelle5.B" style:family="table-column">
-   <style:table-column-properties style:column-width="6.738cm"/>
+   <style:table-column-properties style:column-width="6.364cm"/>
   </style:style>
   <style:style style:name="Tabelle5.C" style:family="table-column">
-   <style:table-column-properties style:column-width="11.689cm"/>
+   <style:table-column-properties style:column-width="6.738cm"/>
   </style:style>
   <style:style style:name="Tabelle5.D" style:family="table-column">
-   <style:table-column-properties style:column-width="6.576cm"/>
+   <style:table-column-properties style:column-width="11.769cm"/>
   </style:style>
   <style:style style:name="Tabelle5.A1" style:family="table-cell">
    <style:table-cell-properties style:vertical-align="middle" fo:padding="0.049cm" fo:border="none"/>
   </style:style>
+  <style:style style:name="Tabelle5.B507" style:family="table-cell">
+   <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/>
+  </style:style>
   <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Table_20_Contents">
    <style:text-properties fo:font-size="2pt" style:font-size-asian="2pt" style:font-size-complex="2pt"/>
   </style:style>
@@ -1008,7 +1008,7 @@
        </office:binary-data>
       </draw:image>
      </draw:frame>Credits</text:p>
-    <text:p text:style-name="Text_20_body">1012 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2014-11-24 13:52:48.</text:p>
+    <text:p text:style-name="Text_20_body">1015 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2015-01-22 15:45:37.</text:p>
     <text:p text:style-name="Text_20_body"><text:span text:style-name="T1">*</text:span> marks developers whose first contributions happened after 2010-09-28.</text:p>
     <text:h text:style-name="Heading_20_2" text:outline-level="2">Developers committing code since 2010-09-28</text:h>
     <table:table table:name="Tabelle1" table:style-name="Tabelle1">
@@ -1035,38 +1035,38 @@
        <text:p text:style-name="Table_20_Contents">Vladimir Glazunov<text:line-break/>Commits: 25434<text:line-break/>Joined: 2000-12-04</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Caolán McNamara<text:line-break/>Commits: 16251<text:line-break/>Joined: 2000-10-10</text:p>
+       <text:p text:style-name="Table_20_Contents">Caolán McNamara<text:line-break/>Commits: 16427<text:line-break/>Joined: 2000-10-10</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Ivo Hinkelmann<text:line-break/>Commits: 9480<text:line-break/>Joined: 2002-09-09</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Stephan Bergmann<text:line-break/>Commits: 7929<text:line-break/>Joined: 2000-10-04</text:p>
+       <text:p text:style-name="Table_20_Contents">Stephan Bergmann<text:line-break/>Commits: 8054<text:line-break/>Joined: 2000-10-04</text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Tor Lillqvist<text:line-break/>Commits: 6614<text:line-break/>Joined: 2010-03-23</text:p>
+       <text:p text:style-name="Table_20_Contents">Tor Lillqvist<text:line-break/>Commits: 6634<text:line-break/>Joined: 2010-03-23</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Kohei Yoshida<text:line-break/>Commits: 5346<text:line-break/>Joined: 2009-06-19</text:p>
+       <text:p text:style-name="Table_20_Contents">Kohei Yoshida<text:line-break/>Commits: 5360<text:line-break/>Joined: 2009-06-19</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Frank Schoenheit [fs]<text:line-break/>Commits: 5008<text:line-break/>Joined: 2000-09-19</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Michael Stahl<text:line-break/>Commits: 4212<text:line-break/>Joined: 2008-06-16</text:p>
+       <text:p text:style-name="Table_20_Contents">Michael Stahl<text:line-break/>Commits: 4243<text:line-break/>Joined: 2008-06-16</text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Miklos Vajna<text:line-break/>Commits: 3864<text:line-break/>Joined: 2010-07-29</text:p>
+       <text:p text:style-name="Table_20_Contents">Miklos Vajna<text:line-break/>Commits: 3928<text:line-break/>Joined: 2010-07-29</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Noel Grandin<text:line-break/>Commits: 3368<text:line-break/>Joined: <text:span text:style-name="T2">2011-12-12</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Noel Grandin<text:line-break/>Commits: 3376<text:line-break/>Joined: <text:span text:style-name="T2">2011-12-12</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Markus Mohrhard<text:line-break/>Commits: 3240<text:line-break/>Joined: <text:span text:style-name="T2">2011-03-17</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Markus Mohrhard<text:line-break/>Commits: 3257<text:line-break/>Joined: <text:span text:style-name="T2">2011-03-17</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Hans-Joachim Lankenau<text:line-break/>Commits: 3007<text:line-break/>Joined: 2000-09-19</text:p>
@@ -1074,7 +1074,7 @@
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">David Tardon<text:line-break/>Commits: 2940<text:line-break/>Joined: 2009-11-12</text:p>
+       <text:p text:style-name="Table_20_Contents">David Tardon<text:line-break/>Commits: 2950<text:line-break/>Joined: 2009-11-12</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Ocke Janssen [oj]<text:line-break/>Commits: 2850<text:line-break/>Joined: 2000-09-20</text:p>
@@ -1083,12 +1083,12 @@
        <text:p text:style-name="Table_20_Contents">Mathias Bauer<text:line-break/>Commits: 2580<text:line-break/>Joined: 2000-09-20</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Oliver Specht<text:line-break/>Commits: 2458<text:line-break/>Joined: 2000-09-21</text:p>
+       <text:p text:style-name="Table_20_Contents">Eike Rathke<text:line-break/>Commits: 2469<text:line-break/>Joined: 2000-10-11</text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Eike Rathke<text:line-break/>Commits: 2451<text:line-break/>Joined: 2000-10-11</text:p>
+       <text:p text:style-name="Table_20_Contents">Oliver Specht<text:line-break/>Commits: 2458<text:line-break/>Joined: 2000-09-21</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Thomas Arnhold<text:line-break/>Commits: 2176<text:line-break/>Joined: <text:span text:style-name="T2">2011-01-16</text:span></text:p>
@@ -1097,12 +1097,12 @@
        <text:p text:style-name="Table_20_Contents">Philipp Lohmann [pl]<text:line-break/>Commits: 2089<text:line-break/>Joined: 2000-09-21</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Norbert Thiebaud<text:line-break/>Commits: 2083<text:line-break/>Joined: <text:span text:style-name="T2">2010-09-29</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Norbert Thiebaud<text:line-break/>Commits: 2085<text:line-break/>Joined: <text:span text:style-name="T2">2010-09-29</text:span></text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Jan Holesovsky<text:line-break/>Commits: 1915<text:line-break/>Joined: 2009-06-23</text:p>
+       <text:p text:style-name="Table_20_Contents">Jan Holesovsky<text:line-break/>Commits: 1926<text:line-break/>Joined: 2009-06-23</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Christian Lippka<text:line-break/>Commits: 1805<text:line-break/>Joined: 2000-09-25</text:p>
@@ -1111,18 +1111,18 @@
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Matúš Kukan<text:line-break/>Commits: 1617<text:line-break/>Joined: <text:span text:style-name="T2">2011-04-06</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Bjoern Michaelsen<text:line-break/>Commits: 1583<text:line-break/>Joined: 2009-10-14</text:p>
+       <text:p text:style-name="Table_20_Contents">Bjoern Michaelsen<text:line-break/>Commits: 1598<text:line-break/>Joined: 2009-10-14</text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Julien Nabet<text:line-break/>Commits: 1553<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-04</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Julien Nabet<text:line-break/>Commits: 1568<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-04</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Andras Timar<text:line-break/>Commits: 1519<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-02</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Andras Timar<text:line-break/>Commits: 1528<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-02</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Luboš Luňák<text:line-break/>Commits: 1499<text:line-break/>Joined: 2010-09-21</text:p>
+       <text:p text:style-name="Table_20_Contents">Luboš Luňák<text:line-break/>Commits: 1511<text:line-break/>Joined: 2010-09-21</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Michael Meeks<text:line-break/>Commits: 1395<text:line-break/>Joined: 2004-08-05</text:p>
@@ -1164,10 +1164,10 @@
        <text:p text:style-name="Table_20_Contents">Henning Brinkmann<text:line-break/>Commits: 899<text:line-break/>Joined: 2002-08-14</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Cédric Bosdonnat<text:line-break/>Commits: 882<text:line-break/>Joined: 2009-11-16</text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Lionel Elie Mamane<text:line-break/>Commits: 896<text:line-break/>Joined: <text:span text:style-name="T2">2011-01-15</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Lionel Elie Mamane<text:line-break/>Commits: 874<text:line-break/>Joined: <text:span text:style-name="T2">2011-01-15</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents">Cédric Bosdonnat<text:line-break/>Commits: 882<text:line-break/>Joined: 2009-11-16</text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
@@ -1178,7 +1178,7 @@
        <text:p text:style-name="Table_20_Contents">Sven Jacobi<text:line-break/>Commits: 850<text:line-break/>Joined: 2000-09-21</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Takeshi Abe<text:line-break/>Commits: 841<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-08</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Takeshi Abe<text:line-break/>Commits: 846<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-08</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Herbert Dürr<text:line-break/>Commits: 827<text:line-break/>Joined: 2000-10-17</text:p>
@@ -1189,13 +1189,13 @@
        <text:p text:style-name="Table_20_Contents">Martin Gallwey<text:line-break/>Commits: 827<text:line-break/>Joined: 2000-11-08</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Matteo Casalin<text:line-break/>Commits: 797<text:line-break/>Joined: <text:span text:style-name="T2">2011-11-13</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Tomaž Vajngerl<text:line-break/>Commits: 817<text:line-break/>Joined: <text:span text:style-name="T2">2012-06-02</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Mikhail Voytenko<text:line-break/>Commits: 793<text:line-break/>Joined: 2001-01-16</text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Matteo Casalin<text:line-break/>Commits: 806<text:line-break/>Joined: <text:span text:style-name="T2">2011-11-13</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Tomaž Vajngerl<text:line-break/>Commits: 757<text:line-break/>Joined: <text:span text:style-name="T2">2012-06-02</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents">Mikhail Voytenko<text:line-break/>Commits: 793<text:line-break/>Joined: 2001-01-16</text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
@@ -1248,7 +1248,7 @@
        <text:p text:style-name="Table_20_Contents">Andreas Bregas<text:line-break/>Commits: 470<text:line-break/>Joined: 2000-09-25</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Chris Sherlock<text:line-break/>Commits: 460<text:line-break/>Joined: <text:span text:style-name="T2">2013-02-25</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Chris Sherlock<text:line-break/>Commits: 469<text:line-break/>Joined: <text:span text:style-name="T2">2013-02-25</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Peter Foley<text:line-break/>Commits: 442<text:line-break/>Joined: <text:span text:style-name="T2">2011-09-04</text:span></text:p>
@@ -1284,7 +1284,7 @@
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Michael Meeks<text:line-break/>Commits: 286<text:line-break/>Joined: <text:span text:style-name="T2">2013-09-10</text:span></text:p>

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list