diff --git a/build.gradle b/build.gradle index 727c34a2634..ab1d52b8bf3 100644 --- a/build.gradle +++ b/build.gradle @@ -141,7 +141,7 @@ subprojects { apply plugin: 'de.thetaphi.forbiddenapis' apply plugin: 'com.github.spotbugs' - version = '5.2.3-AIRSLATE-26.5' + version = '5.2.3-AIRSLATE-26.8' ext { bouncyCastleVersion = '1.70' commonsCodecVersion = '1.15' diff --git a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java index db9114be630..d5a618241a9 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFRun.java @@ -517,8 +517,16 @@ public void setUnderline(UnderlinePatterns value) { * @return The underline, or null create is false and there is no underline. */ private CTUnderline getCTUnderline(boolean create) { - CTRPr pr = getRunProperties(true); - return pr.sizeOfUArray() > 0 ? pr.getUArray(0) : (create ? pr.addNewU() : null); + CTRPr pr = getRunProperties(create); + if (pr != null) { + if (pr.sizeOfUArray() > 0) { + return pr.getUArray(0); + } + if (create) { + return pr.addNewU(); + } + } + return null; } /** @@ -580,9 +588,11 @@ public STThemeColor.Enum getUnderlineThemeColor() { * @since 4.0.0 */ public String getUnderlineColor() { - CTUnderline underline = getCTUnderline(true); - assert(underline != null); + CTUnderline underline = getCTUnderline(false); String colorName = "auto"; + if (underline == null) { + return colorName; + } Object rawValue = underline.getColor(); if (rawValue != null) { if (rawValue instanceof String) { @@ -1671,11 +1681,12 @@ public STEm.Enum getEmphasisMark() { if (pr == null) { return STEm.NONE; } - CTEm emphasis = pr.sizeOfEmArray() > 0 ? pr.getEmArray(0) : pr.addNewEm(); - - STEm.Enum val = emphasis.getVal(); + if (pr.sizeOfEmArray() == 0) { + return STEm.NONE; + } + STEm.Enum val = pr.getEmArray(0).getVal(); if (val == null) { - val = STEm.NONE; + return STEm.NONE; } return val; }