diff options
author | Yegor Kozlov <yegor@apache.org> | 2012-03-01 09:03:16 +0000 |
---|---|---|
committer | Yegor Kozlov <yegor@apache.org> | 2012-03-01 09:03:16 +0000 |
commit | a437cd08acbf8f9c89679ca1c749f77c0450f00e (patch) | |
tree | 75469f17f41f47b4f5fb0b25f81112c5a234bcd2 | |
parent | 2c1f56d1fbdb47c2a541f7f70b984b0d60ea2a26 (diff) | |
download | poi-a437cd08acbf8f9c89679ca1c749f77c0450f00e.tar.gz poi-a437cd08acbf8f9c89679ca1c749f77c0450f00e.zip |
bugzilla 52244 - use correct text attributes when presentation has multiple TxMasterStyleAtoms of the same type
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1295478 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | src/documentation/content/xdocs/status.xml | 1 | ||||
-rw-r--r-- | src/scratchpad/src/org/apache/poi/hslf/model/SlideMaster.java | 3 | ||||
-rw-r--r-- | src/scratchpad/testcases/org/apache/poi/hslf/model/TestTextRun.java | 17 | ||||
-rw-r--r-- | test-data/slideshow/52244.ppt | bin | 0 -> 78848 bytes |
4 files changed, 20 insertions, 1 deletions
diff --git a/src/documentation/content/xdocs/status.xml b/src/documentation/content/xdocs/status.xml index 42050460be..aeb943121b 100644 --- a/src/documentation/content/xdocs/status.xml +++ b/src/documentation/content/xdocs/status.xml @@ -34,6 +34,7 @@ <changes> <release version="3.8-beta6" date="2012-??-??"> + <action dev="poi-developers" type="fix">52244 - use correct text attributes when presentation has multiple TxMasterStyleAtoms of the same type</action> <action dev="poi-developers" type="add">support setting background color of sheet tab in XSSF</action> <action dev="poi-developers" type="add">51564 - support for enforcing fields update in XWPF</action> <action dev="poi-developers" type="add">51673 - support grouping rows in SXSSF</action> diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/SlideMaster.java b/src/scratchpad/src/org/apache/poi/hslf/model/SlideMaster.java index 5ebbb27fba..a103d09c77 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/model/SlideMaster.java +++ b/src/scratchpad/src/org/apache/poi/hslf/model/SlideMaster.java @@ -124,7 +124,8 @@ public final class SlideMaster extends MasterSheet { TxMasterStyleAtom[] txrec = ((MainMaster)getSheetContainer()).getTxMasterStyleAtoms(); for (int i = 0; i < txrec.length; i++) { - _txmaster[txrec[i].getTextType()] = txrec[i]; + int txType = txrec[i].getTextType(); + if(_txmaster[txType] == null) _txmaster[txType] = txrec[i]; } } } diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestTextRun.java b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestTextRun.java index 471ee5bb50..f59eef3a5f 100644 --- a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestTextRun.java +++ b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestTextRun.java @@ -531,4 +531,21 @@ public final class TestTextRun extends TestCase { } } + + public void test52244() throws IOException { + SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("52244.ppt")); + Slide slide = ppt.getSlides()[0]; + TextRun[] runs = slide.getTextRuns(); + + assertEquals("Arial", runs[0].getRichTextRuns()[0].getFontName()); + assertEquals(36, runs[0].getRichTextRuns()[0].getFontSize()); + + assertEquals("Arial", runs[1].getRichTextRuns()[0].getFontName()); + assertEquals(24, runs[1].getRichTextRuns()[0].getFontSize()); + + assertEquals("Arial", runs[2].getRichTextRuns()[0].getFontName()); + assertEquals(32, runs[2].getRichTextRuns()[0].getFontSize()); + + } + } diff --git a/test-data/slideshow/52244.ppt b/test-data/slideshow/52244.ppt Binary files differnew file mode 100644 index 0000000000..aaf3843608 --- /dev/null +++ b/test-data/slideshow/52244.ppt |