commit baccce7d2de92dcf57eb2afa8492e56a4805b1af
Author: Thibaut Cuvelier <tcuvel...@lyx.org>
Date:   Mon Feb 26 16:09:26 2024 +0100

    DocBook: in a table, fix a typo in a condition.
    
    Before this patch, all table cells had a semicolon at the beginning of 
their style:
    
    <td style='; border-bottom:
    
    This unwanted behaviour is only due to a typo in a condition when 
concatenating two styles: the previous code was checking the second part of the 
style once the first was output, instead of the first one.
---
 autotests/export/docbook/basic.xml | 54 +++++++++++++++++++-------------------
 src/insets/InsetTabular.cpp        |  2 +-
 2 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/autotests/export/docbook/basic.xml 
b/autotests/export/docbook/basic.xml
index c03a26c12d..2248a2cbf4 100644
--- a/autotests/export/docbook/basic.xml
+++ b/autotests/export/docbook/basic.xml
@@ -153,31 +153,31 @@ I am no more code. </para>
 <caption>I am a table caption below the table.</caption>
 <tbody>
 <tr>
-<td align='center' valign='top'>
+<td style='border-bottom: 3.000000px double; border-left: 1px solid; 
border-top: 1.000000px solid' align='center' valign='top'>
 <para>Table 1</para>
 </td>
-<td align='center' valign='top'>
+<td style='border-bottom: 3.000000px double; border-left: 1px solid; 
border-top: 1.000000px solid' align='center' valign='top'>
 <para>Table 2</para>
 </td>
-<td align='center' valign='top'>
+<td style='border-bottom: 3.000000px double; border-right: 1px solid; 
border-left: 1px solid; border-top: 1.000000px solid' align='center' 
valign='top'>
 <para>Table 3</para>
 </td>
 </tr>
 <tr>
-<td align='center' valign='top'>
+<td style='border-left: 1px solid; border-top: 1.000000px solid' 
align='center' valign='top'>
 <para>Row 1</para>
 </td>
-<td align='center' valign='top'></td>
-<td align='center' valign='top'>
+<td style='border-left: 1px solid; border-top: 1.000000px solid' 
align='center' valign='top'></td>
+<td style='border-right: 1px solid; border-left: 1px solid; border-top: 
1.000000px solid' align='center' valign='top'>
 <para>Col 3, row 1</para>
 </td>
 </tr>
 <tr>
-<td align='center' valign='top'>
+<td style='border-bottom: 1.000000px solid; border-left: 1px solid; 
border-top: 1.000000px solid' align='center' valign='top'>
 <para>Row 2</para>
 </td>
-<td align='center' valign='top'></td>
-<td align='center' valign='top'>
+<td style='border-bottom: 1.000000px solid; border-left: 1px solid; 
border-top: 1.000000px solid' align='center' valign='top'></td>
+<td style='border-bottom: 1.000000px solid; border-right: 1px solid; 
border-left: 1px solid; border-top: 1.000000px solid' align='center' 
valign='top'>
 <para>Col 3, row 2</para>
 </td>
 </tr>
@@ -187,31 +187,31 @@ I am no more code. </para>
 <caption>I am a table caption above the table.</caption>
 <tbody>
 <tr>
-<td align='center' valign='top'>
+<td style='border-bottom: 3.000000px double; border-left: 1px solid; 
border-top: 1.000000px solid' align='center' valign='top'>
 <para>Table 1</para>
 </td>
-<td align='center' valign='top'>
+<td style='border-bottom: 3.000000px double; border-left: 1px solid; 
border-top: 1.000000px solid' align='center' valign='top'>
 <para>Table 2</para>
 </td>
-<td align='center' valign='top'>
+<td style='border-bottom: 3.000000px double; border-right: 1px solid; 
border-left: 1px solid; border-top: 1.000000px solid' align='center' 
valign='top'>
 <para>Table 3</para>
 </td>
 </tr>
 <tr>
-<td align='center' valign='top'>
+<td style='border-left: 1px solid; border-top: 1.000000px solid' 
align='center' valign='top'>
 <para>Row 1</para>
 </td>
-<td align='center' valign='top'></td>
-<td align='center' valign='top'>
+<td style='border-left: 1px solid; border-top: 1.000000px solid' 
align='center' valign='top'></td>
+<td style='border-right: 1px solid; border-left: 1px solid; border-top: 
1.000000px solid' align='center' valign='top'>
 <para>Col 3, row 1</para>
 </td>
 </tr>
 <tr>
-<td align='center' valign='top'>
+<td style='border-bottom: 1.000000px solid; border-left: 1px solid; 
border-top: 1.000000px solid' align='center' valign='top'>
 <para>Row 2</para>
 </td>
-<td align='center' valign='top'></td>
-<td align='center' valign='top'>
+<td style='border-bottom: 1.000000px solid; border-left: 1px solid; 
border-top: 1.000000px solid' align='center' valign='top'></td>
+<td style='border-bottom: 1.000000px solid; border-right: 1px solid; 
border-left: 1px solid; border-top: 1.000000px solid' align='center' 
valign='top'>
 <para>Col 3, row 2</para>
 </td>
 </tr>
@@ -220,31 +220,31 @@ I am no more code. </para>
 <informaltable>
 <tbody>
 <tr>
-<td align='center' valign='top'>
+<td style='border-bottom: 3.000000px double; border-left: 1px solid; 
border-top: 1.000000px solid' align='center' valign='top'>
 <para>Table that has no caption 1</para>
 </td>
-<td align='center' valign='top'>
+<td style='border-bottom: 3.000000px double; border-left: 1px solid; 
border-top: 1.000000px solid' align='center' valign='top'>
 <para>Table that has no caption 2</para>
 </td>
-<td align='center' valign='top'>
+<td style='border-bottom: 3.000000px double; border-right: 1px solid; 
border-left: 1px solid; border-top: 1.000000px solid' align='center' 
valign='top'>
 <para>Table that has no caption 3</para>
 </td>
 </tr>
 <tr>
-<td align='center' valign='top'>
+<td style='border-left: 1px solid; border-top: 1.000000px solid' 
align='center' valign='top'>
 <para>Row 1</para>
 </td>
-<td align='center' valign='top'></td>
-<td align='center' valign='top'>
+<td style='border-left: 1px solid; border-top: 1.000000px solid' 
align='center' valign='top'></td>
+<td style='border-right: 1px solid; border-left: 1px solid; border-top: 
1.000000px solid' align='center' valign='top'>
 <para>Col 3, row 1</para>
 </td>
 </tr>
 <tr>
-<td align='center' valign='top'>
+<td style='border-bottom: 1.000000px solid; border-left: 1px solid; 
border-top: 1.000000px solid' align='center' valign='top'>
 <para>Row 2</para>
 </td>
-<td align='center' valign='top'></td>
-<td align='center' valign='top'>
+<td style='border-bottom: 1.000000px solid; border-left: 1px solid; 
border-top: 1.000000px solid' align='center' valign='top'></td>
+<td style='border-bottom: 1.000000px solid; border-right: 1px solid; 
border-left: 1px solid; border-top: 1.000000px solid' align='center' 
valign='top'>
 <para>Col 3, row 2</para>
 </td>
 </tr>
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 9b4f175f74..5242775e7f 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3842,7 +3842,7 @@ docstring Tabular::xmlRow(XMLStream & xs, const row_type 
row, OutputParams const
                        const std::vector<std::string> styles = 
computeCssStylePerCell(row, c, cell);
 
                        std::string attr_str_prefix = "style='" + style.str();
-                       if (!styles.empty())
+                       if (!style.str().empty())
                                attr_str_prefix += "; ";
                        for (auto it = styles.begin(); it != styles.end(); 
++it) {
                                attr_str_prefix += *it;
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to