[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - 2 commits - basctl/source sw/qa sw/source
Noel Power
noel.power at suse.com
Sun Sep 15 17:22:55 PDT 2013
basctl/source/basicide/basides1.cxx | 3 +++
sw/qa/core/data/ww5/pass/ooo2535-1.doc |binary
sw/qa/core/filters-test.cxx | 4 ++++
sw/source/filter/ww8/ww8scan.cxx | 10 +++++++++-
4 files changed, 16 insertions(+), 1 deletion(-)
New commits:
commit 2a151b7e3258f24299f885d020b07ab50582e7df
Author: Noel Power <noel.power at suse.com>
Date: Thu Sep 12 21:37:42 2013 +0100
fix for fdo#69173 crasher
the layout changes for the basic IDE ( for the object browser and object
catalog ) seem flacky, I have seen since those changes have been introduced
some strange ( but random ) behaviour ( like the odd unrepeatable core ( maybe
related to this ) and also sometimes Modules appearing in the tree under the
wrong nodes etc. I'm no expert in the basic IDE code but this patch seems to
fix the problem.
However there is one drawback, in the core inducing scenario the tree view
( object catalog ) dissappears, this is because the patch suppresses the
problematic layout in this case ( as the layout seem not to be currently able
to deal with 'no-existent' (recently) deleted current window )
Probably in this scenario a fallback currentwin (instead of nil) could be set
this would behave better but ideally. Ultimately the layout class should
probably be modified ( possibly redesigned )
Change-Id: I9d1e23bd6fc4aae32aa78da8278c318f7051136a
diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx
index 85da8ae..a7babde 100644
--- a/basctl/source/basicide/basides1.cxx
+++ b/basctl/source/basicide/basides1.cxx
@@ -1010,7 +1010,10 @@ void Shell::SetCurWindow( BaseWindow* pNewWin, bool bUpdateTabBar, bool bRemembe
}
}
else
+ {
+ SetWindow(pLayout);
pLayout = 0;
+ }
if ( bUpdateTabBar )
{
sal_uLong nKey = GetWindowId( pCurWin );
commit c0cf51a499ec52b23443393b67425ab557328a9a
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Sep 11 09:32:11 2013 +0100
CID#736212 clip word 2 pap bounds
and add a unit test for the word 2..5 formats
(cherry picked from commit 5d8a9d56de7c1217cfdbe2288c1a3a9128c3dbb5)
Conflicts:
sw/qa/core/filters-test.cxx
Change-Id: I6c7c26be6092acbb81282080de6c393d92ad5dd4
Reviewed-on: https://gerrit.libreoffice.org/5912
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
diff --git a/sw/qa/core/data/ww5/fail/.gitignore b/sw/qa/core/data/ww5/fail/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/sw/qa/core/data/ww5/indeterminate/.gitignore b/sw/qa/core/data/ww5/indeterminate/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/sw/qa/core/data/ww5/pass/.gitignore b/sw/qa/core/data/ww5/pass/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/sw/qa/core/data/ww5/pass/ooo2535-1.doc b/sw/qa/core/data/ww5/pass/ooo2535-1.doc
new file mode 100644
index 0000000..2c594f5
Binary files /dev/null and b/sw/qa/core/data/ww5/pass/ooo2535-1.doc differ
diff --git a/sw/qa/core/filters-test.cxx b/sw/qa/core/filters-test.cxx
index 9905b23..e54cec5 100644
--- a/sw/qa/core/filters-test.cxx
+++ b/sw/qa/core/filters-test.cxx
@@ -124,6 +124,10 @@ void SwFiltersTest::testCVEs()
getURLFromSrc("/sw/qa/core/data/ww8/"),
rtl::OUString(FILTER_WW8));
+ testDir(rtl::OUString("MS WinWord 5"),
+ getURLFromSrc("/sw/qa/core/data/ww5/"),
+ rtl::OUString(sWW5));
+
testDir(rtl::OUString("Text (encoded)"),
getURLFromSrc("/sw/qa/core/data/txt/"),
rtl::OUString(FILTER_TEXT_DLG));
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index e9ef6f8..3b0acb5 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -2521,7 +2521,15 @@ WW8PLCFx_Fc_FKP::WW8Fkp::WW8Fkp(ww::WordVersion eVersion, SvStream* pSt,
{
aEntry.mnLen-=6; //PHE
//skipi stc, len byte + 6 byte PHE
- aEntry.mpData = maRawData + nOfs + 8;
+ unsigned int nOffset = nOfs + 8;
+ if (nOffset >= 511) //Bad offset
+ aEntry.mnLen=0;
+ if (aEntry.mnLen) //start is ok
+ {
+ if (nOffset + aEntry.mnLen > 512) //Bad end, clip
+ aEntry.mnLen = 512 - nOffset;
+ aEntry.mpData = maRawData + nOffset;
+ }
}
else
aEntry.mnLen=0; //Too short
More information about the Libreoffice-commits
mailing list