summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-base/kdelibs/files/kdelibs-3.5.10-63_fixed-layout-table.diff')
-rw-r--r--kde-base/kdelibs/files/kdelibs-3.5.10-63_fixed-layout-table.diff24
1 files changed, 24 insertions, 0 deletions
diff --git a/kde-base/kdelibs/files/kdelibs-3.5.10-63_fixed-layout-table.diff b/kde-base/kdelibs/files/kdelibs-3.5.10-63_fixed-layout-table.diff
new file mode 100644
index 00000000..7dff0e33
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-3.5.10-63_fixed-layout-table.diff
@@ -0,0 +1,24 @@
+Index: kdelibs/khtml/rendering/table_layout.cpp
+===================================================================
+--- kdelibs/khtml/rendering/table_layout.cpp (revisión: 874967)
++++ kdelibs/khtml/rendering/table_layout.cpp (revisión: 874968)
+@@ -297,7 +297,8 @@
+ #endif
+ for ( int i = 0; available > 0 && i < nEffCols; i++ ) {
+ if ( width[i].isPercent() ) {
+- int w = base * width[i].value() / totalPercent;
++ // totalPercent may be 0 below if all %-width specifed are 0%. (#172557)
++ int w = totalPercent ? base * width[i].value() / totalPercent : 0;
+ available -= w;
+ calcWidth[i] = w;
+ }
+@@ -313,7 +314,8 @@
+
+ for ( int i = 0; available > 0 && i < nEffCols; i++ ) {
+ if ( width[i].isVariable() ) {
+- int w = available / totalVariable;
++ // totalVariable may be 0 below if all the variable widths specified are 0.
++ int w = totalVariable ? available / totalVariable : 0;
+ available -= w;
+ calcWidth[i] = w;
+ totalVariable--;