From kde-commits Mon Feb 22 21:06:24 2010 From: Germain Garand Date: Mon, 22 Feb 2010 21:06:24 +0000 To: kde-commits Subject: branches/KDE/4.4/kdelibs/khtml/html Message-Id: <1266872784.785831.10468.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=126687279210282 SVN commit 1094488 by ggarand: automatically merged revision 1094429: .rowspan="" should map to rowspan=1, not rowspan=0 avoids a crash on xmpp.org pages .only actually enables the HTML 4.01 meaning of colspan/rowspan zero in standard/almost-standard mode matching Gecko engines CCBUG: 204297 M +10 -6 html_tableimpl.cpp --- branches/KDE/4.4/kdelibs/khtml/html/html_tableimpl.cpp #1094487:1094488 @@ -905,20 +905,24 @@ // euhm? not supported by other browsers as far as I can see (Dirk) //addCSSLength(CSS_PROP_BORDER_WIDTH, attr->value()); break; - case ATTR_ROWSPAN: - rSpan = attr->val() ? attr->val()->toInt() : 1; + case ATTR_ROWSPAN: { + bool Ok = true; + rSpan = attr->val() ? attr->val()->toInt(&Ok) : 1; // limit this to something not causing an overflow with short int - if(rSpan < 0 || rSpan > 1024) rSpan = 1; + if(rSpan < 0 || rSpan > 1024 || !Ok || (!rSpan && document()->inCompatMode())) rSpan = 1; if (renderer()) renderer()->updateFromElement(); break; - case ATTR_COLSPAN: - cSpan = attr->val() ? attr->val()->toInt() : 1; + } + case ATTR_COLSPAN: { + bool Ok = true; + cSpan = attr->val() ? attr->val()->toInt(&Ok) : 1; // limit this to something not causing an overflow with short int - if(cSpan < 0 || cSpan > 1024) cSpan = 1; + if(cSpan < 0 || cSpan > 1024 || !Ok || (!cSpan && document()->inCompatMode())) cSpan = 1; if (renderer()) renderer()->updateFromElement(); break; + } case ATTR_NOWRAP: if (attr->val() != 0) addCSSProperty(CSS_PROP_WHITE_SPACE, CSS_VAL__KHTML_NOWRAP);