[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.3' - 16 commits - chart2/source desktop/source download.lst extensions/source external/openssl offapi/com oox/source sc/source sd/qa svtools/source sw/inc sw/qa sw/source vcl/source writerfilter/source
Eike Rathke
erack at redhat.com
Tue Apr 14 10:09:46 PDT 2015
chart2/source/view/main/VLegend.cxx | 4
desktop/source/deployment/gui/dp_gui_extlistbox.cxx | 21 +-
download.lst | 4
extensions/source/bibliography/bib.hrc | 23 ++
extensions/source/bibliography/datman.cxx | 59 +++++
extensions/source/bibliography/general.cxx | 76 +------
extensions/source/bibliography/general.hxx | 1
extensions/source/bibliography/sections.hrc | 23 --
extensions/source/bibliography/sections.src | 177 ++++++++---------
external/openssl/UnpackedTarball_openssl.mk | 15 -
external/openssl/openssl-1.0.1g-msvc2012-winxp.patch.1 | 8
external/openssl/openssl-1.0.1h-win64.patch.1 | 47 ++++
external/openssl/openssl-3650-masm.patch.1 | 35 +++
external/openssl/opensslmingw.patch | 68 +++---
external/openssl/opensslosxppc.patch | 15 +
external/openssl/opensslsol.patch | 68 ------
external/openssl/opensslwnt.patch | 64 +++---
offapi/com/sun/star/awt/Key.idl | 1
oox/source/drawingml/shape.cxx | 17 +
sc/source/core/data/document.cxx | 12 -
sc/source/core/tool/interpr1.cxx | 23 +-
sd/qa/unit/data/tdf90403.pptx |binary
sd/qa/unit/data/xml/tdf90403_0.xml | 4
sd/qa/unit/import-tests.cxx | 1
svtools/source/control/headbar.cxx | 3
sw/inc/doc.hxx | 8
sw/qa/extras/rtfimport/data/tdf75614.rtf | 18 +
sw/qa/extras/rtfimport/rtfimport.cxx | 6
sw/source/core/doc/docnum.cxx | 8
sw/source/core/edit/ednumber.cxx | 18 +
sw/source/core/undo/undobj.cxx | 2
sw/source/ui/chrdlg/drpcps.cxx | 4
vcl/source/gdi/sallayout.cxx | 13 -
writerfilter/source/rtftok/rtfdocumentimpl.cxx | 6
34 files changed, 502 insertions(+), 350 deletions(-)
New commits:
commit 73e873044a612fd8cf9dfa617f58a2472ceb9986
Author: Eike Rathke <erack at redhat.com>
Date: Mon Apr 13 18:06:46 2015 +0200
string access out of bounds
Another UniString to OUString conversion fallout.
Change-Id: I5e62b049da3e7f8b5a892ea6aae7110a33564a46
(cherry picked from commit 9f52efa43b2d65c0b6c92790cc2859e752bf975f)
Reviewed-on: https://gerrit.libreoffice.org/15287
Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index c77b72a..55917d7 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -3254,15 +3254,20 @@ void ScInterpreter::ScCode()
{
//2do: make it full range unicode?
OUString aStr = GetString().getString();
- //"classic" ByteString conversion flags
- const sal_uInt32 convertFlags =
- RTL_UNICODETOTEXT_FLAGS_NONSPACING_IGNORE |
- RTL_UNICODETOTEXT_FLAGS_CONTROL_IGNORE |
- RTL_UNICODETOTEXT_FLAGS_FLUSH |
- RTL_UNICODETOTEXT_FLAGS_UNDEFINED_DEFAULT |
- RTL_UNICODETOTEXT_FLAGS_INVALID_DEFAULT |
- RTL_UNICODETOTEXT_FLAGS_UNDEFINED_REPLACE;
- PushInt( (unsigned char) OUStringToOString(OUString(aStr[0]), osl_getThreadTextEncoding(), convertFlags).toChar() );
+ if (aStr.isEmpty())
+ PushInt(0);
+ else
+ {
+ //"classic" ByteString conversion flags
+ const sal_uInt32 convertFlags =
+ RTL_UNICODETOTEXT_FLAGS_NONSPACING_IGNORE |
+ RTL_UNICODETOTEXT_FLAGS_CONTROL_IGNORE |
+ RTL_UNICODETOTEXT_FLAGS_FLUSH |
+ RTL_UNICODETOTEXT_FLAGS_UNDEFINED_DEFAULT |
+ RTL_UNICODETOTEXT_FLAGS_INVALID_DEFAULT |
+ RTL_UNICODETOTEXT_FLAGS_UNDEFINED_REPLACE;
+ PushInt( (unsigned char) OUStringToOString(OUString(aStr[0]), osl_getThreadTextEncoding(), convertFlags).toChar() );
+ }
}
commit b056b9bb629082d8b2facfd470173720c7c5bbf6
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Sun Apr 12 15:01:23 2015 +0200
tdf#75614 RTF import: fix missing text after footnote
(cherry picked from commit cec5f2eab25578a9859134d697c200089c597faa)
Conflicts:
sw/qa/extras/rtfimport/rtfimport.cxx
Change-Id: I5901094cb603c35a1cd8ac718fd434a9dd55729b
Reviewed-on: https://gerrit.libreoffice.org/15271
Tested-by: David Tardon <dtardon at redhat.com>
Reviewed-by: David Tardon <dtardon at redhat.com>
diff --git a/sw/qa/extras/rtfimport/data/tdf75614.rtf b/sw/qa/extras/rtfimport/data/tdf75614.rtf
new file mode 100644
index 0000000..1233801
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/tdf75614.rtf
@@ -0,0 +1,18 @@
+{\rtf1\ansi\ansicpg0\uc1\deff0\deflang0\deflangfe0\fet2
+{\*\ftnsep\pard\plain\chftnsep }
+{\*\ftnsepc\pard\plain\chftnsepc}
+\paperw8391\paperh11906\margl567\margr567\margt567\margb567\headery567\footery6\viewscale150\viewzk0
+{\fonttbl
+{\f0\fnil Arial;}
+{\f1\fnil\fcharset204 times new roman;}
+{\f2\fnil\fcharset204 cambria;}
+{\f3\fnil\fcharset238 cambria;}
+{\f4\fnil\fcharset0 cambria;}
+{\f5\fnil\fcharset204 courier new;}
+{\f6\fnil\fcharset204 arial;}
+}
+{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}
+\pard\plain Before\plain \super \chftn
+{\footnote
+\pard Footnote.}
+\plain after.\par}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index aaa14d2..24dee2b 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -2119,6 +2119,12 @@ DECLARE_RTFIMPORT_TEST(testTdf88811, "tdf88811.rtf")
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(4), xDrawPage->getCount());
}
+DECLARE_RTFIMPORT_TEST(testFdo75614, "tdf75614.rtf")
+{
+ // Text after the footnote was missing, so this resulted in a css::container::NoSuchElementException.
+ CPPUNIT_ASSERT_EQUAL(OUString("after."), getRun(getParagraph(1), 3)->getString());
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 24183aa..f00c49c 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -2323,8 +2323,12 @@ int RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
}
break;
case RTF_CHFTN:
- // Nothing to do, dmapper assumes this is the default.
+ {
+ if (m_aStates.top().pCurrentBuffer == &m_aSuperBuffer)
+ // Stop buffering, there will be no custom mark for this footnote or endnote.
+ m_aStates.top().pCurrentBuffer = 0;
break;
+ }
case RTF_PAGE:
{
// Ignore page breaks inside tables.
commit a49ed808eeaa7b38706dd1a9fde3d0a7d1c9b2f4
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date: Sat Apr 11 13:17:03 2015 -0500
some compiler do not like >> but prefer > > in template syntax
ebdaab9d4a042f1338f97628cf0c0f294d7dc059 introduced
cppu::UnoType<uno::Sequence<OUString>>::get());
which made some compiler unhappy.
Change-Id: I78b4f4a496b7c40d7b2dad46ad58d3500fd93aed
Reviewed-on: https://gerrit.libreoffice.org/15250
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/extensions/source/bibliography/datman.cxx b/extensions/source/bibliography/datman.cxx
index 751f692..2171de9 100644
--- a/extensions/source/bibliography/datman.cxx
+++ b/extensions/source/bibliography/datman.cxx
@@ -1395,7 +1395,7 @@ Reference< awt::XControlModel > BibDataManager::loadControlModel(
//pListSourceArr[0] = "select TypeName, TypeIndex from TypeNms";
for(sal_Int32 i = 0; i < TYPE_COUNT; ++i)
pListSourceArr[i] = OUString::number(i);
- aAny.setValue(&aListSource, cppu::UnoType<uno::Sequence<OUString>>::get());
+ aAny.setValue(&aListSource, cppu::UnoType< uno::Sequence< OUString > >::get());
xPropSet->setPropertyValue("ListSource", aAny);
@@ -1426,7 +1426,7 @@ Reference< awt::XControlModel > BibDataManager::loadControlModel(
// empty string if an invalid value no values is set
pValuesArr[TYPE_COUNT] = OUString();
- aAny.setValue(&aValues, cppu::UnoType<uno::Sequence<OUString>>::get());
+ aAny.setValue(&aValues, cppu::UnoType< uno::Sequence< OUString > >::get());
xPropSet->setPropertyValue("StringItemList", aAny);
commit 30dc48b73ff305000d264d1f2d7374c7c6bc6474
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date: Sat Apr 11 13:53:17 2015 -0500
openssl build breakage on MacOSX 10.6
3217bae01e58e7fe6f075514cf8d2baf89e76afe changed the apply
of openssllnx.patch to make it unconditinal
which introduce a -Wa, option that is not supported
by the 10.6SDK
Change-Id: Ic9f68bad5c7d0694d206bc4d6899ab01009942c0
Reviewed-on: https://gerrit.libreoffice.org/15252
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/external/openssl/UnpackedTarball_openssl.mk b/external/openssl/UnpackedTarball_openssl.mk
index 0dbd470..b769082 100644
--- a/external/openssl/UnpackedTarball_openssl.mk
+++ b/external/openssl/UnpackedTarball_openssl.mk
@@ -91,7 +91,7 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,openssl,\
))
$(eval $(call gb_UnpackedTarball_add_patches,openssl,\
- external/openssl/openssllnx.patch \
+ $(if $(filter MACOSX1060,$(OS)$(MACOSX_SDK_VERSION)),,external/openssl/openssllnx.patch) \
external/openssl/opensslmingw.patch \
external/openssl/opensslwnt.patch \
external/openssl/openssl-1.0.1g-msvc2012-winxp.patch.1 \
commit 0d92110b9bc8713256294dcf3633f6ce7953bbb4
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Fri Apr 10 15:06:53 2015 +0200
rhbz#1197614: Fix calculation of m_bHasActive when removing active element
Assume m_vEntries.size() == 2; assume first element (nPos == 0) is m_bActive,
gets removed, so m_nActive would have stayed at 0 and m_bHasActive at true; then
assume second element (again nPos == 0, due to the removed element) is m_bNew,
so nPos <= m_nActive is true and m_nActive gets updated to 1 (and m_bHasActive
remains true); then selectEntry(nNewPos) (nNewPos == 0) would have tried to
reset m_vEntries[1]->m_bActive but now m_vEntries.size() == 1.
Change-Id: I31d3bbe97ca99f880aa99bdea015f7c0457f8331
(cherry picked from commit 97d4c1a8100c63091401736c93d6bbbb371d5b37)
Reviewed-on: https://gerrit.libreoffice.org/15232
Tested-by: David Tardon <dtardon at redhat.com>
Reviewed-by: David Tardon <dtardon at redhat.com>
diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
index 42ecca1..42aa6b6 100644
--- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
+++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
@@ -1062,7 +1062,6 @@ long ExtensionBox_Impl::addEntry( const uno::Reference< deployment::XPackage > &
//access to m_nActive must be guarded
if ( !m_bInCheckMode && m_bHasActive && ( m_nActive >= nPos ) )
m_nActive += 1;
-
guard.clear();
if ( IsReallyVisible() )
@@ -1199,6 +1198,7 @@ void ExtensionBox_Impl::prepareChecking()
void ExtensionBox_Impl::checkEntries()
{
long nNewPos = -1;
+ long nChangedActivePos = -1;
long nPos = 0;
bool bNeedsUpdate = false;
@@ -1222,15 +1222,19 @@ void ExtensionBox_Impl::checkEntries()
}
else
{ // remove entry from list
+ if (nPos < nNewPos) {
+ --nNewPos;
+ }
+ if (nPos < nChangedActivePos) {
+ --nChangedActivePos;
+ }
if ( nPos < m_nActive )
m_nActive -= 1;
- else if ( ( nPos == m_nActive ) && ( nPos == (long) m_vEntries.size() - 1 ) )
+ else if ( nPos == m_nActive )
{
- m_nActive -= 1;
- if (m_nActive == -1)
- {
- m_bHasActive = false;
- }
+ nChangedActivePos = nPos;
+ m_nActive = -1;
+ m_bHasActive = false;
}
m_vRemovedEntries.push_back( *iIndex );
m_vEntries.erase( iIndex );
@@ -1246,6 +1250,9 @@ void ExtensionBox_Impl::checkEntries()
if ( nNewPos != - 1)
selectEntry( nNewPos );
+ else if (nChangedActivePos != -1) {
+ selectEntry(nChangedActivePos);
+ }
if ( bNeedsUpdate )
{
commit 9216f7fe3ab46fa971aec74346dedc5b5bb769b1
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Apr 7 11:51:50 2015 +0100
upgrade to openssl-1.0.2a
and de-ifdef-per-platform the patch makefile so an upgrade attempt on one
platform tests the patchs applying on all platforms
ubsan.patch.0 was effectively applied upstream while need
to add http://rt.openssl.org/Ticket/Display.html?id=3650 to build
under windows
Reviewed-on: https://gerrit.libreoffice.org/15183
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 04a98015101b8fea3b200e0bf3a2469d8c75fdf7)
Conflicts:
external/openssl/UnpackedTarball_openssl.mk
external/openssl/opensslosxppc.patch
Change-Id: Ieffd9bc3dd861a94a083d8b6b8d4117bba7f527c
Reviewed-on: https://gerrit.libreoffice.org/15222
Tested-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
diff --git a/download.lst b/download.lst
index a2a072b..d70d51b 100644
--- a/download.lst
+++ b/download.lst
@@ -109,8 +109,8 @@ export ODFGEN_TARBALL := libodfgen-0.1.1.tar.bz2
export OPENCOLLADA_MD5SUM := 4ca8a6ef0afeefc864e9ef21b9f14bd6
export OPENCOLLADA_TARBALL := OpenCOLLADA-master-6509aa13af.tar.bz2
export OPENLDAP_TARBALL := 804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz
-export OPENSSL_MD5SUM := f7175c9cd3c39bb1907ac8bba9df8ed3
-export OPENSSL_TARBALL := openssl-1.0.1j.tar.gz
+export OPENSSL_MD5SUM := a06c547dac9044161a477211049f60ef
+export OPENSSL_TARBALL := openssl-1.0.2a.tar.gz
export ORCUS_TARBALL := 7681383be6ce489d84c1c74f4e7f9643-liborcus-0.7.0.tar.bz2
export PIXMAN_TARBALL := c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2
export PNG_MD5SUM := 5266905cef49d1224437465ad4d67fd9
diff --git a/external/openssl/UnpackedTarball_openssl.mk b/external/openssl/UnpackedTarball_openssl.mk
index 2509960..0dbd470 100644
--- a/external/openssl/UnpackedTarball_openssl.mk
+++ b/external/openssl/UnpackedTarball_openssl.mk
@@ -91,12 +91,15 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,openssl,\
))
$(eval $(call gb_UnpackedTarball_add_patches,openssl,\
- $(if $(filter LINUX FREEBSD ANDROID,$(OS)),external/openssl/openssllnx.patch) \
- $(if $(filter WNTGCC,$(OS)$(COM)),external/openssl/opensslmingw.patch) \
- $(if $(filter MSC,$(COM)),external/openssl/opensslwnt.patch) \
- $(if $(filter MSC,$(COM)),external/openssl/openssl-1.0.1g-msvc2012-winxp.patch.1) \
- $(if $(filter SOLARIS,$(OS)),external/openssl/opensslsol.patch) \
- $(if $(filter IOS,$(OS)),external/openssl/opensslios.patch) \
+ external/openssl/openssllnx.patch \
+ external/openssl/opensslmingw.patch \
+ external/openssl/opensslwnt.patch \
+ external/openssl/openssl-1.0.1g-msvc2012-winxp.patch.1 \
+ external/openssl/openssl-1.0.1h-win64.patch.1 \
+ external/openssl/opensslsol.patch \
+ external/openssl/opensslios.patch \
+ external/openssl/opensslosxppc.patch \
+ external/openssl/openssl-3650-masm.patch.1 \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/openssl/openssl-1.0.1g-msvc2012-winxp.patch.1 b/external/openssl/openssl-1.0.1g-msvc2012-winxp.patch.1
index 611ffbc..de9e6fc 100644
--- a/external/openssl/openssl-1.0.1g-msvc2012-winxp.patch.1
+++ b/external/openssl/openssl-1.0.1g-msvc2012-winxp.patch.1
@@ -1,7 +1,7 @@
--- openssl.org/util/pl/VC-32.pl 2014-05-18 23:41:39.336594400 +0200
+++ openssl/util/pl/VC-32.pl 2014-05-18 23:47:40.055279300 +0200
-@@ -49,7 +49,7 @@
- $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
+@@ -48,7 +48,7 @@
+ my $f = $shlib || $fips ?' /MD':' /MT';
$opt_cflags=$f.' /Ox';
$dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
- $lflags="/nologo /subsystem:console /opt:ref";
@@ -9,12 +9,12 @@
*::perlasm_compile_target = sub {
my ($target,$source,$bname)=@_;
-@@ -131,7 +131,7 @@
+@@ -135,7 +135,7 @@
$ff = "/fixed";
$opt_cflags=$f.' -Ox -O2 -Ob2';
$dbg_cflags=$f.'d -Od -DDEBUG -D_DEBUG';
- $lflags="/nologo /subsystem:console /opt:ref";
+ $lflags="/nologo /subsystem:console,5.01 /opt:ref";
}
+ $lib_cflag='-Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
$mlflags='';
-
diff --git a/external/openssl/openssl-1.0.1h-win64.patch.1 b/external/openssl/openssl-1.0.1h-win64.patch.1
new file mode 100644
index 0000000..aea9146
--- /dev/null
+++ b/external/openssl/openssl-1.0.1h-win64.patch.1
@@ -0,0 +1,47 @@
+diff --git a/ms/do_win64a.bat b/ms/do_win64a.bat
+index 8768dc6..6772390 100755
+--- a/ms/do_win64a.bat
++++ b/ms/do_win64a.bat
+@@ -1,19 +1,19 @@
+-perl util\mkfiles.pl >MINFO
++perl util/mkfiles.pl >MINFO
+
+ cmd /c "nasm -f win64 -v" >NUL 2>&1
+ if %errorlevel% neq 0 goto ml64
+
+-perl ms\uplink-x86_64.pl nasm > ms\uptable.asm
+-nasm -f win64 -o ms\uptable.obj ms\uptable.asm
++perl ms/uplink-x86_64.pl nasm > ms/uptable.asm
++nasm -f win64 -o ms/uptable.obj ms/uptable.asm
+ goto proceed
+
+ :ml64
+-perl ms\uplink-x86_64.pl masm > ms\uptable.asm
+-ml64 -c -Foms\uptable.obj ms\uptable.asm
++perl ms/uplink-x86_64.pl masm > ms/uptable.asm
++ml64 -c -Foms/uptable.obj ms/uptable.asm
+
+ :proceed
+-perl util\mk1mf.pl VC-WIN64A >ms\nt.mak
+-perl util\mk1mf.pl dll VC-WIN64A >ms\ntdll.mak
++perl util/mk1mf.pl VC-WIN64A >ms/nt.mak
++perl util/mk1mf.pl dll VC-WIN64A >ms/ntdll.mak
+
+-perl util\mkdef.pl 32 libeay > ms\libeay32.def
+-perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
++perl util/mkdef.pl 32 libeay > ms/libeay32.def
++perl util/mkdef.pl 32 ssleay > ms/ssleay32.def
+diff --git a/util/mk1mf.pl b/util/mk1mf.pl
+index 72fa089..d98def1 100755
+--- a/util/mk1mf.pl
++++ b/util/mk1mf.pl
+@@ -233,6 +233,9 @@ else
+ $cflags.=' -DTERMIO';
+ }
+
++# force unix style path separator
++${o} = "/";
++
+ $fipsdir =~ s/\//${o}/g;
+
+ $out_dir=(defined($VARS{'OUT'}))?$VARS{'OUT'}:$out_def.($debug?".dbg":"");
diff --git a/external/openssl/openssl-3650-masm.patch.1 b/external/openssl/openssl-3650-masm.patch.1
new file mode 100644
index 0000000..97f1eb64
--- /dev/null
+++ b/external/openssl/openssl-3650-masm.patch.1
@@ -0,0 +1,35 @@
+diff --git a/crypto/perlasm/x86masm.pl b/crypto/perlasm/x86masm.pl
+index 1741342..917d0f8 100644
+--- a/crypto/perlasm/x86masm.pl
++++ b/crypto/perlasm/x86masm.pl
+@@ -18,10 +18,10 @@ sub ::generic
+
+ if ($opcode =~ /lea/ && @arg[1] =~ s/.*PTR\s+(\(.*\))$/OFFSET $1/) # no []
+ { $opcode="mov"; }
+- elsif ($opcode !~ /movq/)
++ elsif ($opcode !~ /mov[dq]$/)
+ { # fix xmm references
+- $arg[0] =~ s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i if ($arg[1]=~/\bxmm[0-7]\b/i);
+- $arg[1] =~ s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i if ($arg[0]=~/\bxmm[0-7]\b/i);
++ $arg[0] =~ s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i if ($arg[-1]=~/\bxmm[0-7]\b/i);
++ $arg[-1] =~ s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i if ($arg[0]=~/\bxmm[0-7]\b/i);
+ }
+
+ &::emit($opcode, at arg);
+@@ -160,13 +160,13 @@ sub ::public_label
+ { push(@out,"PUBLIC\t".&::LABEL($_[0],$nmdecor.$_[0])."\n"); }
+
+ sub ::data_byte
+-{ push(@out,("DB\t").join(',', at _)."\n"); }
++{ push(@out,("DB\t").join(',',splice(@_,0,16))."\n") while(@_); }
+
+ sub ::data_short
+-{ push(@out,("DW\t").join(',', at _)."\n"); }
++{ push(@out,("DW\t").join(',',splice(@_,0,8))."\n") while(@_); }
+
+ sub ::data_word
+-{ push(@out,("DD\t").join(',', at _)."\n"); }
++{ push(@out,("DD\t").join(',',splice(@_,0,4))."\n") while(@_); }
+
+ sub ::align
+ { push(@out,"ALIGN\t$_[0]\n"); }
diff --git a/external/openssl/opensslmingw.patch b/external/openssl/opensslmingw.patch
index 127cb04..81dc953 100644
--- a/external/openssl/opensslmingw.patch
+++ b/external/openssl/opensslmingw.patch
@@ -1,37 +1,47 @@
--- misc/openssl-0.9.8v/Makefile.shared 2008-09-17 17:56:40.000000000 +0200
+++ misc/build/openssl-0.9.8v/Makefile.shared 2009-03-30 11:52:53.684538000 +0200
-@@ -254,13 +254,17 @@
+@@ -278,7 +278,7 @@
+ link_a.cygwin:
+ @ $(CALC_VERSIONS); \
+ INHIBIT_SYMLINKS=yes; \
+- SHLIB=cyg$(LIBNAME); SHLIB_SOVER=-$(LIBVERSION); SHLIB_SUFFIX=.dll; \
++ SHLIB=cyg$(LIBNAME); SHLIB_SOVER=; SHLIB_SUFFIX=.dll; \
+ dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; extras=; \
base=-Wl,--enable-auto-image-base; \
if expr $(PLATFORM) : 'mingw' > /dev/null; then \
- SHLIB=$(LIBNAME)eay32; \
-- base=; [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \
-+ base=; \
-+ if test $(LIBNAME) = "crypto"; then \
-+ SHLIB=libeay32; \
-+ base=-Wl,--image-base,0x63000000; \
-+ fi; \
+@@ -289,7 +289,11 @@
+ SHLIB_SOVER=32; \
+ extras="$(LIBNAME).def"; \
+ $(PERL) util/mkdef.pl 32 $$SHLIB > $$extras; \
+- base=; [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \
++ base=; \
++ if test $(LIBNAME) = "crypto"; then \
++ SHLIB=libeay32; \
++ base=-Wl,--image-base,0x63000000; \
++ fi; \
fi; \
- SHLIB_SUFFIX=.dll; \
-- SHLIB_SOVER=-$(LIBVERSION); \
-+ SHLIB_SOVER=; \
+ dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \
+ $(PERL) util/mkrc.pl $$dll_name | \
+@@ -297,7 +301,7 @@
+ extras="$$extras rc.o"; \
ALLSYMSFLAGS='-Wl,--whole-archive'; \
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
-- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
-+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--export-all-symbols -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
- [ -f apps/$$SHLIB$$SHLIB_SUFFIX ] && rm apps/$$SHLIB$$SHLIB_SUFFIX; \
- [ -f test/$$SHLIB$$SHLIB_SUFFIX ] && rm test/$$SHLIB$$SHLIB_SUFFIX; \
+- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-s,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a $$extras"; \
++ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-s,-Bsymbolic -Wl,--export-all-symbols -Wl,--out-implib,lib$(LIBNAME).dll.a $$extras"; \
+ [ -f apps/$$dll_name ] && rm apps/$$dll_name; \
+ [ -f test/$$dll_name ] && rm test/$$dll_name; \
$(LINK_SO_A) || exit 1; \
--- misc/openssl-0.9.8v/e_os2.h 2005-12-19 03:57:07.000000000 +0900
+++ misc/build/openssl-0.9.8v/e_os2.h 2009-04-04 23:07:15.324250000 +0900
-@@ -264,7 +264,7 @@
- # define OPENSSL_IMPLEMENT_GLOBAL(type,name) \
- extern type _hide_##name; \
- type *_shadow_##name(void) { return &_hide_##name; } \
-- static type _hide_##name
-+ type _hide_##name
- # define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void)
- # define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name()))
- #else
+@@ -287,7 +287,7 @@
+ # ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION
+ # define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) \
+ type *_shadow_##name(void) \
+- { static type _hide_##name=value; return &_hide_##name; }
++ { type _hide_##name=value; return &_hide_##name; }
+ # define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void)
+ # define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name()))
+ # else
--- misc/openssl-0.9.8v/ms/mingw32.bat 2006-05-05 15:19:32.000000000 +0200
+++ misc/build/openssl-0.9.8v/ms/mingw32.bat 2009-03-30 11:54:10.000000000 +0200
@@ -79,15 +79,41 @@
@@ -43,33 +53,33 @@
if errorlevel 1 goto end
echo Generating the DLLs and input libraries
--dllwrap --dllname libeay32.dll --output-lib out/libeay32.a --def ms/libeay32.def out/libcrypto.a -lwsock32 -lgdi32
+-dllwrap --dllname libeay32.dll --output-lib out/libeay32.a --def ms/libeay32.def out/libcrypto.a -lws2_32 -lgdi32
+mv out/libcrypto.a out/libcrypto_static.a
+mv out/libssl.a out/libssl_static.a
+dlltool --dllname libeay32.dll --output-lib out/libcrypto.a --input-def ms/libeay32.def
if errorlevel 1 goto end
-dllwrap --dllname libssl32.dll --output-lib out/libssl32.a --def ms/ssleay32.def out/libssl.a out/libeay32.a
-+gcc --shared --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lwsock32 -lgdi32
++gcc --shared --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lws2_32 -lgdi32
if errorlevel 1 goto end
+dlltool --dllname ssleay32.dll --output-lib out/libssl.a --input-def ms/ssleay32.def
+if errorlevel 1 goto end
+if "%MINGW_SHARED_GXXLIB%"=="TRUE" goto shared_gxxlib
+if "%MINGW_SHARED_GCCLIB%"=="TRUE" goto shared_gcclib
-+gcc --shared --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lwsock32 -lgdi32
++gcc --shared --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lws2_32 -lgdi32
+if errorlevel 1 goto end
+gcc --shared --enable-pseudo-reloc -Wl,-Map,out/ssleay32.map -Lout ms/ssleay32.def -o out/ssleay32.dll out/libssl_static.a -lcrypto
+if errorlevel 1 goto end
+goto finished
+
+:shared_gcclib
-+gcc --shared -shared-libgcc --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lwsock32 -lgdi32
++gcc --shared -shared-libgcc --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lws2_32 -lgdi32
+if errorlevel 1 goto end
+gcc --shared -shared-libgcc --enable-pseudo-reloc -Wl,-Map,out/ssleay32.map -Lout ms/ssleay32.def -o out/ssleay32.dll out/libssl_static.a -lcrypto
+if errorlevel 1 goto end
+goto finished
+
+:shared_gxxlib
-+gcc --shared -shared-libgcc --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lwsock32 -lgdi32 %MINGW_SHARED_LIBSTDSPP%
++gcc --shared -shared-libgcc --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lws2_32 -lgdi32 %MINGW_SHARED_LIBSTDSPP%
+if errorlevel 1 goto end
+gcc --shared -shared-libgcc --enable-pseudo-reloc -Wl,-Map,out/ssleay32.map -Lout ms/ssleay32.def -o out/ssleay32.dll out/libssl_static.a -lcrypto %MINGW_SHARED_LIBSTDSPP%
+if errorlevel 1 goto end
diff --git a/external/openssl/opensslosxppc.patch b/external/openssl/opensslosxppc.patch
new file mode 100644
index 0000000..2e9168e
--- /dev/null
+++ b/external/openssl/opensslosxppc.patch
@@ -0,0 +1,15 @@
+-*- Mode: diff -*-
+
+--- a/openssl/Configure
++++ b/openssl/Configure
+@@ -620,8 +620,8 @@
+
+ ##### MacOS X (a.k.a. Rhapsody or Darwin) setup
+ "rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::",
+-"darwin-ppc-cc","cc:-arch ppc -O3 -DB_ENDIAN -Wa,-force_cpusubtype_ALL::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
+-"darwin64-ppc-cc","cc:-arch ppc64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc64_asm}:osx64:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
++"darwin-ppc-cc","cc:-m32 -O3 -DB_ENDIAN -Wa,-force_cpusubtype_ALL::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
++"darwin64-ppc-cc","cc:-m64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc64_asm}:osx64:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
+ "darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:".eval{my $asm=$x86_asm;$asm=~s/cast\-586\.o//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
+ "debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
+ "darwin64-x86_64-cc","cc:-arch x86_64 -O3 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
diff --git a/external/openssl/opensslsol.patch b/external/openssl/opensslsol.patch
index a22dc05..ef70130 100644
--- a/external/openssl/opensslsol.patch
+++ b/external/openssl/opensslsol.patch
@@ -1,81 +1,33 @@
--- misc/openssl-0.9.8v/Configure Mon Nov 9 15:14:26 2009
+++ build/openssl-0.9.8v/Configure Fri Mar 26 16:01:32 2010
-@@ -212,8 +212,8 @@
- "solaris64-x86_64-gcc","gcc:-m64 -O3 -Wall -DL_ENDIAN -DMD32_REG_T=int::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:solaris-shared:-fPIC:-m64 -shared -static-libgcc:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+@@ -228,8 +228,8 @@
+ "solaris64-x86_64-gcc","gcc:-m64 -O3 -Wall -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:solaris-shared:-fPIC:-m64 -shared -static-libgcc:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",
#### Solaris x86 with Sun C setups
--"solaris-x86-cc","cc:-fast -O -Xa::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
--"solaris64-x86_64-cc","cc:-fast -xarch=amd64 -xstrconst -Xa -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:solaris-shared:-KPIC:-xarch=amd64 -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"solaris-x86-cc","cc:-O -Xa::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"solaris64-x86_64-cc","cc:-xarch=amd64 -xstrconst -Xa -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:solaris-shared:-KPIC:-xarch=amd64 -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"solaris-x86-cc","cc:-fast -xarch=generic -O -Xa::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"solaris64-x86_64-cc","cc:-fast -xarch=amd64 -xstrconst -Xa -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:solaris-shared:-KPIC:-xarch=amd64 -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",
++"solaris-x86-cc","cc:-xarch=generic -O -Xa::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"solaris64-x86_64-cc","cc:-xarch=amd64 -xstrconst -Xa -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:solaris-shared:-KPIC:-xarch=amd64 -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",
#### SPARC Solaris with GNU C setups
"solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
--- misc/openssl-0.9.8v/Makefile.shared Wed Sep 17 17:56:40 2008
+++ build/openssl-0.9.8v/Makefile.shared Fri Mar 26 16:04:41 2010
-@@ -93,7 +93,7 @@
+@@ -95,7 +95,7 @@
LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$${LDFLAGS:-$(CFLAGS)}"; \
- LIBPATH=`for x in $$LIBDEPS; do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
+ LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
- LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+ LD_LIBRARY_PATH=$$LD_LIBRARY_PATH \
$${LDCMD} $${LDFLAGS} -o $${APPNAME:=$(APPNAME)} $(OBJECTS) $${LIBDEPS} )
LINK_SO= \
-@@ -103,7 +103,7 @@
+@@ -105,7 +105,7 @@
SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
- LIBPATH=`for x in $$LIBDEPS; do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
+ LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
- LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+ LD_LIBRARY_PATH=$$LD_LIBRARY_PATH \
$${SHAREDCMD} $${SHAREDFLAGS} \
-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
$$ALLSYMSFLAGS $$SHOBJECTS $$NOALLSYMSFLAGS $$LIBDEPS \
---- misc/openssl-0.9.8v/config Tue Mar 9 18:08:24 2010
-+++ build/openssl-0.9.8v/config Fri Mar 26 16:07:55 2010
-@@ -399,28 +399,25 @@
- # this is where the translation occurs into SSLeay terms
- # ---------------------------------------------------------------------------
-
--GCCVER=`(gcc -dumpversion) 2>/dev/null`
--if [ "$GCCVER" != "" ]; then
-- # then strip off whatever prefix egcs prepends the number with...
-- # Hopefully, this will work for any future prefixes as well.
-- GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'`
-- # Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion
-- # does give us what we want though, so we use that. We just just the
-- # major and minor version numbers.
-- # peak single digit before and after first dot, e.g. 2.95.1 gives 29
-- GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'`
-+if [ -z "$CC" ];then
-+ GCCVER=`(gcc -dumpversion) 2>/dev/null`
-+ if [ "$GCCVER" != "" ]; then
-+ CC=gcc
-+ # then strip off whatever prefix egcs prepends the number with...
-+ # Hopefully, this will work for any future prefixes as well.
-+ GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'`
-+ # Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion
-+ # does give us what we want though, so we use that. We just just the
-+ # major and minor version numbers.
-+ # peak single digit before and after first dot, e.g. 2.95.1 gives 29
-+ GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'`
-+ else
-+ CC=cc
-+ fi
-+else
-+ CC=`echo $CC | sed 's/^[^ ]*\/\(..\).*/\1/'`
- fi
-
--# Only set CC if not supplied already
--if [ -z "$CC" ]; then
--# figure out if gcc is available and if so we use it otherwise
--# we fallback to whatever cc does on the system
-- if [ "$GCCVER" != "" ]; then
-- CC=gcc
-- else
-- CC=cc
-- fi
--fi
- GCCVER=${GCCVER:-0}
- if [ "$SYSTEM" = "HP-UX" ];then
- # By default gcc is a ILP32 compiler (with long long == 64).
diff --git a/external/openssl/opensslwnt.patch b/external/openssl/opensslwnt.patch
index 5be9c95..e033d25 100644
--- a/external/openssl/opensslwnt.patch
+++ b/external/openssl/opensslwnt.patch
@@ -1,8 +1,8 @@
--- misc/openssl-0.9.8v/crypto/x509v3/v3_pci.c 2007-03-05 01:06:47.000000000 +0100
+++ build/openssl-0.9.8v/crypto/x509v3/v3_pci.c 2010-03-26 12:04:20.961547300 +0100
-@@ -2,7 +2,7 @@
- /* Contributed to the OpenSSL Project 2004
- * by Richard Levitte (richard at levitte.org)
+@@ -3,7 +3,7 @@
+ * Contributed to the OpenSSL Project 2004 by Richard Levitte
+ * (richard at levitte.org)
*/
-/* Copyright (c) 2004 Kungliga Tekniska Högskolan
+/* Copyright (c) 2004 Kungliga Tekniska Hoegskolan
@@ -11,9 +11,9 @@
*
--- misc/openssl-0.9.8v/crypto/x509v3/v3_pcia.c 2004-12-28 01:21:33.000000000 +0100
+++ build/openssl-0.9.8v/crypto/x509v3/v3_pcia.c 2010-03-26 12:04:20.961547300 +0100
-@@ -2,7 +2,7 @@
- /* Contributed to the OpenSSL Project 2004
- * by Richard Levitte (richard at levitte.org)
+@@ -3,7 +3,7 @@
+ * Contributed to the OpenSSL Project 2004 by Richard Levitte
+ * (richard at levitte.org)
*/
-/* Copyright (c) 2004 Kungliga Tekniska Högskolan
+/* Copyright (c) 2004 Kungliga Tekniska Hoegskolan
@@ -45,7 +45,7 @@
+%1 util\mkdef.pl 32 ssleay > ms\ssleay32.def
--- misc/openssl-0.9.8v/util/mk1mf.pl 2009-09-20 14:46:42.000000000 +0200
+++ build/openssl-0.9.8v/util/mk1mf.pl 2010-03-26 12:04:20.977172300 +0100
-@@ -128,7 +128,7 @@
+@@ -163,7 +163,7 @@
$inc_def="outinc";
$tmp_def="tmp";
@@ -54,7 +54,7 @@
$mkdir="-mkdir" unless defined $mkdir;
($ssl,$crypto)=("ssl","crypto");
-@@ -290,6 +290,11 @@
+@@ -343,6 +343,11 @@
chop;
($key,$val)=/^([^=]+)=(.*)/;
@@ -66,7 +66,7 @@
if ($key eq "RELATIVE_DIRECTORY")
{
if ($lib ne "")
-@@ -529,7 +529,7 @@
+@@ -469,7 +474,7 @@
# Set your compiler options
PLATFORM=$platform
CC=$bin_dir${cc}
@@ -75,27 +75,27 @@
APP_CFLAG=$app_cflag
LIB_CFLAG=$lib_cflag
SHLIB_CFLAG=$shl_cflag
-@@ -544,7 +544,7 @@
+@@ -484,7 +489,7 @@
LINK=$link
LFLAGS=$lflags
-RSC=$rsc
+RSC=$rsc \$(SOLARINC)
- # The output directory for everything intersting
+ # The output directory for everything interesting
OUT_D=$out_dir
-@@ -730,7 +735,7 @@
+@@ -665,7 +670,7 @@
printf OUT <<EOF;
#ifdef $platform_cpp_symbol
/* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */
-- #define CFLAGS "$cc $cflags"
-+ #define CFLAGS "$cflags"
+- #define CFLAGS "compiler: $cc $cflags"
++ #define CFLAGS "compiler: $cflags"
#define PLATFORM "$platform"
EOF
printf OUT " #define DATE \"%s\"\n", scalar gmtime();
--- misc/openssl-0.9.8v/util/pl/VC-32.pl 2010-02-04 02:10:24.000000000 +0100
+++ build/openssl-0.9.8v/util/pl/VC-32.pl 2010-03-26 12:04:20.977172300 +0100
-@@ -32,7 +32,7 @@
+@@ -30,7 +30,7 @@
my $ff = "";
# C compiler stuff
@@ -104,29 +104,31 @@
if ($FLAVOR =~ /WIN64/)
{
# Note that we currently don't have /WX on Win64! There is a lot of
-@@ -103,22 +103,22 @@
+@@ -114,7 +114,7 @@
}
- $cc='$(CC)';
+ $cc=($ENV{CC} or "cl");
- $base_cflags=' /W3 /WX /GF /Gy /nologo -DUNICODE -D_UNICODE -DOPENSSL_SYSNAME_WINCE -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -DOPENSSL_SMALL_FOOTPRINT';
+ $base_cflags=' -W3 -GF -Gy -nologo -DUNICODE -D_UNICODE -DOPENSSL_SYSNAME_WINCE -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -DOPENSSL_SMALL_FOOTPRINT';
$base_cflags.=" $wcecdefs";
$base_cflags.=' -I$(WCECOMPAT)/include' if (defined($ENV{'WCECOMPAT'}));
$base_cflags.=' -I$(PORTSDK_LIBPATH)/../../include' if (defined($ENV{'PORTSDK_LIBPATH'}));
-- $opt_cflags=' /MC /O1i'; # optimize for space, but with intrinsics...
-- $dbg_cflags=' /MC /Od -DDEBUG -D_DEBUG';
-+ $opt_cflags=' -MC -O1i'; # optimize for space, but with intrinsics...
-+ $dbg_cflags=' -MC -Od -DDEBUG -D_DEBUG';
+@@ -123,20 +123,21 @@
+ } else {
+ $base_cflags.=' /MC';
+ }
+- $opt_cflags=' /O1i'; # optimize for space, but with intrinsics...
+- $dbg_cflags=' /Od -DDEBUG -D_DEBUG';
++ $opt_cflags=' -O1i'; # optimize for space, but with intrinsics...
++ $dbg_cflags=' -Od -DDEBUG -D_DEBUG';
++
$lflags="/nologo /opt:ref $wcelflag";
}
else # Win32
{
-- $base_cflags= " $mf_cflag";
-+ $base_cflags= " $mf_cflag";
+ $base_cflags= " $mf_cflag";
- my $f = $shlib || $fips ?' /MD':' /MT';
-- $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
+ my $f = $shlib || $fips ? (($ENV{MSVC_USE_DEBUG_RUNTIME} eq "TRUE") ? ' -MDd' : ' -MD' ):' -MT';
-+ $lib_cflag='-Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
$ff = "/fixed";
- $opt_cflags=$f.' /Ox /O2 /Ob2';
- $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
@@ -134,8 +136,12 @@
+ $dbg_cflags=$f.'d -Od -DDEBUG -D_DEBUG';
$lflags="/nologo /subsystem:console /opt:ref";
}
+-$lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
++$lib_cflag='-Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
$mlflags='';
-@@ -138,7 +138,7 @@
+
+ $out_def ="out32"; $out_def.="dll" if ($shlib);
+@@ -161,7 +162,7 @@
$obj='.obj';
$asm_suffix='.asm';
@@ -148,8 +154,8 @@
+++ build/openssl-0.9.8v/ms/uplink.c
@@ -1,5 +1,6 @@
#if (defined(_WIN64) || defined(_WIN32_WCE)) && !defined(UNICODE)
- #define UNICODE
-+#define _CRT_NON_CONFORMING_SWPRINTFS
+ # define UNICODE
++# define _CRT_NON_CONFORMING_SWPRINTFS
#endif
#if defined(UNICODE) && !defined(_UNICODE)
- #define _UNICODE
+ # define _UNICODE
commit 890f95abbfd73f2ffb32d672c37ed47fc80029a3
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Apr 9 20:43:28 2015 +0100
Related: tdf#90472 initial load of bibliography doesn't...
set bibliography type
moving to a new row will set the new type, but initially
its not set because the ListStore property was set after
the model is connected to the database so at the initial
connection time there isn't a available set of values
to map the row to.
So move that connection code from general.cxx to datman.cxx
and put it before the connection is established
we can then remove the intermediate aBibTypeArr list and
those resources then need to be global bib ones.
Change-Id: I12276c3df9955ec399e1b5de6d0836c69ebb1ebb
Reviewed-on: https://gerrit.libreoffice.org/15220
Tested-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
diff --git a/extensions/source/bibliography/bib.hrc b/extensions/source/bibliography/bib.hrc
index cb9a7e2..9752c06 100644
--- a/extensions/source/bibliography/bib.hrc
+++ b/extensions/source/bibliography/bib.hrc
@@ -80,6 +80,29 @@
#define ST_CUSTOM4 (RID_BIB_STRING + 35)
#define ST_CUSTOM5 (RID_BIB_STRING + 36)
+#define ST_TYPE_ARTICLE (RID_BIB_STRING + 38)
+#define ST_TYPE_BOOK (RID_BIB_STRING + 39)
+#define ST_TYPE_BOOKLET (RID_BIB_STRING + 40)
+#define ST_TYPE_CONFERENCE (RID_BIB_STRING + 41)
+#define ST_TYPE_INBOOK (RID_BIB_STRING + 42)
+#define ST_TYPE_INCOLLECTION (RID_BIB_STRING + 43)
+#define ST_TYPE_INPROCEEDINGS (RID_BIB_STRING + 44)
+#define ST_TYPE_JOURNAL (RID_BIB_STRING + 45)
+#define ST_TYPE_MANUAL (RID_BIB_STRING + 46)
+#define ST_TYPE_MASTERSTHESIS (RID_BIB_STRING + 47)
+#define ST_TYPE_MISC (RID_BIB_STRING + 48)
+#define ST_TYPE_PHDTHESIS (RID_BIB_STRING + 49)
+#define ST_TYPE_PROCEEDINGS (RID_BIB_STRING + 50)
+#define ST_TYPE_TECHREPORT (RID_BIB_STRING + 51)
+#define ST_TYPE_UNPUBLISHED (RID_BIB_STRING + 52)
+#define ST_TYPE_EMAIL (RID_BIB_STRING + 53)
+#define ST_TYPE_WWW (RID_BIB_STRING + 54)
+#define ST_TYPE_CUSTOM1 (RID_BIB_STRING + 55)
+#define ST_TYPE_CUSTOM2 (RID_BIB_STRING + 56)
+#define ST_TYPE_CUSTOM3 (RID_BIB_STRING + 57)
+#define ST_TYPE_CUSTOM4 (RID_BIB_STRING + 58)
+#define ST_TYPE_CUSTOM5 (RID_BIB_STRING + 59)
+
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/bibliography/datman.cxx b/extensions/source/bibliography/datman.cxx
index 28bbd27..751f692 100644
--- a/extensions/source/bibliography/datman.cxx
+++ b/extensions/source/bibliography/datman.cxx
@@ -37,6 +37,7 @@
#include <com/sun/star/sdbc/XConnection.hpp>
#include <com/sun/star/sdb/XCompletedConnection.hpp>
#include <com/sun/star/task/InteractionHandler.hpp>
+#include <com/sun/star/form/ListSourceType.hpp>
#include <com/sun/star/form/XLoadable.hpp>
#include <com/sun/star/form/runtime/FormController.hpp>
#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
@@ -59,12 +60,12 @@
#include "bibresid.hxx"
#include "bibmod.hxx"
#include "bibview.hxx"
-// #100312# ---------
#include "bibprop.hrc"
#include "toolbar.hxx"
#include "toolbar.hrc"
#include "bibconfig.hxx"
#include "bibbeam.hxx"
+#include "general.hxx"
#include "bib.hrc"
#include "datman.hrc"
#include "bibliography.hrc"
@@ -1378,6 +1379,62 @@ Reference< awt::XControlModel > BibDataManager::loadControlModel(
xPropSet->setPropertyValue( FM_PROP_CONTROLSOURCE, makeAny( rName ) );
xPropSet->setPropertyValue("NativeWidgetLook", makeAny( true ) );
+ if (bForceListBox)
+ {
+ uno::Any aAny;
+
+ //uno::Reference< beans::XPropertySet > xPropSet(xControl, UNO_QUERY);
+ aAny <<= (sal_Int16)1;
+ xPropSet->setPropertyValue("BoundColumn", aAny);
+ ListSourceType eSet = ListSourceType_VALUELIST;
+ aAny.setValue( &eSet, ::cppu::UnoType<ListSourceType>::get() );
+ xPropSet->setPropertyValue("ListSourceType", aAny);
+
+ uno::Sequence<OUString> aListSource(TYPE_COUNT);
+ OUString* pListSourceArr = aListSource.getArray();
+ //pListSourceArr[0] = "select TypeName, TypeIndex from TypeNms";
+ for(sal_Int32 i = 0; i < TYPE_COUNT; ++i)
+ pListSourceArr[i] = OUString::number(i);
+ aAny.setValue(&aListSource, cppu::UnoType<uno::Sequence<OUString>>::get());
+
+ xPropSet->setPropertyValue("ListSource", aAny);
+
+ uno::Sequence<OUString> aValues(TYPE_COUNT + 1);
+ OUString* pValuesArr = aValues.getArray();
+ pValuesArr[0] = BIB_RESSTR(ST_TYPE_ARTICLE);
+ pValuesArr[1] = BIB_RESSTR(ST_TYPE_BOOK);
+ pValuesArr[2] = BIB_RESSTR(ST_TYPE_BOOKLET);
+ pValuesArr[3] = BIB_RESSTR(ST_TYPE_CONFERENCE);
+ pValuesArr[4] = BIB_RESSTR(ST_TYPE_INBOOK );
+ pValuesArr[5] = BIB_RESSTR(ST_TYPE_INCOLLECTION);
+ pValuesArr[6] = BIB_RESSTR(ST_TYPE_INPROCEEDINGS);
+ pValuesArr[7] = BIB_RESSTR(ST_TYPE_JOURNAL );
+ pValuesArr[8] = BIB_RESSTR(ST_TYPE_MANUAL );
+ pValuesArr[9] = BIB_RESSTR(ST_TYPE_MASTERSTHESIS);
+ pValuesArr[10] = BIB_RESSTR(ST_TYPE_MISC );
+ pValuesArr[11] = BIB_RESSTR(ST_TYPE_PHDTHESIS );
+ pValuesArr[12] = BIB_RESSTR(ST_TYPE_PROCEEDINGS );
+ pValuesArr[13] = BIB_RESSTR(ST_TYPE_TECHREPORT );
+ pValuesArr[14] = BIB_RESSTR(ST_TYPE_UNPUBLISHED );
+ pValuesArr[15] = BIB_RESSTR(ST_TYPE_EMAIL );
+ pValuesArr[16] = BIB_RESSTR(ST_TYPE_WWW );
+ pValuesArr[17] = BIB_RESSTR(ST_TYPE_CUSTOM1 );
+ pValuesArr[18] = BIB_RESSTR(ST_TYPE_CUSTOM2 );
+ pValuesArr[19] = BIB_RESSTR(ST_TYPE_CUSTOM3 );
+ pValuesArr[20] = BIB_RESSTR(ST_TYPE_CUSTOM4 );
+ pValuesArr[21] = BIB_RESSTR(ST_TYPE_CUSTOM5 );
+ // empty string if an invalid value no values is set
+ pValuesArr[TYPE_COUNT] = OUString();
+
+ aAny.setValue(&aValues, cppu::UnoType<uno::Sequence<OUString>>::get());
+
+ xPropSet->setPropertyValue("StringItemList", aAny);
+
+ sal_Bool bTrue = sal_True;
+ aAny.setValue( &bTrue, cppu::UnoType<bool>::get() );
+ xPropSet->setPropertyValue( "Dropdown", aAny );
+ }
+
Reference< XFormComponent > aFormComp(xModel,UNO_QUERY );
Reference< XNameContainer > xNameCont( m_xForm, UNO_QUERY );
diff --git a/extensions/source/bibliography/general.cxx b/extensions/source/bibliography/general.cxx
index 2babb13..057c01e 100644
--- a/extensions/source/bibliography/general.cxx
+++ b/extensions/source/bibliography/general.cxx
@@ -23,7 +23,6 @@
#include <com/sun/star/sdb/XColumn.hpp>
#include <com/sun/star/sdb/CommandType.hpp>
#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
-#include <com/sun/star/form/ListSourceType.hpp>
#include <com/sun/star/awt/XWindow.hpp>
#include <toolkit/helper/vclunohelper.hxx>
#include <cppuhelper/implbase1.hxx>
@@ -222,29 +221,6 @@ BibGeneralPage::BibGeneralPage(Window* pParent, BibDataManager* pMan):
aControlParentWin.SetHelpId(HID_BIB_CONTROL_PARENT);
aStdSize = GetOutputSizePixel();
- aBibTypeArr[0] = BIB_RESSTR(ST_TYPE_ARTICLE);
- aBibTypeArr[1] = BIB_RESSTR(ST_TYPE_BOOK);
- aBibTypeArr[2] = BIB_RESSTR(ST_TYPE_BOOKLET);
- aBibTypeArr[3] = BIB_RESSTR(ST_TYPE_CONFERENCE);
- aBibTypeArr[4] = BIB_RESSTR(ST_TYPE_INBOOK );
- aBibTypeArr[5] = BIB_RESSTR(ST_TYPE_INCOLLECTION);
- aBibTypeArr[6] = BIB_RESSTR(ST_TYPE_INPROCEEDINGS);
- aBibTypeArr[7] = BIB_RESSTR(ST_TYPE_JOURNAL );
- aBibTypeArr[8] = BIB_RESSTR(ST_TYPE_MANUAL );
- aBibTypeArr[9] = BIB_RESSTR(ST_TYPE_MASTERSTHESIS);
- aBibTypeArr[10] = BIB_RESSTR(ST_TYPE_MISC );
- aBibTypeArr[11] = BIB_RESSTR(ST_TYPE_PHDTHESIS );
- aBibTypeArr[12] = BIB_RESSTR(ST_TYPE_PROCEEDINGS );
- aBibTypeArr[13] = BIB_RESSTR(ST_TYPE_TECHREPORT );
- aBibTypeArr[14] = BIB_RESSTR(ST_TYPE_UNPUBLISHED );
- aBibTypeArr[15] = BIB_RESSTR(ST_TYPE_EMAIL );
- aBibTypeArr[16] = BIB_RESSTR(ST_TYPE_WWW );
- aBibTypeArr[17] = BIB_RESSTR(ST_TYPE_CUSTOM1 );
- aBibTypeArr[18] = BIB_RESSTR(ST_TYPE_CUSTOM2 );
- aBibTypeArr[19] = BIB_RESSTR(ST_TYPE_CUSTOM3 );
- aBibTypeArr[20] = BIB_RESSTR(ST_TYPE_CUSTOM4 );
- aBibTypeArr[21] = BIB_RESSTR(ST_TYPE_CUSTOM5 );
-
FreeResource();
InitFixedTexts();
@@ -461,7 +437,7 @@ uno::Reference< awt::XControlModel > BibGeneralPage::AddXControl(
uno::Reference< awt::XControlModel > xCtrModel;
try
{
- bool bTypeListBox = sTypeColumnName == rName;
+ const bool bTypeListBox = sTypeColumnName == rName;
xCtrModel = pDatMan->loadControlModel(rName, bTypeListBox);
if ( xCtrModel.is() )
{
@@ -471,9 +447,17 @@ uno::Reference< awt::XControlModel > BibGeneralPage::AddXControl(
{
uno::Reference< beans::XPropertySetInfo > xPropInfo = xPropSet->getPropertySetInfo();
- uno::Any aAny = xPropSet->getPropertyValue( "DefaultControl" );
OUString aControlName;
- aAny >>= aControlName;
+ if (bTypeListBox)
+ {
+ aControlName = "com.sun.star.form.control.ListBox";
+ xLBModel = Reference< form::XBoundComponent >(xCtrModel, UNO_QUERY);
+ }
+ else
+ {
+ uno::Any aAny = xPropSet->getPropertyValue( "DefaultControl" );
+ aAny >>= aControlName;
+ }
OUString uProp("HelpURL");
if(xPropInfo->hasPropertyByName(uProp))
@@ -484,44 +468,6 @@ uno::Reference< awt::XControlModel > BibGeneralPage::AddXControl(
xPropSet->setPropertyValue( uProp, makeAny( sId ) );
}
- if(bTypeListBox)
- {
- //uno::Reference< beans::XPropertySet > xPropSet(xControl, UNO_QUERY);
- aAny <<= (sal_Int16)1;
- xPropSet->setPropertyValue("BoundColumn", aAny);
- ListSourceType eSet = ListSourceType_VALUELIST;
- aAny.setValue( &eSet, ::cppu::UnoType<ListSourceType>::get() );
- xPropSet->setPropertyValue("ListSourceType", aAny);
-
- uno::Sequence<OUString> aListSource(TYPE_COUNT);
- OUString* pListSourceArr = aListSource.getArray();
- //pListSourceArr[0] = "select TypeName, TypeIndex from TypeNms";
- for(sal_Int32 i = 0; i < TYPE_COUNT; ++i)
- pListSourceArr[i] = OUString::number(i);
- aAny.setValue(&aListSource, ::getCppuType((uno::Sequence<OUString>*)0));
-
- xPropSet->setPropertyValue("ListSource", aAny);
-
- uno::Sequence<OUString> aValues(TYPE_COUNT + 1);
- OUString* pValuesArr = aValues.getArray();
- for(sal_uInt16 j = 0; j < TYPE_COUNT; j++)
- pValuesArr[j] = aBibTypeArr[j];
- // empty string if an invalid value no values is set
- pValuesArr[TYPE_COUNT] = OUString();
-
- aAny.setValue(&aValues, ::getCppuType((uno::Sequence<OUString>*)0));
-
- xPropSet->setPropertyValue("StringItemList", aAny);
-
- sal_Bool bTrue = sal_True;
- aAny.setValue( &bTrue, ::getBooleanCppuType() );
- xPropSet->setPropertyValue( "Dropdown", aAny );
-
- aControlName = "com.sun.star.form.control.ListBox";
- xLBModel = Reference< form::XBoundComponent >(xCtrModel, UNO_QUERY);
-
- }
-
uno::Reference< XComponentContext > xContext = comphelper::getProcessComponentContext();
uno::Reference< awt::XControl > xControl( xContext->getServiceManager()->createInstanceWithContext(aControlName, xContext), UNO_QUERY);
if ( xControl.is() )
diff --git a/extensions/source/bibliography/general.hxx b/extensions/source/bibliography/general.hxx
index 526319f..14e44fb 100644
--- a/extensions/source/bibliography/general.hxx
+++ b/extensions/source/bibliography/general.hxx
@@ -102,7 +102,6 @@ class BibGeneralPage: public BibGeneralPageBaseClass, public BibTabPage
Size aStdSize;
Point aBasePos;
- OUString aBibTypeArr[ TYPE_COUNT ];
OUString sErrorPrefix;
OUString sTableErrorString;
diff --git a/extensions/source/bibliography/sections.hrc b/extensions/source/bibliography/sections.hrc
index 9d04056..c5e9516 100644
--- a/extensions/source/bibliography/sections.hrc
+++ b/extensions/source/bibliography/sections.hrc
@@ -59,27 +59,4 @@
#define FL_2 35
#define FL_3 36
-#define ST_TYPE_ARTICLE 40
-#define ST_TYPE_BOOK 41
-#define ST_TYPE_BOOKLET 42
-#define ST_TYPE_CONFERENCE 43
-#define ST_TYPE_INBOOK 44
-#define ST_TYPE_INCOLLECTION 45
-#define ST_TYPE_INPROCEEDINGS 46
-#define ST_TYPE_JOURNAL 47
-#define ST_TYPE_MANUAL 48
-#define ST_TYPE_MASTERSTHESIS 49
-#define ST_TYPE_MISC 50
-#define ST_TYPE_PHDTHESIS 51
-#define ST_TYPE_PROCEEDINGS 52
-#define ST_TYPE_TECHREPORT 53
-#define ST_TYPE_UNPUBLISHED 54
-#define ST_TYPE_EMAIL 55
-#define ST_TYPE_WWW 56
-#define ST_TYPE_CUSTOM1 57
-#define ST_TYPE_CUSTOM2 58
-#define ST_TYPE_CUSTOM3 59
-#define ST_TYPE_CUSTOM4 60
-#define ST_TYPE_CUSTOM5 61
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/bibliography/sections.src b/extensions/source/bibliography/sections.src
index d6fbac8..92fb2cc 100644
--- a/extensions/source/bibliography/sections.src
+++ b/extensions/source/bibliography/sections.src
@@ -244,94 +244,6 @@ TabPage RID_TP_GENERAL
{
Text [ en-US ] = "The following column names could not be assigned:\n";
};
- String ST_TYPE_ARTICLE
- {
- Text [ en-US ] = "Article";
- };
- String ST_TYPE_BOOK
- {
- Text [ en-US ] = "Book";
- };
- String ST_TYPE_BOOKLET
- {
- Text [ en-US ] = "Brochures";
- };
- String ST_TYPE_CONFERENCE
- {
- Text [ en-US ] = "Conference proceedings";
- };
- String ST_TYPE_INBOOK
- {
- Text [ en-US ] = "Book excerpt";
- };
- String ST_TYPE_INCOLLECTION
- {
- Text [ en-US ] = "Book excerpt with title";
- };
- String ST_TYPE_INPROCEEDINGS
- {
- Text [ en-US ] = "Conference proceedings";
- };
- String ST_TYPE_JOURNAL
- {
- Text [ en-US ] = "Journal";
- };
- String ST_TYPE_MANUAL
- {
- Text [ en-US ] = "Techn. documentation";
- };
- String ST_TYPE_MASTERSTHESIS
- {
- Text [ en-US ] = "Thesis";
- };
- String ST_TYPE_MISC
- {
- Text [ en-US ] = "Miscellaneous";
- };
- String ST_TYPE_PHDTHESIS
- {
- Text [ en-US ] = "Dissertation";
- };
- String ST_TYPE_PROCEEDINGS
- {
- Text [ en-US ] = "Conference proceedings";
- };
- String ST_TYPE_TECHREPORT
- {
- Text [ en-US ] = "Research report";
- };
- String ST_TYPE_UNPUBLISHED
- {
- Text [ en-US ] = "Unpublished";
- };
- String ST_TYPE_EMAIL
- {
- Text [ en-US ] = "e-mail";
- };
- String ST_TYPE_WWW
- {
- Text [ en-US ] = "WWW document";
- };
- String ST_TYPE_CUSTOM1
- {
- Text [ en-US ] = "User-defined1";
- };
- String ST_TYPE_CUSTOM2
- {
- Text [ en-US ] = "User-defined2";
- };
- String ST_TYPE_CUSTOM3
- {
- Text [ en-US ] = "User-defined3";
- };
- String ST_TYPE_CUSTOM4
- {
- Text [ en-US ] = "User-defined4";
- };
- String ST_TYPE_CUSTOM5
- {
- Text [ en-US ] = "User-defined5";
- };
Text [ en-US ] = "General";
};
@@ -461,4 +373,93 @@ String ST_CUSTOM5
Text [ en-US ] = "User-defined field ~5";
};
+String ST_TYPE_ARTICLE
+{
+ Text [ en-US ] = "Article";
+};
+String ST_TYPE_BOOK
+{
+ Text [ en-US ] = "Book";
+};
+String ST_TYPE_BOOKLET
+{
+ Text [ en-US ] = "Brochures";
+};
+String ST_TYPE_CONFERENCE
+{
+ Text [ en-US ] = "Conference proceedings";
+};
+String ST_TYPE_INBOOK
+{
+ Text [ en-US ] = "Book excerpt";
+};
+String ST_TYPE_INCOLLECTION
+{
+ Text [ en-US ] = "Book excerpt with title";
+};
+String ST_TYPE_INPROCEEDINGS
+{
+ Text [ en-US ] = "Conference proceedings";
+};
+String ST_TYPE_JOURNAL
+{
+ Text [ en-US ] = "Journal";
+};
+String ST_TYPE_MANUAL
+{
+ Text [ en-US ] = "Techn. documentation";
+};
+String ST_TYPE_MASTERSTHESIS
+{
+ Text [ en-US ] = "Thesis";
+};
+String ST_TYPE_MISC
+{
+ Text [ en-US ] = "Miscellaneous";
+};
+String ST_TYPE_PHDTHESIS
+{
+ Text [ en-US ] = "Dissertation";
+};
+String ST_TYPE_PROCEEDINGS
+{
+ Text [ en-US ] = "Conference proceedings";
+};
+String ST_TYPE_TECHREPORT
+{
+ Text [ en-US ] = "Research report";
+};
+String ST_TYPE_UNPUBLISHED
+{
+ Text [ en-US ] = "Unpublished";
+};
+String ST_TYPE_EMAIL
+{
+ Text [ en-US ] = "e-mail";
+};
+String ST_TYPE_WWW
+{
+ Text [ en-US ] = "WWW document";
+};
+String ST_TYPE_CUSTOM1
+{
+ Text [ en-US ] = "User-defined1";
+};
+String ST_TYPE_CUSTOM2
+{
+ Text [ en-US ] = "User-defined2";
+};
+String ST_TYPE_CUSTOM3
+{
+ Text [ en-US ] = "User-defined3";
+};
+String ST_TYPE_CUSTOM4
+{
+ Text [ en-US ] = "User-defined4";
+};
+String ST_TYPE_CUSTOM5
+{
+ Text [ en-US ] = "User-defined5";
+};
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit b3580b0bbf210be655b4dd976023cbbdacc4891d
Author: Andras Timar <andras.timar at collabora.com>
Date: Sat Apr 4 14:13:18 2015 +0200
tdf#90404 OOXML chart legend import improvement
In the bugdoc, the chart legend had 6 entries in PowerPoint, but
only 5 in Impress. I played a lot with padding and offset parameters
in layout algorithm without success. Finally I introduced this 1mm
tolerance, so the fixed legend frame can expand up to 1mm, if necessary.
Change-Id: Id1ad1df67aab41d942133cea8d16fccf0f215167
Reviewed-on: https://gerrit.libreoffice.org/15149
Reviewed-by: Andras Timar <andras.timar at collabora.com>
Tested-by: Andras Timar <andras.timar at collabora.com>
(cherry picked from commit 6220362e844ad0e50a38c1627ddd05a082882009)
Reviewed-on: https://gerrit.libreoffice.org/15154
Tested-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
diff --git a/chart2/source/view/main/VLegend.cxx b/chart2/source/view/main/VLegend.cxx
index 1df4e74..84d62bc 100644
--- a/chart2/source/view/main/VLegend.cxx
+++ b/chart2/source/view/main/VLegend.cxx
@@ -390,7 +390,7 @@ awt::Size lcl_placeLegendEntries(
nSumHeight += aRowHeights[nR];
sal_Int32 nRemainingSpace = rAvailableSpace.Height - nSumHeight;
- if( nRemainingSpace<0 )
+ if( nRemainingSpace < -100 ) // 1mm tolerance for OOXML interop tdf#90404
{
//remove entries that are too big
for( sal_Int32 nR=nNumberOfRows; nR--; )
@@ -418,7 +418,7 @@ awt::Size lcl_placeLegendEntries(
}
nNumberOfRows = static_cast<sal_Int32>(aRowHeights.size());
}
- if( nRemainingSpace > 0 )
+ if( nRemainingSpace >= -100 ) // 1mm tolerance for OOXML interop tdf#90404
{
sal_Int32 nNormalSpacingHeight = 2*nYPadding+(nNumberOfRows-1)*nYOffset;
if( nRemainingSpace < nNormalSpacingHeight )
commit 0f7a9012e175d6b7629ae1d78fb4435192016e47
Author: Andras Timar <andras.timar at collabora.com>
Date: Thu Apr 2 13:42:11 2015 +0200
tdf#90403 PPTX import: use real table size
PowerPoint ignores a:ext cx and cy value of p:xfrm, and uses
real table width and height. PowerPoint 2010 saves files where
cx and cy contains good values, but I found files in the wild
whose cx and cy values did not match to actual table width and
height, and there was a visible difference between rendering
of Impress and PowerPoint.
Reviewed-on: https://gerrit.libreoffice.org/15123
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Andras Timar <andras.timar at collabora.com>
(cherry picked from commit 037fe3671cbdad51f52d2f69f72f47f463dba7c2)
Conflicts:
oox/source/drawingml/shape.cxx
sd/qa/unit/import-tests.cxx
Change-Id: I3f80c0cea4cac46763d449f918bb78dca1a6562d
Reviewed-on: https://gerrit.libreoffice.org/15133
Tested-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index d6f45c9..e306232 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -416,6 +416,23 @@ Reference< XShape > Shape::createAndInsert(
bool bIsEmbMedia = false;
SAL_INFO("oox.drawingml", OSL_THIS_FUNC << " id: " << msId);
+ // tdf#90403 PowerPoint ignores a:ext cx and cy values of p:xfrm, and uses real table width and height
+ if ( mpTablePropertiesPtr.get() && rServiceName == "com.sun.star.drawing.TableShape" )
+ {
+ maSize.Width = 0;
+ for( std::vector< sal_Int32 >::const_iterator aTableColIter(mpTablePropertiesPtr->getTableGrid().begin());
+ aTableColIter != mpTablePropertiesPtr->getTableGrid().end(); aTableColIter++ )
+ {
+ maSize.Width += *aTableColIter;
+ }
+ maSize.Height = 0;
+ for( std::vector< ::oox::drawingml::table::TableRow >::const_iterator aTableRowIter(mpTablePropertiesPtr->getTableRows().begin());
+ aTableRowIter != mpTablePropertiesPtr->getTableRows().end(); aTableRowIter++ )
+ {
+ maSize.Height += (*aTableRowIter).getHeight();
+ }
+ }
+
awt::Rectangle aShapeRectHmm( maPosition.X / 360, maPosition.Y / 360, maSize.Width / 360, maSize.Height / 360 );
OUString aServiceName;
diff --git a/sd/qa/unit/data/tdf90403.pptx b/sd/qa/unit/data/tdf90403.pptx
new file mode 100644
index 0000000..fd48d05
Binary files /dev/null and b/sd/qa/unit/data/tdf90403.pptx differ
diff --git a/sd/qa/unit/data/xml/tdf90403_0.xml b/sd/qa/unit/data/xml/tdf90403_0.xml
new file mode 100644
index 0000000..297504d
--- /dev/null
+++ b/sd/qa/unit/data/xml/tdf90403_0.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<XShapes>
+ <XShape positionX="4233" positionY="3881" sizeX="16932" sizeY="14044" type="com.sun.star.drawing.TableShape" name="Table 1"/>
+</XShapes>
diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index 13b23b7..b52fb0c 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -194,6 +194,7 @@ void SdFiltersTest::testDocumentLayout()
{ "n593612.pptx", "xml/n593612_", -1 },
{ "fdo71434.pptx", "xml/fdo71434_", -1 },
{ "n902652.pptx", "xml/n902652_", -1 },
+ { "tdf90403.pptx", "xml/tdf90403_", -1 },
// { "pptx/n828390.pptx", "pptx/xml/n828390_", PPTX }, // Example
};
commit b9dc8c566d0e32048b91d1902b8b36f7f9e4d874
Author: Julien Nabet <serval2412 at yahoo.fr>
Date: Sat Mar 7 09:04:34 2015 +0100
tdf#88847: Fields of query design can be moved to the left only
Part of code
1299 ImplHeadItemList::iterator it = mpItemList->begin();
1300 ::std::advance( it, nPos );
1301 ImplHeadItem* pItem = *it;
1302 mpItemList->erase( it );
1303 if ( nNewPos < nPos ) <-- case move to left
1304 nPos = nNewPos;
1305 it = mpItemList->begin();
1306 ::std::advance( it, nPos );
1307 mpItemList->insert( it, pItem );
So in move to right case, we erase and insert pItem at the same place
We just have to use nNewPos in all cases
regression from bd24a310be1459510b760b812838cb87923853c5
Also add back "ImplUpdate" call erroneously removed in merge
commit 67d2af6fac2d9bad52a6b1f6e0cbd1229eb88a42
(there is an ImplUpdate call in each parent of that merge commit)
Change-Id: I100b0c6874b366f777c5d38470fcee7a9a7326df
(cherry picked from commit 63050dccbc50f148cd788730faa53d822d37e54f)
Reviewed-on: https://gerrit.libreoffice.org/14787
Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
Tested-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
diff --git a/svtools/source/control/headbar.cxx b/svtools/source/control/headbar.cxx
index 1b39707..5309281 100644
--- a/svtools/source/control/headbar.cxx
+++ b/svtools/source/control/headbar.cxx
@@ -1302,8 +1302,9 @@ void HeaderBar::MoveItem( sal_uInt16 nItemId, sal_uInt16 nNewPos )
if ( nNewPos < nPos )
nPos = nNewPos;
it = mpItemList->begin();
- ::std::advance( it, nPos );
+ ::std::advance( it, nNewPos );
mpItemList->insert( it, pItem );
+ ImplUpdate( nPos, true);
}
}
}
commit 34e53df32f63f3044fbbe9fd3be3774407bb332e
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Apr 2 16:29:53 2015 +0100
Resolves: tdf#86399 don't clobber cluster start caret pos
with other cluster element bounds
(cherry picked from commit b1030f75d3e47719ca63ec518f1da75196bead1a)
Conflicts:
vcl/source/gdi/sallayout.cxx
Change-Id: I2cc976eb6a0ef42a2678be80637c7220e2247921
Reviewed-on: https://gerrit.libreoffice.org/15121
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/vcl/source/gdi/sallayout.cxx b/vcl/source/gdi/sallayout.cxx
index 20a0ff6..ee06017 100644
--- a/vcl/source/gdi/sallayout.cxx
+++ b/vcl/source/gdi/sallayout.cxx
@@ -1251,19 +1251,20 @@ void GenericSalLayout::KashidaJustify( long nKashidaIndex, int nKashidaWidth )
void GenericSalLayout::GetCaretPositions( int nMaxIndex, sal_Int32* pCaretXArray ) const
{
// initialize result array
- long nXPos = -1;
- int i;
- for( i = 0; i < nMaxIndex; ++i )
- pCaretXArray[ i ] = nXPos;
+ for (int i = 0; i < nMaxIndex; ++i)
+ pCaretXArray[i] = -1;
// calculate caret positions using glyph array
for( GlyphVector::const_iterator pG = m_GlyphItems.begin(), pGEnd = m_GlyphItems.end(); pG != pGEnd; ++pG )
{
- nXPos = pG->maLinearPos.X();
+ long nXPos = pG->maLinearPos.X();
long nXRight = nXPos + pG->mnOrigWidth;
int n = pG->mnCharPos;
int nCurrIdx = 2 * (n - mnMinCharPos);
- if( !pG->IsRTLGlyph() )
+ // tdf#86399 if this is not the start of a cluster, don't overwrite the caret bounds of the cluster start
+ if (!pG->IsClusterStart() && pCaretXArray[nCurrIdx] != -1)
+ continue;
+ if (!pG->IsRTLGlyph())
{
// normal positions for LTR case
pCaretXArray[ nCurrIdx ] = nXPos;
commit e5db4ed3b4bfd0cca7eabd35e34ed57a5c3bf3a6
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Apr 3 12:39:07 2015 +0100
Resolves: tdf#87548 don't create a new list for each multiselection portion
create one list and share it among all the subsections
possibly a regression from/triggered by
author Oliver-Rainer Wittmann <orw at apache.org> 2014-03-18 14:33:39 (GMT)
Resolves: #i124371# When changing the numbering or bullet styling... of a set
of paragraph which have more than one different List Style applied create a new
List Style and put the paragraphs into a new list.
(cherry picked from commit 0087ca89e3905009ed947c651f3dc70f3d61ea93)
(cherry picked from commit db41e274747e6f1d3eee2bd5efb3321cfcbd6b75)
Conflicts:
sw/source/core/doc/docnum.cxx
Change-Id: I9416b97d6afe323ac99150fdcc23f71ecea98a58
Reviewed-on: https://gerrit.libreoffice.org/15139
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/sw/inc/doc.hxx b/sw/inc/doc.hxx
index f3cc3ba..dc0bc6b 100644
--- a/sw/inc/doc.hxx
+++ b/sw/inc/doc.hxx
@@ -1438,10 +1438,12 @@ public:
Parameters <bCreateNewList> and <sContinuedListId>:
<bCreateNewList> indicates, if a new list is created by applying the given list style.
If <bCreateNewList> equals false, <sContinuedListId> may contain the
- list Id of a list, which has to be continued by applying the given list style */
- void SetNumRule( const SwPaM&,
+ list Id of a list, which has to be continued by applying the given list style
+
+ Returns the set ListId if bSetItem is true */
+ OUString SetNumRule( const SwPaM&,
const SwNumRule&,
- const bool bCreateNewList,
+ bool bCreateNewList,
const OUString& sContinuedListId = OUString(),
bool bSetItem = true,
const bool bResetIndentAttrs = false );
diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index bf7b4f2..e109b40 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -823,13 +823,15 @@ static void lcl_ChgNumRule( SwDoc& rDoc, const SwNumRule& rRule )
rDoc.UpdateNumRule();
}
-void SwDoc::SetNumRule( const SwPaM& rPam,
+OUString SwDoc::SetNumRule( const SwPaM& rPam,
const SwNumRule& rRule,
const bool bCreateNewList,
const OUString& sContinuedListId,
bool bSetItem,
const bool bResetIndentAttrs )
{
+ OUString sListId;
+
SwUndoInsNum * pUndo = NULL;
if (GetIDocumentUndoRedo().DoesUndo())
{
@@ -863,7 +865,6 @@ void SwDoc::SetNumRule( const SwPaM& rPam,
if ( bSetItem )
{
- OUString sListId;
if ( bCreateNewList )
{
if ( bNewNumRuleCreated )
@@ -942,8 +943,9 @@ void SwDoc::SetNumRule( const SwPaM& rPam,
}
SetModified();
-}
+ return sListId;
+}
void SwDoc::SetCounted(const SwPaM & rPam, bool bCounted)
{
diff --git a/sw/source/core/edit/ednumber.cxx b/sw/source/core/edit/ednumber.cxx
index c867901..e5e9d3e 100644
--- a/sw/source/core/edit/ednumber.cxx
+++ b/sw/source/core/edit/ednumber.cxx
@@ -734,8 +734,8 @@ const SwNumRule* SwEditShell::GetNumRuleAtCurrentSelection() const
}
void SwEditShell::SetCurNumRule( const SwNumRule& rRule,
- const bool bCreateNewList,
- const OUString& sContinuedListId,
+ bool bCreateNewList,
+ const OUString& rContinuedListId,
const bool bResetIndentAttrs )
{
StartAllAction();
@@ -747,19 +747,29 @@ void SwEditShell::SetCurNumRule( const SwNumRule& rRule,
{
SwPamRanges aRangeArr( *pCrsr );
SwPaM aPam( *pCrsr->GetPoint() );
+ OUString sContinuedListId(rContinuedListId);
for( sal_uInt16 n = 0; n < aRangeArr.Count(); ++n )
{
aRangeArr.SetPam( n, aPam );
- GetDoc()->SetNumRule( aPam, rRule,
+ OUString sListId = GetDoc()->SetNumRule( aPam, rRule,
bCreateNewList, sContinuedListId,
true, bResetIndentAttrs );
+
+ //tdf#87548 On creating a new list for a multi-selection only
+ //create a single new list for the multi-selection, not one per selection
+ if (bCreateNewList)
+ {
+ sContinuedListId = sListId;
+ bCreateNewList = false;
+ }
+
GetDoc()->SetCounted( aPam, true );
}
}
else
{
GetDoc()->SetNumRule( *pCrsr, rRule,
- bCreateNewList, sContinuedListId,
+ bCreateNewList, rContinuedListId,
true, bResetIndentAttrs );
GetDoc()->SetCounted( *pCrsr, true );
}
commit 140adce88d2e5c0c80bb79385c7778a6fddfd72f
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Apr 3 15:39:30 2015 +0100
Resolves: tdf#90138 don't try to save a marks OtherPos if it doesn't have one
Change-Id: I522a236015c91c0744b3018d3d4e4d6c65ea19ab
(cherry picked from commit 4fe5b44b15647542b1550deaeee43ec3d1e57591)
Reviewed-on: https://gerrit.libreoffice.org/15141
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/sw/source/core/undo/undobj.cxx b/sw/source/core/undo/undobj.cxx
index 78697dc..2134e04 100644
--- a/sw/source/core/undo/undobj.cxx
+++ b/sw/source/core/undo/undobj.cxx
@@ -783,7 +783,7 @@ void SwUndoSaveCntnt::DelCntntIndex( const SwPosition& rMark,
if ( *pStt < rAnnotationEndPos && rAnnotationEndPos <= *pEnd )
{
bSavePos = true;
- bSaveOtherPos = true;
+ bSaveOtherPos = pBkmk->IsExpanded(); //tdf#90138, only save the other pos if there is one
}
}
}
commit 0923e527291070ccf1262d17b1cd168b5caa1f93
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Apr 3 16:25:13 2015 +0100
Resolves: tdf#83977 Push/Pop before/after messing with the cursor
otherwise we lose our selection with multi-page tables
Change-Id: I4f52d3cfb7a6d3c2cc1dbb68bbd5ce5c0005b1c3
(cherry picked from commit 4c4a9767f7fb0c7891f1dd96cbe38a9c35e46083)
Reviewed-on: https://gerrit.libreoffice.org/15143
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/sw/source/ui/chrdlg/drpcps.cxx b/sw/source/ui/chrdlg/drpcps.cxx
index ff3b11f..134482a 100644
--- a/sw/source/ui/chrdlg/drpcps.cxx
+++ b/sw/source/ui/chrdlg/drpcps.cxx
@@ -270,8 +270,8 @@ void SwDropCapsPict::UpdatePaintSettings( void )
if (!mpPage->m_pTemplateBox->GetSelectEntryPos())
{
// query the Font at paragraph's beginning
- mpPage->rSh.SttCrsrMove();
mpPage->rSh.Push();
+ mpPage->rSh.SttCrsrMove();
mpPage->rSh.ClearMark();
SwWhichPara pSwuifnParaCurr = GetfnParaCurr();
SwPosPara pSwuifnParaStart = GetfnParaStart();
@@ -285,8 +285,8 @@ void SwDropCapsPict::UpdatePaintSettings( void )
// CTL
GetFontSettings( *mpPage, maCTLFont, RES_CHRATR_CTL_FONT );
- mpPage->rSh.Pop(false);
mpPage->rSh.EndCrsrMove();
+ mpPage->rSh.Pop(false);
}
else
{
commit e5a8abbbf7d62be41c8b91fad1004b226bee6aa7
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Apr 7 16:45:38 2015 +0100
fix crash on re-export of fdo64646-4.xls back to xls
Change-Id: Ic6d6e7d7d8d42af0fc739d964a1190d40f9dba2e
(cherry picked from commit b56b5d449fc74809fddc9b9bbd1d9f8d244a0d10)
Reviewed-on: https://gerrit.libreoffice.org/15188
Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
Tested-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index af7d98f..524f97f 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -3462,17 +3462,19 @@ sal_uInt32 ScDocument::GetNumberFormat( const ScRange& rRange ) const
sal_uInt32 ScDocument::GetNumberFormat( const ScAddress& rPos ) const
{
SCTAB nTab = rPos.Tab();
- if ( maTabs[nTab] )
- return maTabs[nTab]->GetNumberFormat( rPos );
- return 0;
+ if (!TableExists(nTab))
+ return 0;
+
+ return maTabs[nTab]->GetNumberFormat( rPos );
}
void ScDocument::SetNumberFormat( const ScAddress& rPos, sal_uInt32 nNumberFormat )
{
- if (!TableExists(rPos.Tab()))
+ SCTAB nTab = rPos.Tab();
+ if (!TableExists(nTab))
return;
- maTabs[rPos.Tab()]->SetNumberFormat(rPos.Col(), rPos.Row(), nNumberFormat);
+ maTabs[nTab]->SetNumberFormat(rPos.Col(), rPos.Row(), nNumberFormat);
}
void ScDocument::GetNumberFormatInfo( short& nType, sal_uLong& nIndex,
commit 5782f85f3e38eaa902a399016f0977aca1032cc0
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Apr 7 17:15:18 2015 +0200
Missing @since tag
cf. dd9c9a69da7b22c4166391df082ac23878312a01 "Add the 'quoteright' key to the
list of available keyboard shortcuts."
Change-Id: Ia064782505e317ee3d1c3622c273eb892e477b5e
(cherry picked from commit 1856a9df67d12b2e829445274d2969d10845a820)
diff --git a/offapi/com/sun/star/awt/Key.idl b/offapi/com/sun/star/awt/Key.idl
index 09b519a..b3358441 100644
--- a/offapi/com/sun/star/awt/Key.idl
+++ b/offapi/com/sun/star/awt/Key.idl
@@ -363,6 +363,7 @@ published constants Key
const short SEMICOLON = 1317;
+ /** @since LibreOffice 4.3 **/
const short QUOTERIGHT = 1318;
More information about the Libreoffice-commits
mailing list