vcl/unx/generic/dtrans/X11_selection.cxx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-)
New commits: commit e24b27cd1b3139f74c0e2c03dbf1045000ed220e Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Jun 20 13:57:13 2019 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Thu Jun 20 18:10:30 2019 +0200 gen vclplug crash on startup revert the failing hunk since... commit 452a8e4abe0c416d664078baddff67c1561025ec Date: Sat Jun 15 17:13:48 2019 +0300 Simplify Sequence iterations in vcl rTypes has been reduced in size by 1 by rTypes.realloc(pFlavors - rTypes.getArray()); so has 8 elements, aNativeTypes still has 9 and we fail in std::copy(aNativeTypes.begin(), aNativeTypes.end(), std::next(aNativeTemp.begin())); trying to put 9 elements inside space for 8 Change-Id: Ie0031b2c4a980e15fa38d6e889f1474df506e893 Reviewed-on: https://gerrit.libreoffice.org/74447 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/unx/generic/dtrans/X11_selection.cxx b/vcl/unx/generic/dtrans/X11_selection.cxx index f8d675284a15..3e0900030027 100644 --- a/vcl/unx/generic/dtrans/X11_selection.cxx +++ b/vcl/unx/generic/dtrans/X11_selection.cxx @@ -1331,16 +1331,19 @@ bool SelectionManager::getPasteDataTypes( Atom selection, Sequence< DataFlavor > bSuccess = rTypes.hasElements(); if( bHaveText && ! bHaveUTF16 ) { - int nNewFlavors = rTypes.getLength()+1; + int i = 0; + int nNewFlavors = rTypes.getLength()+1; Sequence< DataFlavor > aTemp( nNewFlavors ); - std::copy(rTypes.begin(), rTypes.end(), std::next(aTemp.begin())); - aTemp[0].MimeType = "text/plain;charset=utf-16"; - aTemp[0].DataType = cppu::UnoType<OUString>::get(); + for( i = 0; i < nNewFlavors-1; i++ ) + aTemp.getArray()[i+1] = rTypes.getConstArray()[i]; + aTemp.getArray()[0].MimeType = "text/plain;charset=utf-16"; + aTemp.getArray()[0].DataType = cppu::UnoType<OUString>::get(); rTypes = aTemp; std::vector< Atom > aNativeTemp( nNewFlavors ); - std::copy(aNativeTypes.begin(), aNativeTypes.end(), std::next(aNativeTemp.begin())); + for( i = 0; i < nNewFlavors-1; i++ ) + aNativeTemp[ i + 1 ] = aNativeTypes[ i ]; aNativeTemp[0] = None; aNativeTypes = aNativeTemp; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits