diff src/styleengine.hh @ 693:478dfc078e12

make StyleEngine::computeValue() and computeLength() return bool StyleEngine::computeValue now returns whether the value was actually set. This information is now used in computeLength to avoid setting of random length values in case of an unrecognized CSS_LENGTH_TYPE. This fixes crashes with images that have invalid width or height attributes (e.g. <img src="foo.jpg" width="10px" />).
author Johannes Hofmann <Johannes.Hofmann@gmx.de>
date Fri, 19 Dec 2008 18:32:16 +0100
parents 14ce954d98c0
children dac3e759df92
line wrap: on
line diff
--- a/src/styleengine.hh	Wed Dec 17 17:51:12 2008 +0100
+++ b/src/styleengine.hh	Fri Dec 19 18:32:16 2008 +0100
@@ -23,10 +23,10 @@
       dw::core::style::Style *style0 (CssPropertyList *nonCssHints = NULL);
       dw::core::style::Style *wordStyle0 (CssPropertyList *nonCssHints = NULL);
       void apply (dw::core::style::StyleAttrs *attrs, CssPropertyList *props);
-      void computeValue (int *dest, CssLength value, dw::core::style::Font *font);
-      void computeValue (int *dest, CssLength value, dw::core::style::Font *font,
+      bool computeValue (int *dest, CssLength value, dw::core::style::Font *font);
+      bool computeValue (int *dest, CssLength value, dw::core::style::Font *font,
          int percentageBase);
-      void computeLength (dw::core::style::Length *dest, CssLength value, dw::core::style::Font *font);
+      bool computeLength (dw::core::style::Length *dest, CssLength value, dw::core::style::Font *font);
 
    public:
       StyleEngine (dw::core::Layout *layout);