[webkit-changes] cvs commit: WebCore/kwq KWQNamespace.h KWQWMatrix.h

Eric eseidel at opensource.apple.com
Thu Sep 8 01:03:43 PDT 2005


eseidel     05/09/08 01:03:42

  Modified:    .        ChangeLog
               WebCore+SVG DrawDocument.mm
               WebCore.xcodeproj project.pbxproj
               kcanvas  KCanvas.cpp KCanvasContainer.cpp KCanvasContainer.h
                        KCanvasFilters.cpp KCanvasFilters.h
                        KCanvasMatrix.cpp KCanvasMatrix.h
                        KCanvasRegistry.cpp KCanvasRegistry.h
                        KCanvasResources.cpp KCanvasResources.h
                        KCanvasTreeDebug.cpp KCanvasView.cpp KCanvasView.h
               kcanvas/device KRenderingFillPainter.cpp
                        KRenderingPaintServer.h
                        KRenderingPaintServerGradient.cpp
                        KRenderingPaintServerGradient.h
                        KRenderingPaintServerPattern.cpp
                        KRenderingPaintServerPattern.h
                        KRenderingStrokePainter.cpp KRenderingStyle.cpp
               kcanvas/device/quartz KCanvasFilterQuartz.mm
                        KRenderingPaintServerGradientQuartz.mm
                        KRenderingPaintServerQuartz.h
                        KRenderingPaintServerQuartz.mm
               kdom     KDOMSettings.cpp Shared.h kdom.h
               kdom/backends/libxml LibXMLParser.cpp
               kdom/bindings IDLParser.pm IDLStructure.pm
               kdom/cache KDOMCache.h KDOMCachedObject.h KDOMLoader.cpp
                        KDOMLoader.h
               kdom/core AttrImpl.cpp DOMConfigurationImpl.cpp
                        DOMImplementationImpl.cpp DOMImplementationImpl.h
                        DocumentImpl.cpp DocumentTypeImpl.cpp
                        NamedAttrMapImpl.cpp NamedNodeMapImpl.cpp
                        NodeImpl.cpp ProcessingInstructionImpl.cpp
                        ProcessingInstructionImpl.h domattrs.c
               kdom/css CSSPrimitiveValueImpl.cpp CSSStyleRuleImpl.cpp
                        CSSStyleRuleImpl.h CSSStyleSelector.cpp
                        CSSStyleSelector.h CSSStyleSheetImpl.cpp
                        CSSValueImpl.cpp Font.h MediaListImpl.cpp
                        RectImpl.cpp RectImpl.h RenderStyle.cpp
                        RenderStyle.h RenderStyleDefs.cpp RenderStyleDefs.h
                        StyleBaseImpl.cpp
               kdom/events EventTargetImpl.cpp
               kdom/ls  LSParserImpl.cpp LSParserImpl.h
                        LSResourceResolverImpl.cpp LSResourceResolverImpl.h
                        LSSerializerImpl.cpp LSSerializerImpl.h
               kdom/parser KDOMParser.cpp
               kdom/range RangeImpl.cpp RangeImpl.h
               kdom/scripts cssmakeprops cssmakevalues
               kdom/xpointer PointerPartImpl.cpp ShortHandImpl.cpp
                        XPointerEvaluatorImpl.cpp XPointerResultImpl.h
                        kdomxpointer.h
               ksvg2    KSVGFactory.cpp
               ksvg2/css SVGCSSStyleSelector.cpp
               ksvg2/events SVGEventImpl.cpp SVGEventImpl.h
                        SVGZoomEventImpl.cpp
               ksvg2/misc KCanvasRenderingStyle.cpp KSVGTimeScheduler.cpp
               ksvg2/svg SVGAnimateColorElementImpl.cpp
                        SVGAnimateElementImpl.cpp
                        SVGAnimationElementImpl.cpp
                        SVGAnimationElementImpl.h
                        SVGDOMImplementationImpl.cpp SVGDocumentImpl.cpp
                        SVGDocumentImpl.h SVGElementImpl.cpp
                        SVGElementImpl.h SVGGradientElementImpl.cpp
                        SVGHelper.cpp SVGImageElementImpl.cpp
                        SVGLengthListImpl.cpp
                        SVGLinearGradientElementImpl.cpp SVGMatrixImpl.cpp
                        SVGMatrixImpl.h SVGPatternElementImpl.cpp
                        SVGSVGElementImpl.cpp SVGSVGElementImpl.h
                        SVGScriptElementImpl.cpp SVGScriptElementImpl.h
                        SVGSetElementImpl.cpp SVGStyleElementImpl.cpp
                        SVGStyledElementImpl.cpp SVGTransformableImpl.cpp
                        SVGTransformableImpl.h
               kwq      KWQNamespace.h KWQWMatrix.h
  Added:       ForwardingHeaders qmatrix.h
               kdom/css LinkStyleImpl.cpp LinkStyleImpl.h
               kdom/ls  DOMImplementationLSImpl.cpp
                        DOMImplementationLSImpl.h
               ksvg2/svg SVGCursorElementImpl.cpp SVGCursorElementImpl.h
  Log:
  Bug #: 4863
  Submitted by: eseidel
  Reviewed by: darin
          Merged various changes from KDE, including:
          Qt3->Qt4 change: QWMatrix -> QMatrix
          A few remaining DOMString -> DOMStringImpl changes
          KRenderingDevicePaintServer now inherits KCanvasResource
          Various whitespace adjustments.
          Fewer, clearer logs from kcanvas/device/quartz code.
          DOM exception support.
          http://bugzilla.opendarwin.org/show_bug.cgi?id=4863
  
          * ForwardingHeaders/qmatrix.h: Added.
          * WebCore+SVG/DrawDocument.mm:
          (-[DrawDocumentPrivate init]):
          (-[DrawDocumentPrivate dealloc]):
          (-[DrawDocumentPrivate setPrimaryView:]):
          * WebCore.xcodeproj/project.pbxproj:
          * kcanvas/KCanvas.cpp:
          (KCanvas::~KCanvas):
          (KCanvas::reset):
          * kcanvas/KCanvasContainer.cpp:
          (KCanvasContainer::bbox):
          (KCanvasContainer::collisions):
          (KCanvasContainer::first):
          (KCanvasContainer::last):
          * kcanvas/KCanvasContainer.h:
          * kcanvas/KCanvasFilters.cpp:
          * kcanvas/KCanvasFilters.h:
          * kcanvas/KCanvasMatrix.cpp:
          (KCanvasMatrix::KCanvasMatrix):
          (KCanvasMatrix::operator=):
          (KCanvasMatrix::operator==):
          (KCanvasMatrix::operator!=):
          (KCanvasMatrix::translate):
          (KCanvasMatrix::multiply):
          (KCanvasMatrix::scale):
          (KCanvasMatrix::rotate):
          (KCanvasMatrix::rotateFromVector):
          (KCanvasMatrix::skewX):
          (KCanvasMatrix::skewY):
          (KCanvasMatrix::qmatrix):
          * kcanvas/KCanvasMatrix.h:
          * kcanvas/KCanvasRegistry.cpp:
          (operator<<):
          * kcanvas/KCanvasRegistry.h:
          * kcanvas/KCanvasResources.cpp:
          (KCanvasResource::KCanvasResource):
          (KCanvasMarker::draw):
          * kcanvas/KCanvasResources.h:
          * kcanvas/KCanvasTreeDebug.cpp:
          (operator<<):
          * kcanvas/KCanvasView.cpp:
          (KCanvasView::setCanvas):
          * kcanvas/KCanvasView.h:
          * kcanvas/device/KRenderingFillPainter.cpp:
          (KRenderingFillPainter::draw):
          * kcanvas/device/KRenderingPaintServer.h:
          (KRenderingPaintServer::KRenderingPaintServer):
          * kcanvas/device/KRenderingPaintServerGradient.cpp:
          (KRenderingPaintServerGradient::Private::Private):
          (KRenderingPaintServerGradient::KRenderingPaintServerGradient):
          (KRenderingPaintServerGradient::listener):
          (KRenderingPaintServerGradient::setListener):
          * kcanvas/device/KRenderingPaintServerGradient.h:
          * kcanvas/device/KRenderingPaintServerPattern.cpp:
          (KRenderingPaintServerPattern::Private::Private):
          (KRenderingPaintServerPattern::KRenderingPaintServerPattern):
          (KRenderingPaintServerPattern::listener):
          (KRenderingPaintServerPattern::setListener):
          * kcanvas/device/KRenderingPaintServerPattern.h:
          * kcanvas/device/KRenderingStrokePainter.cpp:
          (KRenderingStrokePainter::setPaintServer):
          (KRenderingStrokePainter::draw):
          * kcanvas/device/KRenderingStyle.cpp:
          (KRenderingStyle::Private::Private):
          * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
          (KCanvasFilterQuartz::prepareFilter):
          * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
          (cgGradientCallback):
          (KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz):
          (KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
          (KRenderingPaintServerLinearGradientQuartz::draw):
          (KRenderingPaintServerRadialGradientQuartz::draw):
          * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
          * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
          (KRenderingPaintServerPatternQuartz::draw):
          (KRenderingPaintServerImageQuartz::draw):
          * kdom/KDOMSettings.cpp:
          (KDOMSettings::init):
          (KDOMSettings::strToAdvice):
          * kdom/Shared.h:
          (KDOM::KDOM_SAFE_SET):
          * kdom/backends/libxml/LibXMLParser.cpp:
          (sax_start_doc):
          (sax_internal_subset):
          (sax_entity_decl):
          * kdom/bindings/IDLParser.pm:
          * kdom/bindings/IDLStructure.pm:
          * kdom/cache/KDOMCache.h:
          * kdom/cache/KDOMCachedObject.h:
          * kdom/cache/KDOMLoader.cpp:
          (DocumentLoader::setAutoloadImages):
          * kdom/cache/KDOMLoader.h:
          * kdom/core/AttrImpl.cpp:
          (AttrImpl::value):
          (AttrImpl::setPrefix):
          * kdom/core/DOMConfigurationImpl.cpp:
          (DOMConfigurationImpl::normalizeCharacters):
          * kdom/core/DOMImplementationImpl.cpp:
          (DOMImplementationImpl::DOMImplementationImpl):
          (DOMImplementationImpl::createDocument):
          (DOMImplementationImpl::idToType):
          * kdom/core/DOMImplementationImpl.h:
          * kdom/core/DocumentImpl.cpp:
          (DocumentImpl::removeListenerType):
          (DocumentImpl::getId):
          * kdom/core/DocumentTypeImpl.cpp:
          (DocumentTypeImpl::internalSubset):
          * kdom/core/NamedAttrMapImpl.cpp:
          (NamedAttrMapImpl::setValue):
          (NamedAttrMapImpl::dispatchAttrMutationEvent):
          * kdom/core/NamedNodeMapImpl.cpp:
          (RONamedNodeMapImpl::getNamedItem):
          * kdom/core/NodeImpl.cpp:
          (NodeBaseImpl::removeChildren):
          (NodeImpl::lookupNamespaceURI):
          * kdom/core/ProcessingInstructionImpl.cpp:
          (ProcessingInstructionImpl::ProcessingInstructionImpl):
          (ProcessingInstructionImpl::~ProcessingInstructionImpl):
          * kdom/core/ProcessingInstructionImpl.h:
          * kdom/core/domattrs.c:
          * kdom/css/CSSPrimitiveValueImpl.cpp:
          (FontFamilyValueImpl::FontFamilyValueImpl):
          * kdom/css/CSSStyleRuleImpl.cpp:
          (CSSStyleRuleImpl::parseString):
          * kdom/css/CSSStyleRuleImpl.h:
          * kdom/css/CSSStyleSelector.cpp:
          (CSSStyleSelector::CSSStyleSelector):
          (CSSStyleSelector::styleForElement):
          (CSSStyleSelector::applyRule):
          (CSSStyleSelector::getLangAttribute):
          * kdom/css/CSSStyleSelector.h:
          * kdom/css/CSSStyleSheetImpl.cpp:
          (CSSStyleSheetImpl::type):
          * kdom/css/CSSValueImpl.cpp:
          (ShadowValueImpl::cssText):
          * kdom/css/Font.h:
          * kdom/css/LinkStyleImpl.cpp: Added.
          (LinkStyleImpl::LinkStyleImpl):
          (LinkStyleImpl::~LinkStyleImpl):
          (LinkStyleImpl::sheet):
          * kdom/css/LinkStyleImpl.h: Added.
          * kdom/css/MediaListImpl.cpp:
          (MediaListImpl::setMediaText):
          * kdom/css/RectImpl.cpp:
          * kdom/css/RectImpl.h:
          (KDOM::RectImpl::top):
          (KDOM::RectImpl::right):
          (KDOM::RectImpl::bottom):
          (KDOM::RectImpl::left):
          * kdom/css/RenderStyle.cpp:
          (RenderStyle::diff):
          * kdom/css/RenderStyle.h:
          * kdom/css/RenderStyleDefs.cpp:
          (StyleInheritedData::StyleInheritedData):
          (StyleInheritedData::operator==):
          * kdom/css/RenderStyleDefs.h:
          * kdom/css/StyleBaseImpl.cpp:
          (CSSSelector::print):
          (CSSSelector::extractPseudoType):
          * kdom/events/EventTargetImpl.cpp:
          (EventTargetImpl::addEventListener):
          * kdom/kdom.h:
          (KDOM::):
          * kdom/ls/DOMImplementationLSImpl.cpp: Added.
          (DOMImplementationLSImpl::DOMImplementationLSImpl):
          (DOMImplementationLSImpl::~DOMImplementationLSImpl):
          (DOMImplementationLSImpl::createLSParser):
          (DOMImplementationLSImpl::createLSInput):
          (DOMImplementationLSImpl::createLSOutput):
          (DOMImplementationLSImpl::createLSSerializer):
          * kdom/ls/DOMImplementationLSImpl.h: Added.
          * kdom/ls/LSParserImpl.cpp:
          (LSParserImpl::parseURI):
          * kdom/ls/LSParserImpl.h:
          * kdom/ls/LSResourceResolverImpl.cpp:
          (LSResourceResolverImpl::resolveResource):
          * kdom/ls/LSResourceResolverImpl.h:
          * kdom/ls/LSSerializerImpl.cpp:
          (LSSerializerImpl::newLine):
          (LSSerializerImpl::writeToString):
          (LSSerializerImpl::escape):
          (LSSerializerImpl::escapeAttribute):
          * kdom/ls/LSSerializerImpl.h:
          * kdom/parser/KDOMParser.cpp:
          (Parser::handleError):
          (Parser::bufferForUrl):
          * kdom/range/RangeImpl.cpp:
          (RangeImpl::toString):
          * kdom/range/RangeImpl.h:
          * kdom/scripts/cssmakeprops:
          * kdom/scripts/cssmakevalues:
          * kdom/xpointer/PointerPartImpl.cpp:
          (PointerPartImpl::PointerPartImpl):
          * kdom/xpointer/ShortHandImpl.cpp:
          (ShortHandImpl::ShortHandImpl):
          * kdom/xpointer/XPointerEvaluatorImpl.cpp:
          (XPointerEvaluatorImpl::createXPointer):
          * kdom/xpointer/XPointerResultImpl.h:
          * kdom/xpointer/kdomxpointer.h:
          (KDOM::XPointer::):
          * ksvg2/KSVGFactory.cpp:
          (KSVGFactory::createPartObject):
          * ksvg2/css/SVGCSSStyleSelector.cpp:
          * ksvg2/events/SVGEventImpl.cpp:
          (SVGEventImpl::SVGEventImpl):
          (SVGEventImpl::initEvent):
          * ksvg2/events/SVGEventImpl.h:
          (KSVG::):
          * ksvg2/events/SVGZoomEventImpl.cpp:
          (SVGZoomEventImpl::SVGZoomEventImpl):
          * ksvg2/misc/KCanvasRenderingStyle.cpp:
          (KCanvasRenderingStyle::updateFill):
          (KCanvasRenderingStyle::updateStroke):
          (KCanvasRenderingStyle::startMarker):
          (KCanvasRenderingStyle::midMarker):
          (KCanvasRenderingStyle::endMarker):
          (KCanvasRenderingStyle::filter):
          * ksvg2/misc/KSVGTimeScheduler.cpp:
          (SVGTimer::notifyAll):
          * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
          (SVGAnimateColorElementImpl::handleTimerEvent):
          * ksvg2/svg/SVGAnimateElementImpl.cpp:
          (SVGAnimateElementImpl::handleTimerEvent):
          * ksvg2/svg/SVGAnimationElementImpl.cpp:
          (SVGAnimationElementImpl::targetAttribute):
          (SVGAnimationElementImpl::setTargetAttribute):
          * ksvg2/svg/SVGAnimationElementImpl.h:
          * ksvg2/svg/SVGCursorElementImpl.cpp: Added.
          (SVGCursorElementImpl::SVGCursorElementImpl):
          (SVGCursorElementImpl::~SVGCursorElementImpl):
          (SVGCursorElementImpl::x):
          (SVGCursorElementImpl::y):
          (SVGCursorElementImpl::parseAttribute):
          (SVGCursorElementImpl::notifyFinished):
          * ksvg2/svg/SVGCursorElementImpl.h: Added.
          (KSVG::SVGCursorElementImpl::pixmap):
          * ksvg2/svg/SVGDOMImplementationImpl.cpp:
          (SVGDOMImplementationImpl::hasFeature):
          (SVGDOMImplementationImpl::createDocumentType):
          (SVGDOMImplementationImpl::createDocument):
          (SVGDOMImplementationImpl::typeToId):
          (SVGDOMImplementationImpl::idToType):
          * ksvg2/svg/SVGDocumentImpl.cpp:
          (SVGDocumentImpl::SVGDocumentImpl):
          (SVGDocumentImpl::createSVGElement):
          (SVGDocumentImpl::createElement):
          (SVGDocumentImpl::createElementNS):
          (SVGDocumentImpl::createEvent):
          (SVGDocumentImpl::notifyFinished):
          (SVGDocumentImpl::defaultNS):
          (SVGDocumentImpl::executeScripts):
          (SVGDocumentImpl::prepareMouseEvent):
          (SVGDocumentImpl::dispatchUIEvent):
          (SVGDocumentImpl::dispatchMouseEvent):
          * ksvg2/svg/SVGDocumentImpl.h:
          * ksvg2/svg/SVGElementImpl.cpp:
          (SVGElementImpl::getId):
          (SVGElementImpl::xmlbase):
          (SVGElementImpl::tryGetAttribute):
          (SVGElementImpl::tryGetAttributeNS):
          (SVGElementImpl::parseAttribute):
          (SVGElementImpl::addSVGEventListener):
          * ksvg2/svg/SVGElementImpl.h:
          * ksvg2/svg/SVGGradientElementImpl.cpp:
          (SVGGradientElementImpl::parseAttribute):
          * ksvg2/svg/SVGHelper.cpp:
          (SVGHelper::PercentageOfViewport):
          * ksvg2/svg/SVGImageElementImpl.cpp:
          (SVGImageElementImpl::notifyFinished):
          * ksvg2/svg/SVGLengthListImpl.cpp:
          (SVGLengthListImpl::parse):
          * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
          (SVGLinearGradientElementImpl::x2):
          * ksvg2/svg/SVGMatrixImpl.cpp:
          (SVGMatrixImpl::SVGMatrixImpl):
          (SVGMatrixImpl::postMultiply):
          (SVGMatrixImpl::postTranslate):
          (SVGMatrixImpl::postScale):
          (SVGMatrixImpl::postScaleNonUniform):
          (SVGMatrixImpl::postRotate):
          (SVGMatrixImpl::postRotateFromVector):
          (SVGMatrixImpl::postFlipX):
          (SVGMatrixImpl::postFlipY):
          (SVGMatrixImpl::postSkewX):
          (SVGMatrixImpl::postSkewY):
          (SVGMatrixImpl::multiply):
          (SVGMatrixImpl::setMatrix):
          (SVGMatrixImpl::qmatrix):
          * ksvg2/svg/SVGMatrixImpl.h:
          * ksvg2/svg/SVGPatternElementImpl.cpp:
          (SVGPatternElementImpl::parseAttribute):
          * ksvg2/svg/SVGSVGElementImpl.cpp:
          (SVGSVGElementImpl::width):
          (SVGSVGElementImpl::height):
          (SVGSVGElementImpl::contentScriptType):
          (SVGSVGElementImpl::contentStyleType):
          (SVGSVGElementImpl::setContentStyleType):
          (SVGSVGElementImpl::createEvent):
          * ksvg2/svg/SVGSVGElementImpl.h:
          * ksvg2/svg/SVGScriptElementImpl.cpp:
          (SVGScriptElementImpl::parseAttribute):
          (SVGScriptElementImpl::executeScript):
          * ksvg2/svg/SVGScriptElementImpl.h:
          * ksvg2/svg/SVGSetElementImpl.cpp:
          (SVGSetElementImpl::handleTimerEvent):
          * ksvg2/svg/SVGStyleElementImpl.cpp:
          (SVGStyleElementImpl::xmlspace):
          (SVGStyleElementImpl::type):
          (SVGStyleElementImpl::media):
          (SVGStyleElementImpl::title):
          (SVGStyleElementImpl::childrenChanged):
          * ksvg2/svg/SVGStyledElementImpl.cpp:
          (SVGStyledElementImpl::attach):
          * ksvg2/svg/SVGTransformableImpl.cpp:
          (SVGTransformableImpl::updateSubtreeMatrices):
          (SVGTransformableImpl::parseAttribute):
          (SVGTransformableImpl::parseTransformAttribute):
          * ksvg2/svg/SVGTransformableImpl.h:
          * kwq/KWQNamespace.h:
          (Qt::): Added LayoutDirection for Qt4 support
          * kwq/KWQWMatrix.h: #define mapping QMatrix to QWMatrix
  
  Revision  Changes    Path
  1.103     +335 -0    WebCore/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebCore/ChangeLog,v
  retrieving revision 1.102
  retrieving revision 1.103
  diff -u -r1.102 -r1.103
  --- ChangeLog	7 Sep 2005 23:27:40 -0000	1.102
  +++ ChangeLog	8 Sep 2005 08:03:06 -0000	1.103
  @@ -1,3 +1,338 @@
  +2005-09-07  Eric Seidel  <eseidel at apple.com>
  +
  +        Reviewed by darin.
  +
  +        Merged various changes from KDE, including:
  +        Qt3->Qt4 change: QWMatrix -> QMatrix
  +        A few remaining DOMString -> DOMStringImpl changes
  +        KRenderingDevicePaintServer now inherits KCanvasResource
  +        Various whitespace adjustments.
  +        Fewer, clearer logs from kcanvas/device/quartz code.
  +        DOM exception support.
  +        http://bugzilla.opendarwin.org/show_bug.cgi?id=4863
  +
  +        * ForwardingHeaders/qmatrix.h: Added.
  +        * WebCore+SVG/DrawDocument.mm:
  +        (-[DrawDocumentPrivate init]):
  +        (-[DrawDocumentPrivate dealloc]):
  +        (-[DrawDocumentPrivate setPrimaryView:]):
  +        * WebCore.xcodeproj/project.pbxproj:
  +        * kcanvas/KCanvas.cpp:
  +        (KCanvas::~KCanvas):
  +        (KCanvas::reset):
  +        * kcanvas/KCanvasContainer.cpp:
  +        (KCanvasContainer::bbox):
  +        (KCanvasContainer::collisions):
  +        (KCanvasContainer::first):
  +        (KCanvasContainer::last):
  +        * kcanvas/KCanvasContainer.h:
  +        * kcanvas/KCanvasFilters.cpp:
  +        * kcanvas/KCanvasFilters.h:
  +        * kcanvas/KCanvasMatrix.cpp:
  +        (KCanvasMatrix::KCanvasMatrix):
  +        (KCanvasMatrix::operator=):
  +        (KCanvasMatrix::operator==):
  +        (KCanvasMatrix::operator!=):
  +        (KCanvasMatrix::translate):
  +        (KCanvasMatrix::multiply):
  +        (KCanvasMatrix::scale):
  +        (KCanvasMatrix::rotate):
  +        (KCanvasMatrix::rotateFromVector):
  +        (KCanvasMatrix::skewX):
  +        (KCanvasMatrix::skewY):
  +        (KCanvasMatrix::qmatrix):
  +        * kcanvas/KCanvasMatrix.h:
  +        * kcanvas/KCanvasRegistry.cpp:
  +        (operator<<):
  +        * kcanvas/KCanvasRegistry.h:
  +        * kcanvas/KCanvasResources.cpp:
  +        (KCanvasResource::KCanvasResource):
  +        (KCanvasMarker::draw):
  +        * kcanvas/KCanvasResources.h:
  +        * kcanvas/KCanvasTreeDebug.cpp:
  +        (operator<<):
  +        * kcanvas/KCanvasView.cpp:
  +        (KCanvasView::setCanvas):
  +        * kcanvas/KCanvasView.h:
  +        * kcanvas/device/KRenderingFillPainter.cpp:
  +        (KRenderingFillPainter::draw):
  +        * kcanvas/device/KRenderingPaintServer.h:
  +        (KRenderingPaintServer::KRenderingPaintServer):
  +        * kcanvas/device/KRenderingPaintServerGradient.cpp:
  +        (KRenderingPaintServerGradient::Private::Private):
  +        (KRenderingPaintServerGradient::KRenderingPaintServerGradient):
  +        (KRenderingPaintServerGradient::listener):
  +        (KRenderingPaintServerGradient::setListener):
  +        * kcanvas/device/KRenderingPaintServerGradient.h:
  +        * kcanvas/device/KRenderingPaintServerPattern.cpp:
  +        (KRenderingPaintServerPattern::Private::Private):
  +        (KRenderingPaintServerPattern::KRenderingPaintServerPattern):
  +        (KRenderingPaintServerPattern::listener):
  +        (KRenderingPaintServerPattern::setListener):
  +        * kcanvas/device/KRenderingPaintServerPattern.h:
  +        * kcanvas/device/KRenderingStrokePainter.cpp:
  +        (KRenderingStrokePainter::setPaintServer):
  +        (KRenderingStrokePainter::draw):
  +        * kcanvas/device/KRenderingStyle.cpp:
  +        (KRenderingStyle::Private::Private):
  +        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
  +        (KCanvasFilterQuartz::prepareFilter):
  +        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
  +        (cgGradientCallback):
  +        (KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz):
  +        (KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
  +        (KRenderingPaintServerLinearGradientQuartz::draw):
  +        (KRenderingPaintServerRadialGradientQuartz::draw):
  +        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
  +        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
  +        (KRenderingPaintServerPatternQuartz::draw):
  +        (KRenderingPaintServerImageQuartz::draw):
  +        * kdom/KDOMSettings.cpp:
  +        (KDOMSettings::init):
  +        (KDOMSettings::strToAdvice):
  +        * kdom/Shared.h:
  +        (KDOM::KDOM_SAFE_SET):
  +        * kdom/backends/libxml/LibXMLParser.cpp:
  +        (sax_start_doc):
  +        (sax_internal_subset):
  +        (sax_entity_decl):
  +        * kdom/bindings/IDLParser.pm:
  +        * kdom/bindings/IDLStructure.pm:
  +        * kdom/cache/KDOMCache.h:
  +        * kdom/cache/KDOMCachedObject.h:
  +        * kdom/cache/KDOMLoader.cpp:
  +        (DocumentLoader::setAutoloadImages):
  +        * kdom/cache/KDOMLoader.h:
  +        * kdom/core/AttrImpl.cpp:
  +        (AttrImpl::value):
  +        (AttrImpl::setPrefix):
  +        * kdom/core/DOMConfigurationImpl.cpp:
  +        (DOMConfigurationImpl::normalizeCharacters):
  +        * kdom/core/DOMImplementationImpl.cpp:
  +        (DOMImplementationImpl::DOMImplementationImpl):
  +        (DOMImplementationImpl::createDocument):
  +        (DOMImplementationImpl::idToType):
  +        * kdom/core/DOMImplementationImpl.h:
  +        * kdom/core/DocumentImpl.cpp:
  +        (DocumentImpl::removeListenerType):
  +        (DocumentImpl::getId):
  +        * kdom/core/DocumentTypeImpl.cpp:
  +        (DocumentTypeImpl::internalSubset):
  +        * kdom/core/NamedAttrMapImpl.cpp:
  +        (NamedAttrMapImpl::setValue):
  +        (NamedAttrMapImpl::dispatchAttrMutationEvent):
  +        * kdom/core/NamedNodeMapImpl.cpp:
  +        (RONamedNodeMapImpl::getNamedItem):
  +        * kdom/core/NodeImpl.cpp:
  +        (NodeBaseImpl::removeChildren):
  +        (NodeImpl::lookupNamespaceURI):
  +        * kdom/core/ProcessingInstructionImpl.cpp:
  +        (ProcessingInstructionImpl::ProcessingInstructionImpl):
  +        (ProcessingInstructionImpl::~ProcessingInstructionImpl):
  +        * kdom/core/ProcessingInstructionImpl.h:
  +        * kdom/core/domattrs.c:
  +        * kdom/css/CSSPrimitiveValueImpl.cpp:
  +        (FontFamilyValueImpl::FontFamilyValueImpl):
  +        * kdom/css/CSSStyleRuleImpl.cpp:
  +        (CSSStyleRuleImpl::parseString):
  +        * kdom/css/CSSStyleRuleImpl.h:
  +        * kdom/css/CSSStyleSelector.cpp:
  +        (CSSStyleSelector::CSSStyleSelector):
  +        (CSSStyleSelector::styleForElement):
  +        (CSSStyleSelector::applyRule):
  +        (CSSStyleSelector::getLangAttribute):
  +        * kdom/css/CSSStyleSelector.h:
  +        * kdom/css/CSSStyleSheetImpl.cpp:
  +        (CSSStyleSheetImpl::type):
  +        * kdom/css/CSSValueImpl.cpp:
  +        (ShadowValueImpl::cssText):
  +        * kdom/css/Font.h:
  +        * kdom/css/LinkStyleImpl.cpp: Added.
  +        (LinkStyleImpl::LinkStyleImpl):
  +        (LinkStyleImpl::~LinkStyleImpl):
  +        (LinkStyleImpl::sheet):
  +        * kdom/css/LinkStyleImpl.h: Added.
  +        * kdom/css/MediaListImpl.cpp:
  +        (MediaListImpl::setMediaText):
  +        * kdom/css/RectImpl.cpp:
  +        * kdom/css/RectImpl.h:
  +        (KDOM::RectImpl::top):
  +        (KDOM::RectImpl::right):
  +        (KDOM::RectImpl::bottom):
  +        (KDOM::RectImpl::left):
  +        * kdom/css/RenderStyle.cpp:
  +        (RenderStyle::diff):
  +        * kdom/css/RenderStyle.h:
  +        * kdom/css/RenderStyleDefs.cpp:
  +        (StyleInheritedData::StyleInheritedData):
  +        (StyleInheritedData::operator==):
  +        * kdom/css/RenderStyleDefs.h:
  +        * kdom/css/StyleBaseImpl.cpp:
  +        (CSSSelector::print):
  +        (CSSSelector::extractPseudoType):
  +        * kdom/events/EventTargetImpl.cpp:
  +        (EventTargetImpl::addEventListener):
  +        * kdom/kdom.h:
  +        (KDOM::):
  +        * kdom/ls/DOMImplementationLSImpl.cpp: Added.
  +        (DOMImplementationLSImpl::DOMImplementationLSImpl):
  +        (DOMImplementationLSImpl::~DOMImplementationLSImpl):
  +        (DOMImplementationLSImpl::createLSParser):
  +        (DOMImplementationLSImpl::createLSInput):
  +        (DOMImplementationLSImpl::createLSOutput):
  +        (DOMImplementationLSImpl::createLSSerializer):
  +        * kdom/ls/DOMImplementationLSImpl.h: Added.
  +        * kdom/ls/LSParserImpl.cpp:
  +        (LSParserImpl::parseURI):
  +        * kdom/ls/LSParserImpl.h:
  +        * kdom/ls/LSResourceResolverImpl.cpp:
  +        (LSResourceResolverImpl::resolveResource):
  +        * kdom/ls/LSResourceResolverImpl.h:
  +        * kdom/ls/LSSerializerImpl.cpp:
  +        (LSSerializerImpl::newLine):
  +        (LSSerializerImpl::writeToString):
  +        (LSSerializerImpl::escape):
  +        (LSSerializerImpl::escapeAttribute):
  +        * kdom/ls/LSSerializerImpl.h:
  +        * kdom/parser/KDOMParser.cpp:
  +        (Parser::handleError):
  +        (Parser::bufferForUrl):
  +        * kdom/range/RangeImpl.cpp:
  +        (RangeImpl::toString):
  +        * kdom/range/RangeImpl.h:
  +        * kdom/scripts/cssmakeprops:
  +        * kdom/scripts/cssmakevalues:
  +        * kdom/xpointer/PointerPartImpl.cpp:
  +        (PointerPartImpl::PointerPartImpl):
  +        * kdom/xpointer/ShortHandImpl.cpp:
  +        (ShortHandImpl::ShortHandImpl):
  +        * kdom/xpointer/XPointerEvaluatorImpl.cpp:
  +        (XPointerEvaluatorImpl::createXPointer):
  +        * kdom/xpointer/XPointerResultImpl.h:
  +        * kdom/xpointer/kdomxpointer.h:
  +        (KDOM::XPointer::):
  +        * ksvg2/KSVGFactory.cpp:
  +        (KSVGFactory::createPartObject):
  +        * ksvg2/css/SVGCSSStyleSelector.cpp:
  +        * ksvg2/events/SVGEventImpl.cpp:
  +        (SVGEventImpl::SVGEventImpl):
  +        (SVGEventImpl::initEvent):
  +        * ksvg2/events/SVGEventImpl.h:
  +        (KSVG::):
  +        * ksvg2/events/SVGZoomEventImpl.cpp:
  +        (SVGZoomEventImpl::SVGZoomEventImpl):
  +        * ksvg2/misc/KCanvasRenderingStyle.cpp:
  +        (KCanvasRenderingStyle::updateFill):
  +        (KCanvasRenderingStyle::updateStroke):
  +        (KCanvasRenderingStyle::startMarker):
  +        (KCanvasRenderingStyle::midMarker):
  +        (KCanvasRenderingStyle::endMarker):
  +        (KCanvasRenderingStyle::filter):
  +        * ksvg2/misc/KSVGTimeScheduler.cpp:
  +        (SVGTimer::notifyAll):
  +        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
  +        (SVGAnimateColorElementImpl::handleTimerEvent):
  +        * ksvg2/svg/SVGAnimateElementImpl.cpp:
  +        (SVGAnimateElementImpl::handleTimerEvent):
  +        * ksvg2/svg/SVGAnimationElementImpl.cpp:
  +        (SVGAnimationElementImpl::targetAttribute):
  +        (SVGAnimationElementImpl::setTargetAttribute):
  +        * ksvg2/svg/SVGAnimationElementImpl.h:
  +        * ksvg2/svg/SVGCursorElementImpl.cpp: Added.
  +        (SVGCursorElementImpl::SVGCursorElementImpl):
  +        (SVGCursorElementImpl::~SVGCursorElementImpl):
  +        (SVGCursorElementImpl::x):
  +        (SVGCursorElementImpl::y):
  +        (SVGCursorElementImpl::parseAttribute):
  +        (SVGCursorElementImpl::notifyFinished):
  +        * ksvg2/svg/SVGCursorElementImpl.h: Added.
  +        (KSVG::SVGCursorElementImpl::pixmap):
  +        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
  +        (SVGDOMImplementationImpl::hasFeature):
  +        (SVGDOMImplementationImpl::createDocumentType):
  +        (SVGDOMImplementationImpl::createDocument):
  +        (SVGDOMImplementationImpl::typeToId):
  +        (SVGDOMImplementationImpl::idToType):
  +        * ksvg2/svg/SVGDocumentImpl.cpp:
  +        (SVGDocumentImpl::SVGDocumentImpl):
  +        (SVGDocumentImpl::createSVGElement):
  +        (SVGDocumentImpl::createElement):
  +        (SVGDocumentImpl::createElementNS):
  +        (SVGDocumentImpl::createEvent):
  +        (SVGDocumentImpl::notifyFinished):
  +        (SVGDocumentImpl::defaultNS):
  +        (SVGDocumentImpl::executeScripts):
  +        (SVGDocumentImpl::prepareMouseEvent):
  +        (SVGDocumentImpl::dispatchUIEvent):
  +        (SVGDocumentImpl::dispatchMouseEvent):
  +        * ksvg2/svg/SVGDocumentImpl.h:
  +        * ksvg2/svg/SVGElementImpl.cpp:
  +        (SVGElementImpl::getId):
  +        (SVGElementImpl::xmlbase):
  +        (SVGElementImpl::tryGetAttribute):
  +        (SVGElementImpl::tryGetAttributeNS):
  +        (SVGElementImpl::parseAttribute):
  +        (SVGElementImpl::addSVGEventListener):
  +        * ksvg2/svg/SVGElementImpl.h:
  +        * ksvg2/svg/SVGGradientElementImpl.cpp:
  +        (SVGGradientElementImpl::parseAttribute):
  +        * ksvg2/svg/SVGHelper.cpp:
  +        (SVGHelper::PercentageOfViewport):
  +        * ksvg2/svg/SVGImageElementImpl.cpp:
  +        (SVGImageElementImpl::notifyFinished):
  +        * ksvg2/svg/SVGLengthListImpl.cpp:
  +        (SVGLengthListImpl::parse):
  +        * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
  +        (SVGLinearGradientElementImpl::x2):
  +        * ksvg2/svg/SVGMatrixImpl.cpp:
  +        (SVGMatrixImpl::SVGMatrixImpl):
  +        (SVGMatrixImpl::postMultiply):
  +        (SVGMatrixImpl::postTranslate):
  +        (SVGMatrixImpl::postScale):
  +        (SVGMatrixImpl::postScaleNonUniform):
  +        (SVGMatrixImpl::postRotate):
  +        (SVGMatrixImpl::postRotateFromVector):
  +        (SVGMatrixImpl::postFlipX):
  +        (SVGMatrixImpl::postFlipY):
  +        (SVGMatrixImpl::postSkewX):
  +        (SVGMatrixImpl::postSkewY):
  +        (SVGMatrixImpl::multiply):
  +        (SVGMatrixImpl::setMatrix):
  +        (SVGMatrixImpl::qmatrix):
  +        * ksvg2/svg/SVGMatrixImpl.h:
  +        * ksvg2/svg/SVGPatternElementImpl.cpp:
  +        (SVGPatternElementImpl::parseAttribute):
  +        * ksvg2/svg/SVGSVGElementImpl.cpp:
  +        (SVGSVGElementImpl::width):
  +        (SVGSVGElementImpl::height):
  +        (SVGSVGElementImpl::contentScriptType):
  +        (SVGSVGElementImpl::contentStyleType):
  +        (SVGSVGElementImpl::setContentStyleType):
  +        (SVGSVGElementImpl::createEvent):
  +        * ksvg2/svg/SVGSVGElementImpl.h:
  +        * ksvg2/svg/SVGScriptElementImpl.cpp:
  +        (SVGScriptElementImpl::parseAttribute):
  +        (SVGScriptElementImpl::executeScript):
  +        * ksvg2/svg/SVGScriptElementImpl.h:
  +        * ksvg2/svg/SVGSetElementImpl.cpp:
  +        (SVGSetElementImpl::handleTimerEvent):
  +        * ksvg2/svg/SVGStyleElementImpl.cpp:
  +        (SVGStyleElementImpl::xmlspace):
  +        (SVGStyleElementImpl::type):
  +        (SVGStyleElementImpl::media):
  +        (SVGStyleElementImpl::title):
  +        (SVGStyleElementImpl::childrenChanged):
  +        * ksvg2/svg/SVGStyledElementImpl.cpp:
  +        (SVGStyledElementImpl::attach):
  +        * ksvg2/svg/SVGTransformableImpl.cpp:
  +        (SVGTransformableImpl::updateSubtreeMatrices):
  +        (SVGTransformableImpl::parseAttribute):
  +        (SVGTransformableImpl::parseTransformAttribute):
  +        * ksvg2/svg/SVGTransformableImpl.h:
  +        * kwq/KWQNamespace.h:
  +        (Qt::): Added LayoutDirection for Qt4 support
  +        * kwq/KWQWMatrix.h: #define mapping QMatrix to QWMatrix
  +
   2005-09-07  Geoffrey Garen  <ggaren at apple.com>
   
           -added layout test for http://bugzilla.opendarwin.org/show_bug.cgi?id=4781
  
  
  
  1.1                  WebCore/ForwardingHeaders/qmatrix.h
  
  Index: qmatrix.h
  ===================================================================
  #import "KWQWMatrix.h"
  
  
  
  1.5       +11 -12    SVGSupport/WebCore+SVG/DrawDocument.mm
  
  Index: DrawDocument.mm
  ===================================================================
  RCS file: /cvs/root/SVGSupport/WebCore+SVG/DrawDocument.mm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DrawDocument.mm	1 Sep 2005 09:39:00 -0000	1.4
  +++ DrawDocument.mm	8 Sep 2005 08:03:07 -0000	1.5
  @@ -98,14 +98,14 @@
   
   - (id)init
   {
  -	if ((self = [super init])) {
  -		// FIXME: HACK: this is needed until post-parse attach works.
  -		part = new KSVGPart();
  -		svgView = static_cast<KSVGView *>(part->view());
  -		dummyCanvasView =  static_cast<KCanvasViewQuartz *>(svgView->canvasView());
  -		[self setPrimaryView:dummyCanvasView];
  -	}
  -	return self;
  +    if ((self = [super init])) {
  +        // FIXME: HACK: this is needed until post-parse attach works.
  +        part = new KSVGPart();
  +        svgView = static_cast<KSVGView *>(part->view());
  +        dummyCanvasView =  static_cast<KCanvasViewQuartz *>(svgView->canvasView());
  +        [self setPrimaryView:dummyCanvasView];
  +    }
  +    return self;
   }
   
   - (void)dealloc
  @@ -114,8 +114,8 @@
           delete canvas;
       if (svgDocument)
           svgDocument->deref();
  -	//delete svgView;
  -	delete part;
  +    delete svgView;
  +    delete part;
       [super dealloc];
   }
   
  @@ -143,8 +143,7 @@
   //          if (NSEqualSizes([self canvasSize], NSMakeSize(-1,-1))) {
   //              [self sizeCanvasToFitContent];
   //          }
  -            delete dummyCanvasView;
  -            dummyCanvasView = NULL;
  +            dummyCanvasView = NULL; // Clear the dummy, the KSVGView owns it and will delete it.
           }
       }
   }
  
  
  
  1.23      +24 -8     WebCore/WebCore.xcodeproj/project.pbxproj
  
  Index: project.pbxproj
  ===================================================================
  RCS file: /cvs/root/WebCore/WebCore.xcodeproj/project.pbxproj,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- project.pbxproj	4 Sep 2005 09:22:43 -0000	1.22
  +++ project.pbxproj	8 Sep 2005 08:03:08 -0000	1.23
  @@ -1388,6 +1388,12 @@
   		A8212D0508794A2300677359 /* libxslt.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 840633070731A77200DB1FD1 /* libxslt.dylib */; };
   		A82FBB6608C6241300EFEE23 /* EventNames.h in Headers */ = {isa = PBXBuildFile; fileRef = 939885C208B7E3D100E707C4 /* EventNames.h */; };
   		A82FBB6708C6241E00EFEE23 /* EventNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 939885C108B7E3D100E707C4 /* EventNames.cpp */; };
  +		A82FC27508C9292E00EFEE23 /* DOMImplementationLSImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = A82FC27308C9292E00EFEE23 /* DOMImplementationLSImpl.h */; };
  +		A82FC27608C9292E00EFEE23 /* DOMImplementationLSImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A82FC27408C9292E00EFEE23 /* DOMImplementationLSImpl.cpp */; };
  +		A82FC2F208C9AAE400EFEE23 /* LinkStyleImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = A82FC2F008C9AAE400EFEE23 /* LinkStyleImpl.h */; };
  +		A82FC2F308C9AAE400EFEE23 /* LinkStyleImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A82FC2F108C9AAE400EFEE23 /* LinkStyleImpl.cpp */; };
  +		A82FC33D08CBB07C00EFEE23 /* SVGCursorElementImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = A82FC33B08CBB07C00EFEE23 /* SVGCursorElementImpl.h */; };
  +		A82FC33E08CBB07C00EFEE23 /* SVGCursorElementImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A82FC33C08CBB07C00EFEE23 /* SVGCursorElementImpl.cpp */; };
   		A841EC7208C6636600DDA21C /* KCanvasPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4758C44308C5F217009BAF05 /* KCanvasPath.cpp */; };
   		A856E9AE08B45ABC0042E303 /* XPathResultWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A81D592108ADDFF900136AC1 /* XPathResultWrapper.h */; };
   		A856E9AF08B45ABC0042E303 /* XPathResultWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A81D592008ADDFF900136AC1 /* XPathResultWrapper.cpp */; };
  @@ -2538,6 +2544,12 @@
   		A81D5A8108ADF70400136AC1 /* util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = util.cpp; sourceTree = "<group>"; };
   		A81D5A8208ADF70400136AC1 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = "<group>"; };
   		A8212D0708794A2300677359 /* WebCore+SVG.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "WebCore+SVG.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
  +		A82FC27308C9292E00EFEE23 /* DOMImplementationLSImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMImplementationLSImpl.h; sourceTree = "<group>"; };
  +		A82FC27408C9292E00EFEE23 /* DOMImplementationLSImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMImplementationLSImpl.cpp; sourceTree = "<group>"; };
  +		A82FC2F008C9AAE400EFEE23 /* LinkStyleImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinkStyleImpl.h; sourceTree = "<group>"; };
  +		A82FC2F108C9AAE400EFEE23 /* LinkStyleImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LinkStyleImpl.cpp; sourceTree = "<group>"; };
  +		A82FC33B08CBB07C00EFEE23 /* SVGCursorElementImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGCursorElementImpl.h; sourceTree = "<group>"; };
  +		A82FC33C08CBB07C00EFEE23 /* SVGCursorElementImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGCursorElementImpl.cpp; sourceTree = "<group>"; };
   		A838543108B0A00B000AF580 /* variablereference.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = variablereference.h; sourceTree = "<group>"; };
   		A838543208B0A00B000AF580 /* variablereference.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = variablereference.cpp; sourceTree = "<group>"; };
   		A856E9F808B4608F0042E303 /* xpath.y */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.yacc; path = xpath.y; sourceTree = "<group>"; };
  @@ -2589,10 +2601,6 @@
   		A8C0F7F5089701F300BA5114 /* SVGZoomEventImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGZoomEventImpl.cpp; sourceTree = "<group>"; };
   		A8C0F7F6089701F300BA5114 /* SVGZoomEventImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGZoomEventImpl.h; sourceTree = "<group>"; };
   		A8C0F7F7089701F300BA5114 /* ksvgevents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ksvgevents.h; sourceTree = "<group>"; };
  -		A8C0F7F8089701F300BA5114 /* SVGEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGEvent.cpp; sourceTree = "<group>"; };
  -		A8C0F7F9089701F300BA5114 /* SVGEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGEvent.h; sourceTree = "<group>"; };
  -		A8C0F7FA089701F300BA5114 /* SVGZoomEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGZoomEvent.cpp; sourceTree = "<group>"; };
  -		A8C0F7FB089701F300BA5114 /* SVGZoomEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGZoomEvent.h; sourceTree = "<group>"; };
   		A8C0F7FD089701F300BA5114 /* CDFInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CDFInterface.cpp; sourceTree = "<group>"; };
   		A8C0F7FE089701F300BA5114 /* CDFInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDFInterface.h; sourceTree = "<group>"; };
   		A8C0F7FF089701F300BA5114 /* SVGAElementImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAElementImpl.cpp; sourceTree = "<group>"; };
  @@ -4281,10 +4289,6 @@
   				A8C0F7F4089701F300BA5114 /* SVGEventImpl.h */,
   				A8C0F7F5089701F300BA5114 /* SVGZoomEventImpl.cpp */,
   				A8C0F7F6089701F300BA5114 /* SVGZoomEventImpl.h */,
  -				A8C0F7F8089701F300BA5114 /* SVGEvent.cpp */,
  -				A8C0F7F9089701F300BA5114 /* SVGEvent.h */,
  -				A8C0F7FA089701F300BA5114 /* SVGZoomEvent.cpp */,
  -				A8C0F7FB089701F300BA5114 /* SVGZoomEvent.h */,
   			);
   			path = events;
   			sourceTree = "<group>";
  @@ -4346,6 +4350,8 @@
   				A8C0F830089701F300BA5114 /* SVGColorImpl.h */,
   				A8C0F831089701F300BA5114 /* SVGComponentTransferFunctionElementImpl.cpp */,
   				A8C0F832089701F300BA5114 /* SVGComponentTransferFunctionElementImpl.h */,
  +				A82FC33B08CBB07C00EFEE23 /* SVGCursorElementImpl.h */,
  +				A82FC33C08CBB07C00EFEE23 /* SVGCursorElementImpl.cpp */,
   				A8C0F833089701F300BA5114 /* SVGDefsElementImpl.cpp */,
   				A8C0F834089701F300BA5114 /* SVGDefsElementImpl.h */,
   				A8C0F835089701F300BA5114 /* SVGDescElementImpl.cpp */,
  @@ -4665,6 +4671,8 @@
   				A8C0F972089701F500BA5114 /* KDOMCSSParser.cpp */,
   				A8C0F973089701F500BA5114 /* KDOMCSSParser.h */,
   				A8C0F974089701F500BA5114 /* kdomparsercss.y */,
  +				A82FC2F008C9AAE400EFEE23 /* LinkStyleImpl.h */,
  +				A82FC2F108C9AAE400EFEE23 /* LinkStyleImpl.cpp */,
   				A8C0F975089701F500BA5114 /* MediaListImpl.cpp */,
   				A8C0F976089701F500BA5114 /* MediaListImpl.h */,
   				A8C0F977089701F500BA5114 /* RectImpl.cpp */,
  @@ -4808,6 +4816,8 @@
   		A8C0FA41089701F600BA5114 /* ls */ = {
   			isa = PBXGroup;
   			children = (
  +				A82FC27308C9292E00EFEE23 /* DOMImplementationLSImpl.h */,
  +				A82FC27408C9292E00EFEE23 /* DOMImplementationLSImpl.cpp */,
   				A8C0FA55089701F600BA5114 /* kdomls.h */,
   				A8C0FA45089701F600BA5114 /* LSExceptionImpl.cpp */,
   				A8C0FA46089701F600BA5114 /* LSExceptionImpl.h */,
  @@ -6896,6 +6906,9 @@
   				A856E9D708B45B1E0042E303 /* functions.h in Headers */,
   				A856E9D908B45B1E0042E303 /* expression.h in Headers */,
   				A82FBB6608C6241300EFEE23 /* EventNames.h in Headers */,
  +				A82FC27508C9292E00EFEE23 /* DOMImplementationLSImpl.h in Headers */,
  +				A82FC2F208C9AAE400EFEE23 /* LinkStyleImpl.h in Headers */,
  +				A82FC33D08CBB07C00EFEE23 /* SVGCursorElementImpl.h in Headers */,
   			);
   			runOnlyForDeploymentPostprocessing = 0;
   		};
  @@ -8903,6 +8916,9 @@
   				A856E9F908B4608F0042E303 /* xpath.y in Sources */,
   				A82FBB6708C6241E00EFEE23 /* EventNames.cpp in Sources */,
   				A841EC7208C6636600DDA21C /* KCanvasPath.cpp in Sources */,
  +				A82FC27608C9292E00EFEE23 /* DOMImplementationLSImpl.cpp in Sources */,
  +				A82FC2F308C9AAE400EFEE23 /* LinkStyleImpl.cpp in Sources */,
  +				A82FC33E08CBB07C00EFEE23 /* SVGCursorElementImpl.cpp in Sources */,
   			);
   			runOnlyForDeploymentPostprocessing = 0;
   		};
  
  
  
  1.7       +11 -2     SVGSupport/kcanvas/KCanvas.cpp
  
  Index: KCanvas.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvas.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- KCanvas.cpp	2 Sep 2005 10:02:55 -0000	1.6
  +++ KCanvas.cpp	8 Sep 2005 08:03:10 -0000	1.7
  @@ -62,9 +62,12 @@
   
   KCanvas::~KCanvas()
   {
  -    delete d->rootContainer;
  -    d->rootContainer = NULL;
       reset();
  +    Q3ValueListConstIterator<const KCanvasView *> it = d->viewList.constBegin();
  +    Q3ValueListConstIterator<const KCanvasView *> end = d->viewList.constEnd();
  +
  +    for(; it != end; ++it)
  +        const_cast<KCanvasView *>(*it)->setCanvas(0);
       delete d;
   }
   
  @@ -116,6 +119,12 @@
   
   void KCanvas::reset()
   {
  +    if(d->rootContainer)
  +    {
  +        delete d->rootContainer;
  +        d->rootContainer = 0;
  +    }
  +
       registry()->cleanup();
   }
   
  
  
  
  1.7       +16 -19    SVGSupport/kcanvas/KCanvasContainer.cpp
  
  Index: KCanvasContainer.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasContainer.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- KCanvasContainer.cpp	1 Sep 2005 07:32:45 -0000	1.6
  +++ KCanvasContainer.cpp	8 Sep 2005 08:03:10 -0000	1.7
  @@ -209,20 +209,17 @@
   
   QRect KCanvasContainer::bbox(bool includeStroke) const
   {
  -    KCanvasItem *current = d->first;
  -    
       QRect rect;
  -    
  +
  +    KCanvasItem *current = d->first;
       if (current) {
           rect = current->bbox(includeStroke);
           current = current->next();
  -        
  +
           for(; current != 0; current = current->next())
  -        {
               rect = rect.unite(current->bbox(includeStroke));
  -        }
       }
  -    
  +
       return rect;
   }
   
  @@ -270,21 +267,11 @@
       return true;
   }
   
  -KCanvasItem *KCanvasContainer::first() const
  -{
  -    return d->first;
  -}
  -
  -KCanvasItem *KCanvasContainer::last() const
  -{
  -    return d->last;
  -}
  -
   void KCanvasContainer::collisions(const QPoint &p, KCanvasItemList &hits) const
   {
       if(p.x() < 0 || p.y() < 0)
           return;
  -    
  +
       KCanvasItem *current = d->last;
       for(; current != 0; current = current->prev())
       {
  @@ -294,7 +281,7 @@
           {
               QRect fillRect(current->bbox(false));
               QRect strokeRect(current->bbox(true));
  -            
  +
               // Test bounding boxes firsts for speed
               if((fillRect.contains(p) && current->fillContains(p)) ||
                  (strokeRect.contains(p) && current->strokeContains(p)))
  @@ -303,4 +290,14 @@
       }
   }
   
  +KCanvasItem *KCanvasContainer::first() const
  +{
  +    return d->first;
  +}
  +
  +KCanvasItem *KCanvasContainer::last() const
  +{
  +    return d->last;
  +}
  +
   // vim:ts=4:noet
  
  
  
  1.5       +4 -4      SVGSupport/kcanvas/KCanvasContainer.h
  
  Index: KCanvasContainer.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasContainer.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KCanvasContainer.h	1 Sep 2005 07:32:45 -0000	1.4
  +++ KCanvasContainer.h	8 Sep 2005 08:03:10 -0000	1.5
  @@ -54,10 +54,10 @@
       
       virtual void invalidate() const;
       virtual QRect bbox(bool includeStroke = true) const;
  -        
  -        KCanvasItem *first() const;
  -        KCanvasItem *last() const;
  -        
  +
  +    KCanvasItem *first() const;
  +    KCanvasItem *last() const;
  +
   private:
       friend class KCanvasItem;
   
  
  
  
  1.5       +1 -0      SVGSupport/kcanvas/KCanvasFilters.cpp
  
  Index: KCanvasFilters.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasFilters.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KCanvasFilters.cpp	1 Sep 2005 07:32:45 -0000	1.4
  +++ KCanvasFilters.cpp	8 Sep 2005 08:03:10 -0000	1.5
  @@ -27,6 +27,7 @@
   #include "KCanvasTreeDebug.h"
   
   // Filters
  +
   void KCanvasFilter::addFilterEffect(KCanvasFilterEffect *effect)
   {
       m_effects.append(effect);
  
  
  
  1.6       +1 -1      SVGSupport/kcanvas/KCanvasFilters.h
  
  Index: KCanvasFilters.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasFilters.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- KCanvasFilters.h	2 Sep 2005 10:02:55 -0000	1.5
  +++ KCanvasFilters.h	8 Sep 2005 08:03:10 -0000	1.6
  @@ -207,7 +207,7 @@
   public:
       KCColorMatrixType type() const { return m_type; }
       void setType(KCColorMatrixType type) { m_type = type; }
  -    
  +
       Q3ValueList<float> values() const { return m_values; }
       void setValues(const Q3ValueList<float> &values) { m_values = values; };
   
  
  
  
  1.4       +12 -12    SVGSupport/kcanvas/KCanvasMatrix.cpp
  
  Index: KCanvasMatrix.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasMatrix.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- KCanvasMatrix.cpp	1 Sep 2005 07:32:46 -0000	1.3
  +++ KCanvasMatrix.cpp	8 Sep 2005 08:03:10 -0000	1.4
  @@ -34,7 +34,7 @@
       m_mode = OPS_PREMUL;
   }
   
  -KCanvasMatrix::KCanvasMatrix(const QWMatrix &qmatrix)
  +KCanvasMatrix::KCanvasMatrix(const QMatrix &qmatrix)
   {
       m_mode = OPS_PREMUL;
       (*this) = qmatrix;
  @@ -56,7 +56,7 @@
   {
   }
   
  -KCanvasMatrix &KCanvasMatrix::operator=(const QWMatrix &other)
  +KCanvasMatrix &KCanvasMatrix::operator=(const QMatrix &other)
   {
       m_matrix = other;
       return *this;
  @@ -68,12 +68,12 @@
       return *this;
   }
   
  -bool KCanvasMatrix::operator==(const QWMatrix &other) const
  +bool KCanvasMatrix::operator==(const QMatrix &other) const
   {
       return (m_matrix == other);
   }
   
  -bool KCanvasMatrix::operator!=(const QWMatrix &other) const
  +bool KCanvasMatrix::operator!=(const QMatrix &other) const
   {
       return !operator==(other);
   }
  @@ -159,7 +159,7 @@
           m_matrix.translate(x, y);
       else
       {
  -        QWMatrix temp;
  +        QMatrix temp;
           temp.translate(x, y);
           m_matrix *= temp;
       }
  @@ -169,7 +169,7 @@
   
   KCanvasMatrix &KCanvasMatrix::multiply(const KCanvasMatrix &other)
   {
  -    QWMatrix temp(other.a(), other.b(), other.c(), other.d(), other.e(), other.f());
  +    QMatrix temp(other.a(), other.b(), other.c(), other.d(), other.e(), other.f());
   
       if(m_mode == OPS_PREMUL)
       {
  @@ -188,7 +188,7 @@
           m_matrix.scale(scaleFactorX, scaleFactorY);
       else
       {
  -        QWMatrix temp;
  +        QMatrix temp;
           temp.scale(scaleFactorX, scaleFactorY);
           m_matrix *= temp;
       }
  @@ -202,7 +202,7 @@
           m_matrix.rotate(angle);
       else
       {
  -        QWMatrix temp;
  +        QMatrix temp;
           temp.rotate(angle);
           m_matrix *= temp;
       }
  @@ -216,7 +216,7 @@
           m_matrix.rotate(atan2(y, x) / deg2rad);
       else
       {
  -        QWMatrix temp;
  +        QMatrix temp;
           temp.rotate(atan2(y, x) / deg2rad);
           m_matrix *= temp;
       }
  @@ -240,7 +240,7 @@
           m_matrix.shear(tan(angle * deg2rad), 0.0f);
       else
       {
  -        QWMatrix temp;
  +        QMatrix temp;
           temp.shear(tan(angle * deg2rad), 0.0f);
           m_matrix *= temp;
       }
  @@ -254,7 +254,7 @@
           m_matrix.shear(0.0f, tan(angle * deg2rad));
       else
       {
  -        QWMatrix temp;
  +        QMatrix temp;
           temp.shear(0.0f, tan(angle * deg2rad));
           m_matrix *= temp;
       }
  @@ -304,7 +304,7 @@
       return mapped;
   }
   
  -QWMatrix KCanvasMatrix::qmatrix() const
  +QMatrix KCanvasMatrix::qmatrix() const
   {
       return m_matrix;
   }
  
  
  
  1.4       +7 -7      SVGSupport/kcanvas/KCanvasMatrix.h
  
  Index: KCanvasMatrix.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasMatrix.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- KCanvasMatrix.h	1 Sep 2005 07:32:46 -0000	1.3
  +++ KCanvasMatrix.h	8 Sep 2005 08:03:10 -0000	1.4
  @@ -23,7 +23,7 @@
   #ifndef KCanvasMatrix_H
   #define KCanvasMatrix_H
   
  -#include <qwmatrix.h>
  +#include <qmatrix.h>
   
   typedef enum
   {
  @@ -36,17 +36,17 @@
   {
   public:
       KCanvasMatrix();
  -    KCanvasMatrix(const QWMatrix &qmatrix);
  +    KCanvasMatrix(const QMatrix &qmatrix);
       KCanvasMatrix(const KCanvasMatrix &matrix);
       KCanvasMatrix(double a, double b, double c, double d, double e, double f);
       ~KCanvasMatrix();
   
       // Operators
  -    KCanvasMatrix &operator=(const QWMatrix &other);
  +    KCanvasMatrix &operator=(const QMatrix &other);
       KCanvasMatrix &operator=(const KCanvasMatrix &other);
   
  -    bool operator==(const QWMatrix &other) const;
  -    bool operator!=(const QWMatrix &other) const;
  +    bool operator==(const QMatrix &other) const;
  +    bool operator!=(const QMatrix &other) const;
   
       bool operator==(const KCanvasMatrix &other) const;
       bool operator!=(const KCanvasMatrix &other) const;
  @@ -96,10 +96,10 @@
       // (Only works for lineto/moveto operations!)
       KCPathDataList map(const KCPathDataList &pathData) const;
   
  -    QWMatrix qmatrix() const;
  +    QMatrix qmatrix() const;
   
   private:
  -    QWMatrix m_matrix;
  +    QMatrix m_matrix;
       KCMatrixOperationMode m_mode;
   };
   
  
  
  
  1.6       +8 -7      SVGSupport/kcanvas/KCanvasRegistry.cpp
  
  Index: KCanvasRegistry.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasRegistry.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- KCanvasRegistry.cpp	2 Sep 2005 10:02:56 -0000	1.5
  +++ KCanvasRegistry.cpp	8 Sep 2005 08:03:10 -0000	1.6
  @@ -23,7 +23,6 @@
   #include "KCanvasItem.h"
   #include "KCanvasRegistry.h"
   #include "KRenderingPaintServer.h"
  -
   #include <qtextstream.h>
   
   KCanvasRegistry::KCanvasRegistry()
  @@ -65,16 +64,17 @@
   }
   
   QTextStream &operator<<(QTextStream &ts, const KCanvasRegistry &r)
  -{    
  +{
       ts << "KCanvasRegistry: ";
  -    if (r.m_resources.count() == 0 && r.m_pservers.count() == 0) 
  +    if (r.m_resources.count() == 0 && r.m_pservers.count() == 0)
       {
           ts << "empty" << endl;
  -    } else 
  -    {   
  +    }
  +    else
  +    {
           ts << endl;
  -        for (Q3DictIterator<KCanvasResource> it(r.m_resources); (*it); ++it) 
  -        {            
  +        for (Q3DictIterator<KCanvasResource> it(r.m_resources); (*it); ++it)
  +        {
               ts << "  KCanvasResource {id=\"" << it.currentKey() << "\" " << *(*it) << "}" << endl;
           }
           for (Q3DictIterator<KRenderingPaintServer> it(r.m_pservers); (*it); ++it)
  @@ -82,6 +82,7 @@
               ts << "  KRenderingPaintServer {id=\"" << it.currentKey() << "\" " << *(*it) <<"}" << endl;
           }
       }
  +
       return ts;
   }
   
  
  
  
  1.6       +1 -1      SVGSupport/kcanvas/KCanvasRegistry.h
  
  Index: KCanvasRegistry.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasRegistry.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- KCanvasRegistry.h	2 Sep 2005 10:02:56 -0000	1.5
  +++ KCanvasRegistry.h	8 Sep 2005 08:03:10 -0000	1.6
  @@ -48,7 +48,7 @@
   
   private:
       friend QTextStream &operator<<(QTextStream &, const KCanvasRegistry &);
  -    
  +
   private:
       Q3Dict<KCanvasResource> m_resources;
       Q3Dict<KRenderingPaintServer> m_pservers;
  
  
  
  1.5       +1 -26     SVGSupport/kcanvas/KCanvasResources.cpp
  
  Index: KCanvasResources.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasResources.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KCanvasResources.cpp	1 Sep 2005 07:32:47 -0000	1.4
  +++ KCanvasResources.cpp	8 Sep 2005 08:03:10 -0000	1.5
  @@ -26,6 +26,7 @@
   #include "KCanvas.h"
   #include "KCanvasItem.h"
   #include "KCanvasMatrix.h"
  +#include "KCanvasContainer.h"
   #include "KCanvasResources.h"
   #include "KRenderingDevice.h"
   #include "KCanvasResourceListener.h"
  @@ -41,25 +42,12 @@
   // KCanvasResource
   KCanvasResource::KCanvasResource()
   {
  -    m_changed = true;
  -
  -    m_listener = 0;
   }
   
   KCanvasResource::~KCanvasResource()
   {
   }
   
  -bool KCanvasResource::changed() const
  -{
  -    return m_changed;
  -}
  -
  -void KCanvasResource::setChanged(bool changed)
  -{
  -    m_changed = changed;
  -}
  -
   void KCanvasResource::addClient(KCanvasItem *item)
   {
       if(m_clients.find(item) != m_clients.end())
  @@ -73,16 +61,6 @@
       return m_clients;
   }
   
  -KCanvasResourceListener *KCanvasResource::listener() const
  -{
  -    return m_listener;
  -}
  -
  -void KCanvasResource::setListener(KCanvasResourceListener *listener)
  -{
  -    m_listener = listener;
  -}
  -
   void KCanvasResource::invalidate()
   {
       KCanvasItemList::ConstIterator it = m_clients.begin();
  @@ -211,11 +189,8 @@
   
   void KCanvasMarker::draw(double x, double y, double angle)
   {
  -    kdDebug() << "Drawing marker at : " << x << " , " << y << endl;
       if(m_marker && m_marker->style())
       {
  -        setChanged(false);
  -
           KCanvasMatrix translation;
           translation.translate(x, y);
   
  
  
  
  1.6       +0 -10     SVGSupport/kcanvas/KCanvasResources.h
  
  Index: KCanvasResources.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasResources.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- KCanvasResources.h	2 Sep 2005 10:02:56 -0000	1.5
  +++ KCanvasResources.h	8 Sep 2005 08:03:11 -0000	1.6
  @@ -42,7 +42,6 @@
       RS_FILTER = 3
   } KCResourceType;
   
  -
   class KCanvasMatrix;
   
   class KCanvasResource
  @@ -51,26 +50,17 @@
       KCanvasResource();
       virtual ~KCanvasResource();
   
  -    bool changed() const;
  -    void setChanged(bool changed);
  -
       virtual void invalidate();
       void addClient(KCanvasItem *item);
   
       const KCanvasItemList &clients() const;
  -
  -    KCanvasResourceListener *listener() const;
  -    void setListener(KCanvasResourceListener *listener);
       
       QString idInRegistry() const;
       void setIdInRegistry(const QString& newId);
       
       virtual QTextStream& externalRepresentation(QTextStream &) const; 
   private:
  -    bool m_changed : 1;
  -
       KCanvasItemList m_clients;
  -    KCanvasResourceListener *m_listener;
       QString registryId;
   };
   
  
  
  
  1.6       +7 -5      SVGSupport/kcanvas/KCanvasTreeDebug.cpp
  
  Index: KCanvasTreeDebug.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasTreeDebug.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- KCanvasTreeDebug.cpp	1 Sep 2005 09:39:01 -0000	1.5
  +++ KCanvasTreeDebug.cpp	8 Sep 2005 08:03:11 -0000	1.6
  @@ -40,9 +40,10 @@
   #include <kcanvas/device/KRenderingPaintServerImage.h>
   #include <kcanvas/KCanvasResources.h>
   #include <kcanvas/KCanvasFilters.h>
  +#ifdef APPLE_CHANGES
   #include <kcanvas/device/quartz/KRenderingDeviceQuartz.h>
   #include <kcanvas/device/quartz/QuartzSupport.h>
  -
  +#endif
   #include <ksvg2/svg/SVGStyledElementImpl.h>
   
   #include <kdom/DOMString.h>
  @@ -161,7 +162,7 @@
           else
               ts << s << *(p->paintServer());
       } 
  -            
  +
       if (p->opacity() != 1.0f)
           ts << s << "[opacity=" << p->opacity() << "]";
       if (p->strokeWidth() != 1.0f)
  @@ -192,7 +193,7 @@
           else
               ts << s << *(p->paintServer());
       } 
  -            
  +
       if (p->opacity() != 1.0f)
           ts << s << "[opacity=" << p->opacity() << "]";
       if (p->fillRule() != RULE_NONZERO)
  @@ -256,7 +257,8 @@
       }
       if (DIFFERS_FROM_PARENT(style()->filter()) && o.style()->filter())
           ts << " [filter=" << o.style()->filter() << "]";
  -    
  +
  +#ifdef APPLE_CHANGES
       // Print the actual path data
       if (o.path()) {
           CGMutablePathRef cgPath = static_cast<KCanvasQuartzPathData *>(o.path())->path;
  @@ -264,7 +266,7 @@
           ts << " [data=\"" << QString::fromCFString(pathString) << "\"]";
           CFRelease(pathString);
       }
  -    
  +#endif    
       return ts;
   }
   #undef DIFFERS_FROM_PARENT
  
  
  
  1.5       +5 -0      SVGSupport/kcanvas/KCanvasView.cpp
  
  Index: KCanvasView.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasView.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KCanvasView.cpp	2 Sep 2005 10:02:56 -0000	1.4
  +++ KCanvasView.cpp	8 Sep 2005 08:03:11 -0000	1.5
  @@ -466,6 +466,11 @@
   }
   #endif
   
  +void KCanvasView::setCanvas(KCanvas *canvas)
  +{
  +    d->canvas = canvas;
  +}
  +
   void KCanvasView::clampAgainstTarget(const QRect &rect, int &x0, int &y0, int &x1, int &y1)
   {
       int curWidth = viewWidth();
  
  
  
  1.4       +3 -1      SVGSupport/kcanvas/KCanvasView.h
  
  Index: KCanvasView.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasView.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- KCanvasView.h	1 Sep 2005 07:32:47 -0000	1.3
  +++ KCanvasView.h	8 Sep 2005 08:03:11 -0000	1.4
  @@ -102,7 +102,9 @@
   
   private:
       friend class KCanvas;
  -    
  +
  +    void setCanvas(KCanvas *canvas);
  +
       // Internal helper.
       virtual void canvasSizeChanged(int width, int height) = 0;
   
  
  
  
  1.5       +0 -6      SVGSupport/kcanvas/device/KRenderingFillPainter.cpp
  
  Index: KRenderingFillPainter.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/KRenderingFillPainter.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KRenderingFillPainter.cpp	1 Sep 2005 07:32:50 -0000	1.4
  +++ KRenderingFillPainter.cpp	8 Sep 2005 08:03:13 -0000	1.5
  @@ -90,13 +90,7 @@
   void KRenderingFillPainter::draw(KRenderingDeviceContext *context, const KCanvasCommonArgs &args) const
   {
       if(d->pserver)
  -    {
  -        KCanvasResource *res = dynamic_cast<KCanvasResource *>(d->pserver);
  -        if(res && res->listener())        
  -            res->listener()->resourceNotification();
  -
           d->pserver->draw(context, args, APPLY_TO_FILL);
  -    }
   }
   
   // vim:ts=4:noet
  
  
  
  1.5       +3 -2      SVGSupport/kcanvas/device/KRenderingPaintServer.h
  
  Index: KRenderingPaintServer.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/KRenderingPaintServer.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KRenderingPaintServer.h	1 Sep 2005 07:32:50 -0000	1.4
  +++ KRenderingPaintServer.h	8 Sep 2005 08:03:13 -0000	1.5
  @@ -24,6 +24,7 @@
   #define KRenderingPaintServer_H
   
   #include <kcanvas/KCanvasTypes.h>
  +#include <kcanvas/KCanvasResources.h>
   
   // Enumerations
   typedef enum
  @@ -46,10 +47,10 @@
   class QTextStream;
   class KCanvasItem;
   class KRenderingDeviceContext;
  -class KRenderingPaintServer
  +class KRenderingPaintServer : public KCanvasResource
   {
   public:
  -    KRenderingPaintServer() { m_activeClient = 0; }
  +    KRenderingPaintServer() : KCanvasResource() { m_activeClient = 0; }
       virtual ~KRenderingPaintServer() { }
   
       const KCanvasItem *activeClient() const { return m_activeClient;}
  
  
  
  1.6       +14 -2     SVGSupport/kcanvas/device/KRenderingPaintServerGradient.cpp
  
  Index: KRenderingPaintServerGradient.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/KRenderingPaintServerGradient.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- KRenderingPaintServerGradient.cpp	2 Sep 2005 10:02:58 -0000	1.5
  +++ KRenderingPaintServerGradient.cpp	8 Sep 2005 08:03:13 -0000	1.6
  @@ -90,16 +90,17 @@
   class KRenderingPaintServerGradient::Private
   {
   public:
  -    Private() { boundingBoxMode = true; spreadMethod = SPREADMETHOD_PAD; }
  +    Private() { boundingBoxMode = true; spreadMethod = SPREADMETHOD_PAD; listener = 0; }
       ~Private() { }
   
       KCSortedGradientStopList stops;
       KCGradientSpreadMethod spreadMethod;
       bool boundingBoxMode;
       KCanvasMatrix gradientTransform;
  +    KCanvasResourceListener *listener;
   };
   
  -KRenderingPaintServerGradient::KRenderingPaintServerGradient() : KRenderingPaintServer(), KCanvasResource(), d(new Private())
  +KRenderingPaintServerGradient::KRenderingPaintServerGradient() : KRenderingPaintServer(), d(new Private())
   {
   }
   
  @@ -270,6 +271,16 @@
       return PS_RADIAL_GRADIENT;
   }
   
  +KCanvasResourceListener *KRenderingPaintServerGradient::listener() const
  +{
  +    return d->listener;
  +}
  +
  +void KRenderingPaintServerGradient::setListener(KCanvasResourceListener *listener)
  +{
  +    d->listener = listener;
  +}
  +
   QTextStream &KRenderingPaintServerRadialGradient::externalRepresentation(QTextStream &ts) const
   {
       ts << "[type=RADIAL-GRADIENT] "; 
  @@ -279,4 +290,5 @@
           << " [radius=" << gradientRadius() << "]";
       return ts;
   }
  +
   // vim:ts=4:noet
  
  
  
  1.6       +5 -4      SVGSupport/kcanvas/device/KRenderingPaintServerGradient.h
  
  Index: KRenderingPaintServerGradient.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/KRenderingPaintServerGradient.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- KRenderingPaintServerGradient.h	2 Sep 2005 10:02:58 -0000	1.5
  +++ KRenderingPaintServerGradient.h	8 Sep 2005 08:03:13 -0000	1.6
  @@ -26,8 +26,8 @@
   #include <qcolor.h>
   #include <q3ptrlist.h>
   
  -#include <kcanvas/KCanvasResources.h>
   #include <kcanvas/device/KRenderingPaintServer.h>
  +#include <kcanvas/KCanvasResourceListener.h>
   
   typedef enum
   {
  @@ -52,7 +52,6 @@
   
       typedef Q3PtrListIterator<KCGradientOffsetPair> Iterator;
   
  -    
   protected:
       virtual int compareItems(Q3PtrCollection::Item item1, Q3PtrCollection::Item item2);
   private:
  @@ -62,8 +61,7 @@
   QTextStream &operator<<(QTextStream &, const KCSortedGradientStopList &);
   
   class KCanvasMatrix;
  -class KRenderingPaintServerGradient : public KRenderingPaintServer,
  -                                      public KCanvasResource
  +class KRenderingPaintServerGradient : public KRenderingPaintServer
   {
   public:
       KRenderingPaintServerGradient();
  @@ -86,6 +84,9 @@
       KCanvasMatrix gradientTransform() const;
       void setGradientTransform(const KCanvasMatrix &mat);
   
  +    KCanvasResourceListener *listener() const;
  +    void setListener(KCanvasResourceListener *listener);
  +
       QTextStream &externalRepresentation(QTextStream &) const;
   private:
       class Private;
  
  
  
  1.5       +13 -1     SVGSupport/kcanvas/device/KRenderingPaintServerPattern.cpp
  
  Index: KRenderingPaintServerPattern.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/KRenderingPaintServerPattern.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KRenderingPaintServerPattern.cpp	1 Sep 2005 07:32:51 -0000	1.4
  +++ KRenderingPaintServerPattern.cpp	8 Sep 2005 08:03:13 -0000	1.5
  @@ -35,6 +35,7 @@
           tile = 0;
           x = y = width = height = 0;
           useBoundingBoxMode = true;
  +        listener = 0;
       }
       ~Private() { delete tile; }
   
  @@ -42,9 +43,10 @@
       KCanvasMatrix patternTransform;
       float x, y, width, height;
       bool useBoundingBoxMode;
  +    KCanvasResourceListener *listener;
   };
   
  -KRenderingPaintServerPattern::KRenderingPaintServerPattern() : KRenderingPaintServer(), KCanvasResource(), d(new Private())
  +KRenderingPaintServerPattern::KRenderingPaintServerPattern() : KRenderingPaintServer(), d(new Private())
   {
   }
   
  @@ -128,6 +130,16 @@
       return PS_PATTERN;
   }
   
  +KCanvasResourceListener *KRenderingPaintServerPattern::listener() const
  +{
  +    return d->listener;
  +}
  +
  +void KRenderingPaintServerPattern::setListener(KCanvasResourceListener *listener)
  +{
  +    d->listener = listener;
  +}
  +
   QTextStream &KRenderingPaintServerPattern::externalRepresentation(QTextStream &ts) const
   {
        ts << "[type=PATTERN]"
  
  
  
  1.5       +4 -3      SVGSupport/kcanvas/device/KRenderingPaintServerPattern.h
  
  Index: KRenderingPaintServerPattern.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/KRenderingPaintServerPattern.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KRenderingPaintServerPattern.h	1 Sep 2005 07:32:51 -0000	1.4
  +++ KRenderingPaintServerPattern.h	8 Sep 2005 08:03:13 -0000	1.5
  @@ -23,15 +23,14 @@
   #ifndef KRenderingPaintServerPattern_H
   #define KRenderingPaintServerPattern_H
   
  -#include <kcanvas/KCanvasResources.h>
   #include <kcanvas/device/KRenderingPaintServer.h>
  +#include <kcanvas/KCanvasResourceListener.h>
   
   #include <qpoint.h>
   
   class KCanvasImage;
   
  -class KRenderingPaintServerPattern : public KRenderingPaintServer,
  -                                     public KCanvasResource
  +class KRenderingPaintServerPattern : public KRenderingPaintServer
   {
   public:
       KRenderingPaintServerPattern();
  @@ -64,6 +63,8 @@
       KCanvasMatrix patternTransform() const;
       void setPatternTransform(const KCanvasMatrix &mat);
   
  +    KCanvasResourceListener *listener() const;
  +    void setListener(KCanvasResourceListener *listener);
       QTextStream &externalRepresentation(QTextStream &) const;
   
   private:
  
  
  
  1.5       +1 -8      SVGSupport/kcanvas/device/KRenderingStrokePainter.cpp
  
  Index: KRenderingStrokePainter.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/KRenderingStrokePainter.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KRenderingStrokePainter.cpp	1 Sep 2005 07:32:51 -0000	1.4
  +++ KRenderingStrokePainter.cpp	8 Sep 2005 08:03:13 -0000	1.5
  @@ -20,7 +20,6 @@
       Boston, MA 02111-1307, USA.
   */
   
  -#include "KCanvasResources.h"
   #include "KRenderingPaintServer.h"
   #include "KRenderingStrokePainter.h"
   
  @@ -76,9 +75,9 @@
   
   void KRenderingStrokePainter::setPaintServer(KRenderingPaintServer *pserver)
   {
  +    setDirty();
       if(d->pserver && (d->pserver->type() == PS_SOLID || d->pserver->type() == PS_IMAGE))
           delete d->pserver;
  -    setDirty();
       d->pserver = pserver;
   }
   
  @@ -162,13 +161,7 @@
   void KRenderingStrokePainter::draw(KRenderingDeviceContext *context, const KCanvasCommonArgs &args) const
   {
       if(d->pserver)
  -    {
  -        KCanvasResource *res = dynamic_cast<KCanvasResource *>(d->pserver);
  -        if(res && res->listener())
  -            res->listener()->resourceNotification();
  -
           d->pserver->draw(context, args, APPLY_TO_STROKE);
  -    }
   }
   
   bool KRenderingStrokePainter::dirty() const
  
  
  
  1.5       +2 -2      SVGSupport/kcanvas/device/KRenderingStyle.cpp
  
  Index: KRenderingStyle.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/KRenderingStyle.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KRenderingStyle.cpp	1 Sep 2005 07:32:51 -0000	1.4
  +++ KRenderingStyle.cpp	8 Sep 2005 08:03:13 -0000	1.5
  @@ -39,9 +39,9 @@
           endMarker = 0;
           midMarker = 0;
           startMarker = 0;
  -        
  + 
           filter = 0;
  -    
  +
           imageRendering = IR_OPTIMIZE_QUALITY;
   
           opacity = 1.0f;
  
  
  
  1.7       +2 -2      SVGSupport/kcanvas/device/quartz/KCanvasFilterQuartz.mm
  
  Index: KCanvasFilterQuartz.mm
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/quartz/KCanvasFilterQuartz.mm,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- KCanvasFilterQuartz.mm	28 Aug 2005 10:48:28 -0000	1.6
  +++ KCanvasFilterQuartz.mm	8 Sep 2005 08:03:15 -0000	1.7
  @@ -92,7 +92,7 @@
   {
   	if (!KRenderingDeviceQuartz::filtersEnabled()) return;
   	if (m_effects.isEmpty()) {
  -		NSLog(@"WARNING: No effects, ignoring filter.");
  +		NSLog(@"WARNING: No effects, ignoring filter (%p).", this);
   		return;
   	}
   	ASSERT(m_storedCGContext == NULL);
  @@ -284,7 +284,7 @@
   
   #define FE_QUARTZ_CHECK_INPUT(input) \
   	if (!input) { \
  -		NSLog(@"ERROR: Can't apply filter w/o input image."); \
  +		NSLog(@"ERROR: Can't apply filter (%p) w/o input image.", this); \
   		return nil; \
   	}
   
  
  
  
  1.5       +11 -10    SVGSupport/kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm
  
  Index: KRenderingPaintServerGradientQuartz.mm
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KRenderingPaintServerGradientQuartz.mm	7 Sep 2005 08:00:28 -0000	1.4
  +++ KRenderingPaintServerGradientQuartz.mm	8 Sep 2005 08:03:15 -0000	1.5
  @@ -106,7 +106,6 @@
       float inValue = inValues[0];
       
       if (!stopsCount) {
  -        NSLog(@"Warning, no gradient stops, assuming black!");
           outColor[0] = 0;
           outColor[1] = 0;
           outColor[2] = 0;
  @@ -114,7 +113,6 @@
           return;
       } else if (stopsCount == 1) {
           memcpy(outColor, stops[0].colorArray, 4 * sizeof(float));
  -        //NSLog(@"singular stop, %f -> r: %f g: %f b: %f a: %f", inValue, outColor[0], outColor[1], outColor[2], outColor[3]);
           return;
       }
       
  @@ -150,12 +148,8 @@
           vector float vResult = vec_madd(vPercent, vNextColor, vPrevResult);
           vec_st(vResult, 0, outColor);
   #endif
  -        
       }
  -    
  -    //NSLog(@"%f -> r: %f g: %f b: %f a: %f", inValue, outColor[0], outColor[1], outColor[2], outColor[3]);
  -    
  -    // have to handle the spreadMethod()s here SPREADMETHOD_REPEAT, etc.
  +    // FIXME: have to handle the spreadMethod()s here SPREADMETHOD_REPEAT, etc.
   }
   
   
  @@ -208,11 +202,9 @@
       return shading;
   }
   
  -
   KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz() :
   m_stopsCache(0), m_stopsCount(0), m_shadingCache(0)
   {
  -    
   }
   
   KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz()
  @@ -228,6 +220,9 @@
       // this is legacy code, probably could be reworked.
       if (!m_stopsCache) updateQuartzGradientStopsCache(server->gradientStops());
       
  +    if (!m_stopsCount)
  +        NSLog(@"Warning, no gradient stops, gradient (%p) will be all black!", this);
  +    
       if (server->type() == PS_RADIAL_GRADIENT)
       {
           const KRenderingPaintServerRadialGradientQuartz *radial = static_cast<const KRenderingPaintServerRadialGradientQuartz *>(server);
  @@ -294,6 +289,9 @@
   
   void KRenderingPaintServerLinearGradientQuartz::draw(KRenderingDeviceContext *renderingContext, const KCanvasCommonArgs &args, KCPaintTargetType type) const
   {
  +    if(listener()) // this seems like bad design to me, should be in a common baseclass. -- ecs 8/6/05
  +        listener()->resourceNotification();
  +
       // FIXME: total const HACK!
       // We need a hook to call this when the gradient gets updated, before drawn.
       if (!m_shadingCache)
  @@ -303,7 +301,10 @@
   }
   
   void KRenderingPaintServerRadialGradientQuartz::draw(KRenderingDeviceContext *renderingContext, const KCanvasCommonArgs &args, KCPaintTargetType type) const
  -{	
  +{
  +    if(listener()) // this seems like bad design to me, should be in a common baseclass. -- ecs 8/6/05
  +        listener()->resourceNotification();
  +        
       // FIXME: total const HACK!
       // We need a hook to call this when the gradient gets updated, before drawn.
       if (!m_shadingCache)
  
  
  
  1.4       +1 -1      SVGSupport/kcanvas/device/quartz/KRenderingPaintServerQuartz.h
  
  Index: KRenderingPaintServerQuartz.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/quartz/KRenderingPaintServerQuartz.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- KRenderingPaintServerQuartz.h	1 Sep 2005 07:32:55 -0000	1.3
  +++ KRenderingPaintServerQuartz.h	8 Sep 2005 08:03:15 -0000	1.4
  @@ -67,7 +67,7 @@
   public:
       // due to c functions
       QuartzGradientStop *m_stopsCache;
  -    int                    m_stopsCount;
  +    int                 m_stopsCount;
   
   protected:
       void invalidateCaches();
  
  
  
  1.5       +4 -1      SVGSupport/kcanvas/device/quartz/KRenderingPaintServerQuartz.mm
  
  Index: KRenderingPaintServerQuartz.mm
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/quartz/KRenderingPaintServerQuartz.mm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KRenderingPaintServerQuartz.mm	22 Aug 2005 10:45:14 -0000	1.4
  +++ KRenderingPaintServerQuartz.mm	8 Sep 2005 08:03:15 -0000	1.5
  @@ -83,6 +83,9 @@
   
   void KRenderingPaintServerPatternQuartz::draw(KRenderingDeviceContext *renderingContext, const KCanvasCommonArgs &args, KCPaintTargetType type) const
   {
  +    if(listener()) // this seems like bad design to me, should be in a common baseclass. -- ecs 8/6/05
  +        listener()->resourceNotification();
  +
   	KRenderingDeviceContextQuartz *quartzContext = static_cast<KRenderingDeviceContextQuartz *>(renderingContext);
   	CGContextRef context = quartzContext->cgContext();
   	KRenderingStyle *style = args.style();
  @@ -165,5 +168,5 @@
   
   void KRenderingPaintServerImageQuartz::draw(KRenderingDeviceContext *renderingContext, const KCanvasCommonArgs &args, KCPaintTargetType type) const
   {
  -	NSLog(@"KRenderingPaintServerImageQuartz::draw() not implemented!");
  +    // FIXME: NOT IMPLEMENTED
   }
  
  
  
  1.5       +10 -6     SVGSupport/kdom/KDOMSettings.cpp
  
  Index: KDOMSettings.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/KDOMSettings.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KDOMSettings.cpp	2 Sep 2005 10:02:59 -0000	1.4
  +++ KDOMSettings.cpp	8 Sep 2005 08:03:16 -0000	1.5
  @@ -29,7 +29,6 @@
   #include <kmessagebox.h>
   #include <kglobalsettings.h>
   
  -#include <qpair.h>
   #include <qregexp.h>
   #include <q3valuevector.h>
   #include <qfontdatabase.h>
  @@ -38,6 +37,11 @@
   
   using namespace KDOM;
   
  +QColor txtDefault(DOM_DEFAULT_TXT_COLOR);
  +QColor lnkDefault(DOM_DEFAULT_LNK_COLOR);
  +QColor vlnkDefault(DOM_DEFAULT_VLNK_COLOR);
  +QColor baseDefault(DOM_DEFAULT_BASE_COLOR);
  +
   /**
    * @internal
    * Contains all settings which are both available globally and per-domain
  @@ -293,16 +297,16 @@
       {
           config->setGroup("General"); // group will be restored by cgs anyway
           if(reset || config->hasKey("foreground"))
  -            d->textColor = config->readColorEntry("foreground", &DOM_DEFAULT_TXT_COLOR);
  +            d->textColor = config->readColorEntry("foreground", &txtDefault);
   
           if(reset || config->hasKey("linkColor"))
  -            d->linkColor = config->readColorEntry("linkColor", &DOM_DEFAULT_LNK_COLOR);
  +            d->linkColor = config->readColorEntry("linkColor", &lnkDefault);
   
           if(reset || config->hasKey("visitedLinkColor"))
  -            d->vLinkColor = config->readColorEntry("visitedLinkColor", &DOM_DEFAULT_VLNK_COLOR);
  +            d->vLinkColor = config->readColorEntry("visitedLinkColor", &vlnkDefault);
   
           if(reset || config->hasKey("background"))
  -            d->baseColor = config->readColorEntry("background", &DOM_DEFAULT_BASE_COLOR);
  +            d->baseColor = config->readColorEntry("background", &baseDefault);
       }
   
       if(reset || config->hasGroup("Java/JavaScript Settings"))
  @@ -739,7 +743,7 @@
   {
       KJavaScriptAdvice ret = KJavaScriptDunno;
   
  -    if(!str)
  +    if(str.isNull())
           ret = KJavaScriptDunno;
   
       if(str.lower() == QString::fromLatin1("accept"))
  
  
  
  1.6       +3 -6      SVGSupport/kdom/Shared.h
  
  Index: Shared.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/Shared.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Shared.h	1 Sep 2005 07:32:57 -0000	1.5
  +++ Shared.h	8 Sep 2005 08:03:16 -0000	1.6
  @@ -43,12 +43,9 @@
       template<class T>
       inline void KDOM_SAFE_SET(T *&a, T *b)
       {
  -        if(a != b)
  -        {
  -            if(a) a->deref();
  -            a = b;
  -            if(a) a->ref();
  -        }
  +        if (b) b->ref();
  +        if (a) a->deref();
  +        a = b;
       }
   };
   
  
  
  
  1.6       +44 -44    SVGSupport/kdom/kdom.h
  
  Index: kdom.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/kdom.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- kdom.h	1 Sep 2005 07:32:57 -0000	1.5
  +++ kdom.h	8 Sep 2005 08:03:16 -0000	1.6
  @@ -39,49 +39,49 @@
        */
       enum NodeType
       {
  -        ELEMENT_NODE = 1,
  -        ATTRIBUTE_NODE = 2,
  -        TEXT_NODE = 3,
  -        CDATA_SECTION_NODE = 4,
  -        ENTITY_REFERENCE_NODE = 5,
  -        ENTITY_NODE = 6,
  +        ELEMENT_NODE                = 1,
  +        ATTRIBUTE_NODE              = 2,
  +        TEXT_NODE                   = 3,
  +        CDATA_SECTION_NODE          = 4,
  +        ENTITY_REFERENCE_NODE       = 5,
  +        ENTITY_NODE                 = 6,
           PROCESSING_INSTRUCTION_NODE = 7,
  -        COMMENT_NODE = 8,
  -        DOCUMENT_NODE = 9,
  -        DOCUMENT_TYPE_NODE = 10,
  -        DOCUMENT_FRAGMENT_NODE = 11,
  -        NOTATION_NODE = 12
  +        COMMENT_NODE                = 8,
  +        DOCUMENT_NODE               = 9,
  +        DOCUMENT_TYPE_NODE          = 10,
  +        DOCUMENT_FRAGMENT_NODE      = 11,
  +        NOTATION_NODE               = 12
       };
   
       enum ExceptionCode
       {
  -        INDEX_SIZE_ERR = 1,
  -        DOMSTRING_SIZE_ERR = 2,
  -        HIERARCHY_REQUEST_ERR = 3,
  -        WRONG_DOCUMENT_ERR = 4,
  -        INVALID_CHARACTER_ERR = 5,
  -        NO_DATA_ALLOWED_ERR = 6,
  +        INDEX_SIZE_ERR              = 1,
  +        DOMSTRING_SIZE_ERR          = 2,
  +        HIERARCHY_REQUEST_ERR       = 3,
  +        WRONG_DOCUMENT_ERR          = 4,
  +        INVALID_CHARACTER_ERR       = 5,
  +        NO_DATA_ALLOWED_ERR         = 6,
           NO_MODIFICATION_ALLOWED_ERR = 7,
  -        NOT_FOUND_ERR = 8,
  -        NOT_SUPPORTED_ERR = 9,
  -        INUSE_ATTRIBUTE_ERR = 10,
  -        INVALID_STATE_ERR = 11,
  -        SYNTAX_ERR = 12,
  -        INVALID_MODIFICATION_ERR = 13,
  -        NAMESPACE_ERR = 14,
  -        INVALID_ACCESS_ERR = 15,
  -        VALIDATION_ERR = 16,    // DOM3
  -        TYPE_MISMATCH_ERR = 17    // DOM3
  +        NOT_FOUND_ERR               = 8,
  +        NOT_SUPPORTED_ERR           = 9,
  +        INUSE_ATTRIBUTE_ERR         = 10,
  +        INVALID_STATE_ERR           = 11,
  +        SYNTAX_ERR                  = 12,
  +        INVALID_MODIFICATION_ERR    = 13,
  +        NAMESPACE_ERR               = 14,
  +        INVALID_ACCESS_ERR          = 15,
  +        VALIDATION_ERR              = 16,   // DOM3
  +        TYPE_MISMATCH_ERR           = 17    // DOM3
       };
   
       enum DocumentPosition
       {
  -        DOCUMENT_POSITION_DISCONNECTED                = 0x01,
  -        DOCUMENT_POSITION_PRECEDING                    = 0x02,
  -        DOCUMENT_POSITION_FOLLOWING                    = 0x04,
  -        DOCUMENT_POSITION_CONTAINS                    = 0x08,
  -        DOCUMENT_POSITION_CONTAINED_BY                = 0x10,
  -        DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC    = 0x20
  +        DOCUMENT_POSITION_DISCONNECTED              = 0x01,
  +        DOCUMENT_POSITION_PRECEDING                 = 0x02,
  +        DOCUMENT_POSITION_FOLLOWING                 = 0x04,
  +        DOCUMENT_POSITION_CONTAINS                  = 0x08,
  +        DOCUMENT_POSITION_CONTAINED_BY              = 0x10,
  +        DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC   = 0x20
       };
   
       enum DerivationMethods
  @@ -94,24 +94,24 @@
       
       enum
       {
  -        FEATURE_CANONICAL_FORM                    = 0x000001,
  -        FEATURE_CDATA_SECTIONS                    = 0x000002,
  +        FEATURE_CANONICAL_FORM                  = 0x000001,
  +        FEATURE_CDATA_SECTIONS                  = 0x000002,
           FEATURE_COMMENTS                        = 0x000004,
  -        FEATURE_DATATYPE_NORMALIZATION            = 0x000008,
  +        FEATURE_DATATYPE_NORMALIZATION          = 0x000008,
           FEATURE_ENTITIES                        = 0x000010,
  -        FEATURE_WELL_FORMED                        = 0x000020,
  -        FEATURE_NAMESPACES                        = 0x000040,
  -        FEATURE_NAMESPACE_DECLARATIONS            = 0x000080,
  +        FEATURE_WELL_FORMED                     = 0x000020,
  +        FEATURE_NAMESPACES                      = 0x000040,
  +        FEATURE_NAMESPACE_DECLARATIONS          = 0x000080,
           FEATURE_NORMALIZE_CHARACTERS            = 0x000100,
           FEATURE_SPLIT_CDATA_SECTIONS            = 0x000200,
           FEATURE_VALIDATE                        = 0x000400,
  -        FEATURE_VALIDATE_IF_SCHEMA                = 0x000800,
  -        FEATURE_WHITESPACE_IN_ELEMENT_CONTENT    = 0x001000,
  -        FEATURE_CHECK_CHARACTER_NORMALIZATION    = 0x002000,
  +        FEATURE_VALIDATE_IF_SCHEMA              = 0x000800,
  +        FEATURE_WHITESPACE_IN_ELEMENT_CONTENT   = 0x001000,
  +        FEATURE_CHECK_CHARACTER_NORMALIZATION   = 0x002000,
   
           // LSParser specific
  -        FEATURE_CHARSET_OVERRIDES_XML_ENCODING    = 0x004000,
  -        FEATURE_DISALLOW_DOCTYPE                = 0x008000,
  +        FEATURE_CHARSET_OVERRIDES_XML_ENCODING   = 0x004000,
  +        FEATURE_DISALLOW_DOCTYPE                 = 0x008000,
           FEATURE_IGNORE_UNKNOWN_CD                = 0x010000,
           FEATURE_SUPPORTED_MEDIA_TYPE_ONLY        = 0x020000,
   
  
  
  
  1.5       +0 -4      SVGSupport/kdom/backends/libxml/LibXMLParser.cpp
  
  Index: LibXMLParser.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/backends/libxml/LibXMLParser.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- LibXMLParser.cpp	1 Sep 2005 07:33:00 -0000	1.4
  +++ LibXMLParser.cpp	8 Sep 2005 08:03:17 -0000	1.5
  @@ -120,7 +120,6 @@
           doc->setInputEncoding(DOMString("UTF-8").handle());
   
       doc->setXmlVersion(DOMString(CONV_STRING(ctxt->version)).handle());
  -    xmlSAX2StartDocument(closure);
   }
   
   void sax_end_doc(void *closure)
  @@ -259,7 +258,6 @@
   {
       GET_BUILDER
       docBuilder->startDTD(CONV_STRING(name), CONV_STRING(publicId), CONV_STRING(systemId));
  -    xmlSAX2InternalSubset(closure, name, publicId, systemId);
   }
   
   #ifdef __GNUC__
  @@ -426,8 +424,6 @@
       }
       else
           docBuilder->externalEntityDecl(CONV_STRING(name), CONV_STRING(publicId), CONV_STRING(systemId));
  -
  -    xmlSAX2EntityDecl(closure, name, type, publicId, systemId, content);
   }
   
   #ifndef APPLE_COMPILE_HACK
  
  
  
  1.2       +15 -3     SVGSupport/kdom/bindings/IDLParser.pm
  
  Index: IDLParser.pm
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/bindings/IDLParser.pm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- IDLParser.pm	25 Aug 2005 08:16:06 -0000	1.1
  +++ IDLParser.pm	8 Sep 2005 08:03:17 -0000	1.2
  @@ -42,7 +42,7 @@
   	my $url = shift;
   
   	print " | *** Starting to parse $url...\n |\n" if(!$beQuiet);
  -	open(FILE, "<$url") || die "Couldn't open requested file!";
  +	open(FILE, "<$url") || die "Couldn't open requested file (file: $url)!";
   	my @documentContent = <FILE>;
   	close(FILE);
   
  @@ -187,7 +187,12 @@
   				my $attributePtrFlag = (defined($2) ? $2 : " "); chop($attributePtrFlag);
   				my $attributeDataType = (defined($3) ? $3 : die("Parsing error!\nSource:\n$line\n)"));
   				my $attributeDataName = (defined($4) ? $4 : die("Parsing error!\nSource:\n$line\n)"));
  +					
  +				('' =~ /^/); # Reset variables needed for regexp matching
   				
  +				$line =~ /$IDLStructure::raisesSelector/;
  +				my $attributeException = (defined($1) ? $1 : "");
  +			
   				my $newDataNode = new domAttribute();
   				$newDataNode->type($attributeType);
   				$newDataNode->signature(new domSignature());
  @@ -199,9 +204,13 @@
   				my $arrayRef = $dataNode->attributes;
   				push(@$arrayRef, $newDataNode);
   
  -				print "  |  |>  Attribute; TYPE \"$attributeType\" DATA NAME \"$attributeDataName\" DATA TYPE \"$attributeDataType\" PTR FLAG \"$attributePtrFlag\"\n" if(!$beQuiet);
  +				print "  |  |>  Attribute; TYPE \"$attributeType\" DATA NAME \"$attributeDataName\" DATA TYPE \"$attributeDataType\" EXCEPTION? \"$attributeException\" PTR FLAG \"$attributePtrFlag\"\n" if(!$beQuiet);
  +
  +				$attributeException =~ s/\s+//g;
  +				@{$newDataNode->raisesExceptions} = split(/,/, $attributeException);
   			} elsif(($line !~ s/^\s*$//g) and ($line !~ /^\s+const/)) {
   				$line =~ /$IDLStructure::interfaceMethodSelector/;
  +
   				my $methodPtrFlag = (defined($1) ? $1 : " "); chop($methodPtrFlag);
   				my $methodType = (defined($2) ? $2 : die("Parsing error!\nSource:\n$line\n)"));
   				my $methodName = (defined($3) ? $3 : die("Parsing error!\nSource:\n$line\n)"));
  @@ -209,7 +218,7 @@
   				
   				('' =~ /^/); # Reset variables needed for regexp matching
   				
  -				$line =~ /$IDLStructure::interfaceExceptionSelector/;
  +				$line =~ /$IDLStructure::raisesSelector/;
   				my $methodException = (defined($1) ? $1 : "");
   
   				my $newDataNode = new domFunction();
  @@ -221,6 +230,9 @@
   
   				print "  |  |-  Method; TYPE \"$methodType\" NAME \"$methodName\" EXCEPTION? \"$methodException\" PTR FLAG \"$methodPtrFlag\"\n" if(!$beQuiet);
   
  +				$methodException =~ s/\s+//g;
  +				@{$newDataNode->raisesExceptions} = split(/,/, $methodException);
  +
   				my @params = split(/,/, $methodSignature);
   				foreach(@params) {
   					my $line = $_;
  
  
  
  1.2       +39 -35    SVGSupport/kdom/bindings/IDLStructure.pm
  
  Index: IDLStructure.pm
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/bindings/IDLStructure.pm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- IDLStructure.pm	25 Aug 2005 08:16:06 -0000	1.1
  +++ IDLStructure.pm	8 Sep 2005 08:03:17 -0000	1.2
  @@ -15,67 +15,72 @@
   
   # Used to represent 'interface' / 'exception' blocks
   struct( domClass => {
  -		name => '$',		# Class identifier (without module)
  -		parents => '@',		# List of strings
  -		constants => '@',	# List of 'domConstant'
  -		functions => '@',	# List of 'domFunction'
  -		attributes => '@',	# List of 'domAttribute'
  -		documentation => '$',
  +		name => '$',			# Class identifier (without module)
  +		parents => '@',			# List of strings
  +		constants => '@',		# List of 'domConstant'
  +		functions => '@',		# List of 'domFunction'
  +		attributes => '@',		# List of 'domAttribute'
  +		documentation => '$',	# Extracted from XML file.
   
   		# Special cases here!
  -		'noDPtrFlag' => '$'	# Forces the code generator to not generate
  -							# a d-ptr for this base class (only use with such!)
  +		'noDPtrFlag' => '$'		# Forces the cpp code generator to not generate
  +								# a d-ptr for this base class (only use with such!)
   });
   
   # Used to represent domClass contents (name of method, signature)
   struct( domFunction => {
  -		signature => '$',	# Return type/Object name/PtrFlag
  -		parameters => '@',	# List of 'domSignature'
  -		documentation => '$'
  -});
  -
  -# Used to represent a map of 'variable name' <-> 'variable type'
  -struct( domSignature => {
  -		name => '$',		# Variable name
  -		type => '$',		# Variable type
  -		hasPtrFlag => '$',	# Ptr (*) flag?
  -		documentation => '$'
  +		signature => '$',		# Return type/Object name/PtrFlag
  +		parameters => '@',		# List of 'domSignature'
  +		documentation => '$',	# Extracted from XML file.
  +		raisesExceptions => '@'	# Possibly raised exceptions.
   });
   
   # Used to represent domClass contents (name of method, signature)
   struct( domAttribute => {
  -		type => '$',				# Attribute type (including namespace)
  -		signature => '$',			# Attribute signature
  -		exceptionName => '$',		# Name of exception
  -		exceptionDocumentation => '@', # Documentation per exception
  -		documentation => '@'
  +		type => '$',					# Attribute type (including namespace)
  +		signature => '$',				# Attribute signature
  +		exceptionName => '$',			# Name of exception
  +		exceptionDocumentation => '@',	# Documentation per exception (from XML file)
  +		documentation => '@',			# Extracted from XML file.
  +		raisesExceptions => '@'			# Possibly raised exceptions.
  +});
  +
  +# Used to represent a map of 'variable name' <-> 'variable type'
  +struct( domSignature => {
  +		name => '$',			# Variable name
  +		type => '$',			# Variable type
  +		hasPtrFlag => '$',		# Ptr (*) flag?
  +		documentation => '$'	# Extracted from XML file.
   });
   
   # Used to represent string constants
   struct( domConstant => {
  -		name => '$',	# DOM Constant identifier
  -		type => '$',	# Type of data
  -		value => '$',	# Constant value
  -		documentation => '$'
  +		name => '$',			# DOM Constant identifier
  +		type => '$',			# Type of data
  +		value => '$',			# Constant value
  +		documentation => '$'	# Extracted from XML file.
   });
   
   # Helpers
  -$idlId = '[a-zA-Z0-9]';			# Generic identifier
  -$idlIdNs = '[a-zA-Z0-9:]';		# Generic identifier including namespace
  -$idlType = '[a-zA-Z0-9_]';		# Generic type/"value string" identifier
  -$idlDataType = '[a-zA-Z0-9\ ]'; # Generic data type identifier
  +$idlId = '[a-zA-Z0-9]';				# Generic identifier
  +$idlIdNs = '[a-zA-Z0-9:]';			# Generic identifier including namespace
  +$idlIdNsList = '[a-zA-Z0-9:,\ ]';	# List of Generic identifiers including namespace
  +
  +$idlType = '[a-zA-Z0-9_]';			# Generic type/"value string" identifier
  +$idlDataType = '[a-zA-Z0-9\ ]'; 	# Generic data type identifier
   
   # Magic IDL parsing regular expressions
   my $supportedTypes = "((?:unsigned )?(?:int|short|long)|(?:$idlIdNs*))";
   
   # Special IDL notations
  -$ptrSyntax = '\[ptr\]'; # ie. 'attribute [ptr] DOMString foo;"
  -$nodptrSyntax = '\[nodptr\]'; # ie. 'interface [nodptr] Foobar { ..."
  +$ptrSyntax = '\[ptr\]';			# ie. 'attribute [ptr] DOMString foo;"
  +$nodptrSyntax = '\[nodptr\]';	# ie. 'interface [nodptr] Foobar { ..."
   
   # Regular expression based IDL 'syntactical tokenizer' used in the IDLParser
   $moduleSelector = 'module\s*(' . $idlId . '*)\s*{';
   $moduleNSSelector = 'module\s*(' . $idlId . '*)\s*\[ns\s*(' . $idlIdNs . '*)\s*\]\s*;';
   $constantSelector = 'const\s*' . $supportedTypes . '\s*(' . $idlType . '*)\s*=\s*(' . $idlType . '*)';
  +$raisesSelector = '\[raises\s*\((' . $idlIdNsList . '*)\s*\)\]';
   
   $typeNamespaceSelector = '((?:' . $idlId . '*::)*)\s*(' . $idlDataType . '*)';
   
  @@ -86,7 +91,6 @@
   $interfaceMethodSelector = '\s*((?:' . $ptrSyntax . ' )?)' . $supportedTypes . '\s*(' . $idlIdNs . '*)\s*\(\s*([a-zA-Z0-9:\s,\[\]]*)';
   $interfaceParameterSelector = 'in\s*((?:' . $ptrSyntax . ' )?)' . $supportedTypes . '\s*(' . $idlIdNs . '*)';
   
  -$interfaceExceptionSelector = 'raises\s*\((' . $idlIdNs . '*)\s*\)';
   $interfaceAttributeSelector = '\s*(readonly attribute|attribute)\s*(' . $ptrSyntax . ' )?' . $supportedTypes . '\s*(' . $idlType . '*)';
   
   1;
  
  
  
  1.5       +2 -1      SVGSupport/kdom/cache/KDOMCache.h
  
  Index: KDOMCache.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/cache/KDOMCache.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KDOMCache.h	2 Sep 2005 10:03:00 -0000	1.4
  +++ KDOMCache.h	8 Sep 2005 08:03:18 -0000	1.5
  @@ -30,11 +30,12 @@
   
   #include <q3dict.h>
   #include <q3ptrlist.h>
  -#include <qpixmap.h>
   
   #include "KDOMCachedObject.h"
   #include "KDOMLoader.h"
   
  +class QPixmap;
  +
   namespace KDOM
   {
       class Loader;
  
  
  
  1.6       +1 -1      SVGSupport/kdom/cache/KDOMCachedObject.h
  
  Index: KDOMCachedObject.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/cache/KDOMCachedObject.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- KDOMCachedObject.h	2 Sep 2005 11:15:43 -0000	1.5
  +++ KDOMCachedObject.h	8 Sep 2005 08:03:18 -0000	1.6
  @@ -82,7 +82,7 @@
           };
   
           CachedObject(const DOMString &url, Type type, KIO::CacheControl cachePolicy, int size);
  -          virtual ~CachedObject();
  +        virtual ~CachedObject();
   
           virtual void data(QBuffer &buffer, bool eof) = 0;
           virtual void error(int err, const char *text) = 0;
  
  
  
  1.8       +2 -1      SVGSupport/kdom/cache/KDOMLoader.cpp
  
  Index: KDOMLoader.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/cache/KDOMLoader.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- KDOMLoader.cpp	2 Sep 2005 11:15:43 -0000	1.7
  +++ KDOMLoader.cpp	8 Sep 2005 08:03:18 -0000	1.8
  @@ -139,6 +139,7 @@
       if(!m_autoloadImages)
           return;
   
  +#if 0
       for(Q3PtrDictIterator<CachedObject> it(m_docObjects); it.current(); ++it)
       {
           if(it.current()->type() == CachedObject::Image)
  @@ -148,10 +149,10 @@
               CachedObject::Status status = img->status();
               if(status != CachedObject::Unknown)
                   continue;
  -
               Cache::loader()->load(this, img, true);
           }
       }
  +#endif
   }
   
   void DocumentLoader::setShowAnimations(KDOMSettings::KAnimationAdvice showAnimations)
  
  
  
  1.7       +1 -1      SVGSupport/kdom/cache/KDOMLoader.h
  
  Index: KDOMLoader.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/cache/KDOMLoader.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- KDOMLoader.h	2 Sep 2005 11:15:43 -0000	1.6
  +++ KDOMLoader.h	8 Sep 2005 08:03:18 -0000	1.7
  @@ -33,8 +33,8 @@
   #include <q3ptrdict.h>
   #include <qstringlist.h>
   
  -#include <kio/job.h>
   #include <kio/global.h>
  +#include <kio/job.h>
   
   #include <kdom/KDOMSettings.h>
   #include <kdom/cache/KDOMCachedObject.h>
  
  
  
  1.5       +3 -3      SVGSupport/kdom/core/AttrImpl.cpp
  
  Index: AttrImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/core/AttrImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- AttrImpl.cpp	1 Sep 2005 07:33:31 -0000	1.4
  +++ AttrImpl.cpp	8 Sep 2005 08:03:19 -0000	1.5
  @@ -130,8 +130,8 @@
   
   DOMStringImpl *AttrImpl::value() const
   {
  -    DOMStringImpl *ret =  new DOMStringImpl();
  -    
  +    DOMStringImpl *ret = new DOMStringImpl("");
  +
       for(NodeImpl *child = firstChild(); child != 0; child = child->nextSibling())
           ret->append(DOMString(child->textContent()).string());
   
  @@ -183,7 +183,7 @@
           throw new DOMExceptionImpl(NO_MODIFICATION_ALLOWED_ERR);
   
       Helper::CheckPrefix(_prefix, localName(), namespaceURI());
  -    
  +
       // NO_MODIFICATION_ALLOWED_ERR: Raised if this node is an attribute and the qualifiedName of this node is "xmlns"
       if(DOMString(nodeName()) == "xmlns")
           throw new DOMExceptionImpl(NAMESPACE_ERR);
  
  
  
  1.5       +1 -1      SVGSupport/kdom/core/DOMConfigurationImpl.cpp
  
  Index: DOMConfigurationImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/core/DOMConfigurationImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DOMConfigurationImpl.cpp	1 Sep 2005 07:33:32 -0000	1.4
  +++ DOMConfigurationImpl.cpp	8 Sep 2005 08:03:19 -0000	1.5
  @@ -477,7 +477,7 @@
       DOMString data(dataImpl);
       QString temp = data.string();
   #ifndef APPLE_COMPILE_HACK
  -    temp.compose();
  +    temp = temp.normalized(QString::NormalizationForm_D);
   #endif
       return new DOMStringImpl(temp.unicode(), temp.length());
   }
  
  
  
  1.6       +21 -56    SVGSupport/kdom/core/DOMImplementationImpl.cpp
  
  Index: DOMImplementationImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/core/DOMImplementationImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DOMImplementationImpl.cpp	1 Sep 2005 09:39:02 -0000	1.5
  +++ DOMImplementationImpl.cpp	8 Sep 2005 08:03:19 -0000	1.6
  @@ -29,32 +29,25 @@
   #include <kstaticdeleter.h>
   
   #include "kdom.h"
  -#include "kdomls.h"
   #include <kdom/Helper.h>
  -#include "Namespace.h"
   #include "KDOMCache.h"
   #include "kdomevents.h"
   #include "RenderStyle.h"
   #include "ElementImpl.h"
  -#include "LSInputImpl.h"
  -#include "LSOutputImpl.h"
  -#include "LSParserImpl.h"
   #include "DocumentImpl.h"
   #include "CDFInterface.h"
   #include "MediaListImpl.h"
   #include "DocumentTypeImpl.h"
   #include "kdom/css/CSSStyleSelector.h"
   #include "CSSStyleSheetImpl.h"
  -#include "LSSerializerImpl.h"
   #include "DOMImplementationImpl.h"
   
  -
   using namespace KDOM;
   
   static KStaticDeleter<DOMImplementationImpl> instanceDeleter;
   DOMImplementationImpl *DOMImplementationImpl::s_instance = 0;
   
  -DOMImplementationImpl::DOMImplementationImpl()
  +DOMImplementationImpl::DOMImplementationImpl() : DOMImplementationLSImpl()
   {
       m_cdfInterface = 0;
   
  @@ -156,7 +149,7 @@
           doc->setDocType(docType);
   
       /* isEmpty instead if isNull, for the reason given in #61650 */
  -    if(qualifiedName && !qualifiedName->isEmpty() && namespaceURI && !namespaceURI->isEmpty() && createDocElement)
  +    if(qualifiedName && !qualifiedName->isEmpty() && createDocElement)
           doc->appendChild(doc->createElementNS(namespaceURI, qualifiedName));
   
       if(namespaceURI)
  @@ -177,35 +170,6 @@
       return sheet;
   }
   
  -LSParserImpl *DOMImplementationImpl::createLSParser(unsigned short mode, DOMStringImpl *schemaTypeImpl) const
  -{
  -    DOMString schemaType(schemaTypeImpl);
  -
  -    // NOT_SUPPORTED_ERR: Raised if the requested mode or schema type is not supported.
  -    if((mode == 0 || mode > MODE_ASYNCHRONOUS) ||
  -        !(schemaType == NS_SCHEMATYPE_DTD || schemaType == NS_SCHEMATYPE_WXS || schemaType.isEmpty()))
  -        throw new DOMExceptionImpl(NOT_SUPPORTED_ERR);
  -
  -    LSParserImpl *ret = new LSParserImpl();
  -    ret->setASync(mode == MODE_ASYNCHRONOUS);
  -    return ret;
  -}
  -
  -LSInputImpl *DOMImplementationImpl::createLSInput() const
  -{
  -    return new LSInputImpl();
  -}
  -
  -LSOutputImpl *DOMImplementationImpl::createLSOutput() const
  -{
  -    return new LSOutputImpl();
  -}
  -
  -LSSerializerImpl *DOMImplementationImpl::createLSSerializer() const
  -{
  -    return new LSSerializerImpl();
  -}
  -
   DocumentTypeImpl *DOMImplementationImpl::defaultDocumentType() const
   {
       return createDocumentType(new DOMStringImpl("name"),
  @@ -242,26 +206,27 @@
   DOMStringImpl *DOMImplementationImpl::idToType(int id)
   {
       QString ret;
  +
       switch(id)
       {
  -        case DOMFOCUSIN_EVENT: ret = "DOMFocusIn";
  -        case DOMFOCUSOUT_EVENT: ret = "DOMFocusOut";
  -        case DOMACTIVATE_EVENT: ret = "DOMActivate";
  -        case CLICK_EVENT: ret = "click";
  -        case MOUSEDOWN_EVENT: ret = "mousedown";
  -        case MOUSEUP_EVENT: ret = "mouseup";
  -        case MOUSEOVER_EVENT: ret = "mouseover";
  -        case MOUSEMOVE_EVENT: ret = "mousemove";
  -        case MOUSEOUT_EVENT: ret = "mouseout";
  -        case KEYDOWN_EVENT: ret = "keydown";
  -        case KEYUP_EVENT: ret = "keyup";
  -        case DOMSUBTREEMODIFIED_EVENT: ret = "DOMSubtreeModified";
  -        case DOMNODEINSERTED_EVENT: ret = "DOMNodeInserted";
  -        case DOMNODEREMOVED_EVENT: ret = "DOMNodeRemoved";
  -        case DOMNODEREMOVEDFROMDOCUMENT_EVENT: ret = "DOMNodeRemovedFromDocument";
  -        case DOMNODEINSERTEDINTODOCUMENT_EVENT: ret = "DOMNodeInsertedIntoDocument";
  -        case DOMATTRMODIFIED_EVENT: ret = "DOMAttrModified";
  -        case DOMCHARACTERDATAMODIFIED_EVENT: ret = "DOMCharacterDataModified";
  +        case DOMFOCUSIN_EVENT: ret = QString::fromLatin1("DOMFocusIn"); break;
  +        case DOMFOCUSOUT_EVENT: ret = QString::fromLatin1("DOMFocusOut"); break;
  +        case DOMACTIVATE_EVENT: ret = QString::fromLatin1("DOMActivate"); break;
  +        case CLICK_EVENT: ret = QString::fromLatin1("click"); break;
  +        case MOUSEDOWN_EVENT: ret = QString::fromLatin1("mousedown"); break;
  +        case MOUSEUP_EVENT: ret = QString::fromLatin1("mouseup"); break;
  +        case MOUSEOVER_EVENT: ret = QString::fromLatin1("mouseover"); break;
  +        case MOUSEMOVE_EVENT: ret = QString::fromLatin1("mousemove"); break;
  +        case MOUSEOUT_EVENT: ret = QString::fromLatin1("mouseout"); break;
  +        case KEYDOWN_EVENT: ret = QString::fromLatin1("keydown"); break;
  +        case KEYUP_EVENT: ret = QString::fromLatin1("keyup"); break;
  +        case DOMSUBTREEMODIFIED_EVENT: ret = QString::fromLatin1("DOMSubtreeModified"); break;
  +        case DOMNODEINSERTED_EVENT: ret = QString::fromLatin1("DOMNodeInserted"); break;
  +        case DOMNODEREMOVED_EVENT: ret = QString::fromLatin1("DOMNodeRemoved"); break;
  +        case DOMNODEREMOVEDFROMDOCUMENT_EVENT: ret = QString::fromLatin1("DOMNodeRemovedFromDocument"); break;
  +        case DOMNODEINSERTEDINTODOCUMENT_EVENT: ret = QString::fromLatin1("DOMNodeInsertedIntoDocument"); break;
  +        case DOMATTRMODIFIED_EVENT: ret = QString::fromLatin1("DOMAttrModified"); break;
  +        case DOMCHARACTERDATAMODIFIED_EVENT: ret = QString::fromLatin1("DOMCharacterDataModified"); break;
           default: ret = QString::null;
       }
   
  
  
  
  1.5       +4 -10     SVGSupport/kdom/core/DOMImplementationImpl.h
  
  Index: DOMImplementationImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/core/DOMImplementationImpl.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DOMImplementationImpl.h	1 Sep 2005 07:33:33 -0000	1.4
  +++ DOMImplementationImpl.h	8 Sep 2005 08:03:19 -0000	1.5
  @@ -29,13 +29,12 @@
   #ifndef KDOM_DOMImplementationImpl_H
   #define KDOM_DOMImplementationImpl_H
   
  +#include <kdom/ls/DOMImplementationLSImpl.h>
  +
   namespace KDOM
   {
       class KDOMView;
       class DOMString;
  -    class LSInputImpl;
  -    class LSOutputImpl;
  -    class LSParserImpl;
       class DocumentImpl;
       class CDFInterface;
       class DOMObjectImpl;
  @@ -44,7 +43,7 @@
       class DocumentTypeImpl;
       class CSSStyleSheetImpl;
   
  -    class DOMImplementationImpl 
  +    class DOMImplementationImpl : public DOMImplementationLSImpl
       {
       public:
           DOMImplementationImpl();
  @@ -66,15 +65,10 @@
            * creating document elements even if a @p qualifiedName and @p namespaceURI is supplied. If true,
            * it follows the specification, e.g, creates an element if the other arguments allows so.
            */
  -        virtual DocumentImpl *createDocument(DOMStringImpl *namespaceURI, DOMStringImpl *qualifiedName, DocumentTypeImpl *doctype, bool createDocElement = false, KDOMView *view = 0) const;
  +        virtual DocumentImpl *createDocument(DOMStringImpl *namespaceURI, DOMStringImpl *qualifiedName, DocumentTypeImpl *doctype, bool createDocElement = true, KDOMView *view = 0) const;
   
           virtual CSSStyleSheetImpl *createCSSStyleSheet(DOMStringImpl *title, DOMStringImpl *media) const;
   
  -        virtual LSParserImpl *createLSParser(unsigned short mode, DOMStringImpl *schemaType) const;
  -        virtual LSInputImpl *createLSInput() const;
  -        virtual LSOutputImpl *createLSOutput() const;
  -        virtual LSSerializerImpl *createLSSerializer() const;
  -
           // Map events to types...
           virtual int typeToId(DOMStringImpl *type);
           virtual DOMStringImpl *idToType(int id);
  
  
  
  1.8       +18 -16    SVGSupport/kdom/core/DocumentImpl.cpp
  
  Index: DocumentImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/core/DocumentImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DocumentImpl.cpp	2 Sep 2005 10:03:01 -0000	1.7
  +++ DocumentImpl.cpp	8 Sep 2005 08:03:19 -0000	1.8
  @@ -371,7 +371,7 @@
   int DocumentImpl::removeListenerType(DOMStringImpl *type)
   {
       int eventId = implementation()->typeToId(type);
  -    addListenerType(eventId);
  +    removeListenerType(eventId);
       return eventId;
   }
   
  @@ -854,9 +854,11 @@
       m_printSheet = sheet;
   }
   
  -NodeImpl::Id DocumentImpl::getId(NodeImpl::IdType type, DOMStringImpl *namespaceURI, DOMStringImpl *prefix, DOMStringImpl *name, bool readonly) const
  +NodeImpl::Id DocumentImpl::getId(NodeImpl::IdType type, DOMStringImpl *namespaceURI, DOMStringImpl *prefix, DOMStringImpl *nameImpl, bool readonly) const
   {
  -    if(!name || !name->length())
  +    DOMString nameDOMString(nameImpl);
  +    
  +    if(!nameImpl || !nameImpl->length())
           return 0;
   
       IdNameMapping *map;
  @@ -874,8 +876,8 @@
           }
           case NodeImpl::NamespaceId:
           {
  -            // ### Id == 0 can't be used with ((void *) int) based Q3Dicts...
  -            if(!strcasecmp(DOMString(name), DOMString(defaultNS())))
  +            // ### Id == 0 can't be used with ((void *) int) based QDicts...
  +            if(!strcasecmp(nameDOMString, DOMString(defaultNS())))
                   return 0;
       
               map = m_namespaceMap;
  @@ -890,11 +892,11 @@
   
       NodeImpl::Id id, nsid = 0;
       
  -    QConstString n(name->unicode(), name->length());
  -    
  +    QConstString n(nameDOMString.unicode(), nameDOMString.length());
  +
       if(type != NodeImpl::NamespaceId)
       {
  -        if(name)
  +        if(nameImpl)
               nsid = getId(NamespaceId, 0, 0, namespaceURI, false) << 16;
   
           if(!nsid)
  @@ -903,22 +905,22 @@
               {
                   case NodeImpl::ElementId:
                   {
  -                    if((id = interface->getTagID(n.qstring().ascii(), name->length())))
  +                    if((id = interface->getTagID(n.qstring().ascii(), nameDOMString.length())))
                           return id;
   
                       // compatibility: upper case - case insensitive
  -                    if((id = interface->getTagID(n.qstring().lower().ascii(), name->length())))
  +                    if((id = interface->getTagID(n.qstring().lower().ascii(), nameDOMString.length())))
                           return id;
                   
                       break;
                   }
                   default:
                   {
  -                    if((id = interface->getAttrID(n.qstring().ascii(), name->length())))
  +                    if((id = interface->getAttrID(n.qstring().ascii(), nameDOMString.length())))
                           return id;
   
                       // compatibility: upper case - case insensitive
  -                    if((id = interface->getAttrID(n.qstring().lower().ascii(), name->length())))
  +                    if((id = interface->getAttrID(n.qstring().lower().ascii(), nameDOMString.length())))
                           return id;
                   }
               }
  @@ -927,7 +929,7 @@
   
       // Look in the names array for the name
       // compatibility mode has to lookup upper case
  -    if(!name)
  +    if(!nameImpl)
       {
           id = (NodeImpl::Id) map->ids.find(n.qstring());
           if(!id && type != NodeImpl::NamespaceId)
  @@ -953,13 +955,13 @@
       if(readonly)
           return 0;
   
  -    if(type != NodeImpl::NamespaceId && !Helper::ValidateQualifiedName(name))
  +    if(type != NodeImpl::NamespaceId && !Helper::ValidateQualifiedName(nameImpl))
           throw new DOMExceptionImpl(INVALID_CHARACTER_ERR);
       
       // Name not found, so let's add it
       NodeImpl::Id cid = map->count++ + map->idStart;
  -    map->names.insert(cid, name);
  -    name->ref();
  +    map->names.insert(cid, nameImpl);
  +    nameImpl->ref();
       map->ids.insert(n.qstring(), (NodeImpl::Id *)cid);
   
       // and register an alias if needed for DOM1 methods compatibility
  
  
  
  1.5       +3 -1      SVGSupport/kdom/core/DocumentTypeImpl.cpp
  
  Index: DocumentTypeImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/core/DocumentTypeImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DocumentTypeImpl.cpp	1 Sep 2005 07:33:35 -0000	1.4
  +++ DocumentTypeImpl.cpp	8 Sep 2005 08:03:19 -0000	1.5
  @@ -32,6 +32,8 @@
   #include "NamedNodeMapImpl.h"
   #include "DocumentTypeImpl.h"
   
  +#include <qtextstream.h>
  +
   using namespace KDOM;
   
   DocumentTypeImpl::DocumentTypeImpl(DocumentPtr *doc, DOMStringImpl *qualifiedName, DOMStringImpl *publicId, DOMStringImpl *systemId) : NodeImpl(doc), m_entities(0), m_notations(0)
  @@ -98,7 +100,7 @@
       QString str;
       QTextOStream subset(&str);
       LSSerializerImpl::PrintInternalSubset(subset, const_cast<DocumentTypeImpl *>(this));
  -    return new DOMStringImpl(str);
  +    return str.isEmpty() ? 0 : new DOMStringImpl(str);
   }
   
   NodeImpl *DocumentTypeImpl::cloneNode(bool, DocumentPtr *other) const
  
  
  
  1.5       +3 -23     SVGSupport/kdom/core/NamedAttrMapImpl.cpp
  
  Index: NamedAttrMapImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/core/NamedAttrMapImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- NamedAttrMapImpl.cpp	1 Sep 2005 07:33:36 -0000	1.4
  +++ NamedAttrMapImpl.cpp	8 Sep 2005 08:03:20 -0000	1.5
  @@ -296,7 +296,7 @@
   
               DOMStringImpl *prevValue = m_attrs[i].value(); 
               m_attrs[i].setValue(value->copy(), m_ownerElement);
  -    
  + 
               dispatchAttrMutationEvent(m_ownerElement, prevValue, value, m_attrs[i].name(), MODIFICATION);
               dispatchSubtreeModifiedEvent();
   
  @@ -329,7 +329,7 @@
       if(m_ownerElement)
       {
           m_ownerElement->parseAttribute(&m_attrs[m_attrCount - 1]);
  -            
  + 
           dispatchAttrMutationEvent(m_ownerElement, 0, value, m_attrs[m_attrCount - 1].name(), ADDITION);
           dispatchSubtreeModifiedEvent();
       }
  @@ -441,23 +441,10 @@
   
   void NamedAttrMapImpl::dispatchAttrMutationEvent(NodeImpl *node, DOMStringImpl *prevValue, DOMStringImpl *newValue, DOMStringImpl *name, unsigned short attrChange)
   {
  -    if(prevValue)
  -        prevValue->ref();
  -    if(newValue)
  -        newValue->ref();
  -    if(name)
  -        name->ref();
  -
       DocumentImpl *document = (m_ownerElement ? m_ownerElement->ownerDocument() : 0);
       if(!document || !document->hasListenerType(DOMATTRMODIFIED_EVENT))
       {
  -        if(prevValue)
  -            prevValue->deref();
  -        if(newValue)
  -            newValue->deref();
  -        if(name)
  -            name->deref();
  -
  +        if(name) name->deref();
           return;
       }
   
  @@ -474,13 +461,6 @@
   
       event->deref();
       eventType->deref();
  -
  -    if(prevValue)
  -        prevValue->deref();
  -    if(newValue)
  -        newValue->deref();
  -    if(name)
  -        name->deref();
   }
   
   void NamedAttrMapImpl::dispatchSubtreeModifiedEvent()
  
  
  
  1.6       +7 -1      SVGSupport/kdom/core/NamedNodeMapImpl.cpp
  
  Index: NamedNodeMapImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/core/NamedNodeMapImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- NamedNodeMapImpl.cpp	2 Sep 2005 10:03:01 -0000	1.5
  +++ NamedNodeMapImpl.cpp	8 Sep 2005 08:03:20 -0000	1.6
  @@ -92,6 +92,9 @@
   
   NodeImpl *RONamedNodeMapImpl::getNamedItem(DOMStringImpl *name)
   {
  +    if(name)
  +        name->ref();
  +
       // TODO : id mechanism doesnt work,
       // reverting to old system
       Q3PtrListIterator<NodeImpl> it(*m_map);
  @@ -100,7 +103,10 @@
           if(DOMString(it.current()->nodeName()) == DOMString(name))
               return it.current();
       }
  -    
  +
  +    if(name)
  +        name->deref();
  +
       return 0;
   }
   
  
  
  
  1.6       +5 -5      SVGSupport/kdom/core/NodeImpl.cpp
  
  Index: NodeImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/core/NodeImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- NodeImpl.cpp	2 Sep 2005 10:03:01 -0000	1.5
  +++ NodeImpl.cpp	8 Sep 2005 08:03:20 -0000	1.6
  @@ -790,14 +790,14 @@
       for(n = first, first = 0; n != 0; n = next)
       {
           next = n->nextSibling();
  -        
  +
           if(n->attached())
               n->detach();
  -        
  +
           n->setPreviousSibling(0);
           n->setNextSibling(0);
           n->setParent(0);
  -        
  +
           if(!n->refCount())
               delete n;
           else
  @@ -984,7 +984,7 @@
               }
   
               // EntityReferences may have to be skipped to get to it 
  -            if(parentNode())
  +            if(parentNode() && parentNode()->nodeType() != DOCUMENT_NODE)
                   return parentNode()->lookupNamespaceURI(_prefix);
   
               return 0; 
  @@ -997,7 +997,7 @@
           case DOCUMENT_FRAGMENT_NODE: 
               return 0;
           case ENTITY_REFERENCE_NODE:
  -            return parentNode()->lookupNamespaceURI(_prefix);
  +            return parentNode() ? parentNode()->lookupNamespaceURI(_prefix) : 0;
           case ATTRIBUTE_NODE: 
           {
               const AttrImpl *attrPtr = static_cast<const AttrImpl *>(this);
  
  
  
  1.5       +2 -9      SVGSupport/kdom/core/ProcessingInstructionImpl.cpp
  
  Index: ProcessingInstructionImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/core/ProcessingInstructionImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ProcessingInstructionImpl.cpp	1 Sep 2005 07:33:37 -0000	1.4
  +++ ProcessingInstructionImpl.cpp	8 Sep 2005 08:03:20 -0000	1.5
  @@ -76,7 +76,8 @@
   };
   #endif // APPLE_CHANGES
   
  -ProcessingInstructionImpl::ProcessingInstructionImpl(DocumentPtr *doc, DOMStringImpl *target, DOMStringImpl *data) : NodeBaseImpl(doc)
  +ProcessingInstructionImpl::ProcessingInstructionImpl(DocumentPtr *doc, DOMStringImpl *target, DOMStringImpl *data)
  +: NodeBaseImpl(doc), LinkStyleImpl()
   {
       m_target = target;
       if(m_target)
  @@ -86,7 +87,6 @@
       if(m_data)
           m_data->ref();
   
  -    m_sheet = 0;
       m_cachedSheet = 0;
       m_localHref = 0;
   }
  @@ -99,8 +99,6 @@
           m_data->deref();
       if(m_cachedSheet)
           m_cachedSheet->deref(this);
  -    if(m_sheet)
  -        m_sheet->deref();
   }
   
   DOMStringImpl *ProcessingInstructionImpl::nodeName() const
  @@ -157,11 +155,6 @@
       return m_localHref;
   }
   
  -StyleSheetImpl *ProcessingInstructionImpl::sheet() const
  -{
  -    return m_sheet;
  -}
  -
   void ProcessingInstructionImpl::checkStyleSheet()
   {
   #ifndef APPLE_COMPILE_HACK
  
  
  
  1.6       +2 -3      SVGSupport/kdom/core/ProcessingInstructionImpl.h
  
  Index: ProcessingInstructionImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/core/ProcessingInstructionImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ProcessingInstructionImpl.h	1 Sep 2005 09:39:02 -0000	1.5
  +++ ProcessingInstructionImpl.h	8 Sep 2005 08:03:20 -0000	1.6
  @@ -27,15 +27,16 @@
   #define KDOM_ProcessingInstructionImpl_H
   
   #include <kdom/core/NodeImpl.h>
  +#include <kdom/css/LinkStyleImpl.h>
   #include <kdom/cache/KDOMCachedObjectClient.h>
   
   namespace KDOM
   {
  -    class CSSStyleSheetImpl;
       class CachedStyleSheet;
       class StyleSheetImpl;
   
       class ProcessingInstructionImpl : public NodeBaseImpl,
  +                                      public LinkStyleImpl,
                                         private CachedObjectClient
       {
       public:
  @@ -60,7 +61,6 @@
           virtual NodeImpl *cloneNode(bool deep, DocumentPtr *doc) const;
   
           virtual DOMStringImpl *localHref() const;
  -        StyleSheetImpl *sheet() const;
           void checkStyleSheet();
           virtual void setStyleSheet(DOMStringImpl *url, DOMStringImpl *sheet);
           virtual void setStyleSheet(CSSStyleSheetImpl *sheet);
  @@ -70,7 +70,6 @@
           DOMStringImpl *m_data;
           DOMStringImpl *m_localHref;
           CachedStyleSheet *m_cachedSheet;
  -        CSSStyleSheetImpl *m_sheet;
       };
   };
   
  
  
  
  1.2       +2 -2      SVGSupport/kdom/core/domattrs.c
  
  Index: domattrs.c
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/core/domattrs.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- domattrs.c	9 Jul 2005 06:54:07 -0000	1.1
  +++ domattrs.c	8 Sep 2005 08:03:21 -0000	1.2
  @@ -34,8 +34,8 @@
   #include "domattrs.h"
   #line 5 "domattrs.gperf"
   struct attrs {
  -	int name;
  -	int id;
  +    int name;
  +    int id;
   };
   enum
     {
  
  
  
  1.7       +4 -2      SVGSupport/kdom/css/CSSPrimitiveValueImpl.cpp
  
  Index: CSSPrimitiveValueImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/CSSPrimitiveValueImpl.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- CSSPrimitiveValueImpl.cpp	2 Sep 2005 10:03:03 -0000	1.6
  +++ CSSPrimitiveValueImpl.cpp	8 Sep 2005 08:03:23 -0000	1.7
  @@ -380,7 +380,8 @@
       // remove [Xft] qualifiers
       parsedFontName.replace(braceReg, QString::null);
   
  -#ifndef APPLE_COMPILE_HACK
  +#if 0
  +#ifndef APPLE_CHANGES
       const QString &available = KHTMLSettings::availableFamilies();
   
       parsedFontName = parsedFontName.lower();
  @@ -410,6 +411,7 @@
       else
           parsedFontName = QString::null;
   
  -#endif // APPLE_COMPILE_HACK
  +#endif // !APPLE_CHANGES
  +#endif
   }
   // vim:ts=4:noet
  
  
  
  1.6       +1 -1      SVGSupport/kdom/css/CSSStyleRuleImpl.cpp
  
  Index: CSSStyleRuleImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/CSSStyleRuleImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- CSSStyleRuleImpl.cpp	2 Sep 2005 10:03:03 -0000	1.5
  +++ CSSStyleRuleImpl.cpp	8 Sep 2005 08:03:23 -0000	1.6
  @@ -63,7 +63,7 @@
       // FIXME!
   }
   
  -bool CSSStyleRuleImpl::parseString(const DOMString &, bool)
  +bool CSSStyleRuleImpl::parseString(DOMStringImpl *, bool)
   {
       // FIXME!
       return false;
  
  
  
  1.7       +1 -1      SVGSupport/kdom/css/CSSStyleRuleImpl.h
  
  Index: CSSStyleRuleImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/CSSStyleRuleImpl.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- CSSStyleRuleImpl.h	2 Sep 2005 10:03:03 -0000	1.6
  +++ CSSStyleRuleImpl.h	8 Sep 2005 08:03:23 -0000	1.7
  @@ -40,7 +40,7 @@
           DOMStringImpl *selectorText() const;
           void setSelectorText(DOMStringImpl *selectorText);
   
  -        virtual bool parseString(const DOMString &string, bool = false);
  +        virtual bool parseString(DOMStringImpl *string, bool = false);
   
           CSSStyleDeclarationImpl *style() const;
   
  
  
  
  1.9       +11 -6     SVGSupport/kdom/css/CSSStyleSelector.cpp
  
  Index: CSSStyleSelector.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/CSSStyleSelector.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- CSSStyleSelector.cpp	2 Sep 2005 10:03:04 -0000	1.8
  +++ CSSStyleSelector.cpp	8 Sep 2005 08:03:23 -0000	1.9
  @@ -152,7 +152,7 @@
       for(; it.current(); ++it)
       {
              if(it.current()->isCSSStyleSheet())
  -            authorStyle->append(static_cast<CSSStyleSheetImpl *>(it.current()), DOMString(m_medium).handle());
  +               authorStyle->append(static_cast<CSSStyleSheetImpl *>(it.current()), DOMString(m_medium).handle());
       }
   
       KURL u = url;
  @@ -432,7 +432,7 @@
       // as author rules, and come before all other style sheets, see hack in append()
       numPropsToApply = addInlineDeclarations(e, e->styleRules(), numPropsToApply);
   
  -    // qDebug("styleForElement(%s)", e->tagName().string().latin1());
  +    // qDebug("styleForElement(%s)", e->tagName()->string().latin1());
       // qDebug("%d selectors, %d checked,  %d match,  %d properties(of %d)",
       // selectors_size, schecked, smatch, numPropsToApply, properties_size);
   
  @@ -473,7 +473,7 @@
           {
               fontDirty = false;
   
  -            // qDebug("%d applying %d pseudo props", e->cssTagId(), pseudoProps->count());
  +            //qDebug("%d applying %d pseudo props", e->cssTagId(), pseudoProps->count());
               for(unsigned int i = 0; i < numPseudoProps; ++i)
               {
                   if(fontDirty && pseudoProps[i]->priority >= (1 << 30))
  @@ -2749,7 +2749,12 @@
       case CSS_PROP_CURSOR:
       {
           HANDLE_INHERIT_AND_INITIAL(cursor, Cursor)
  -        if(primitiveValue)
  +        if(!primitiveValue)
  +            break;
  +
  +        if(primitiveValue->primitiveType() == CSS_URI)
  +            /*style->setCursorImage(primitiveValue)*/;
  +		else
               style->setCursor((ECursor) (primitiveValue->getIdent() - CSS_VAL_AUTO));
   
           break;
  @@ -4202,8 +4207,8 @@
   
   DOMStringImpl *CSSStyleSelector::getLangAttribute(ElementImpl *e)
   {
  -    return e->getAttributeNS(DOMString(NS_XML).handle(),
  -                             DOMString("xml:lang").handle());
  +    // TODO: Check NS_XML & friends...
  +    return e->getAttributeNS(NS_XML.handle(), DOMString("xml:lang").handle());
   }
   
   // vim:ts=4:noet
  
  
  
  1.7       +1 -0      SVGSupport/kdom/css/CSSStyleSelector.h
  
  Index: CSSStyleSelector.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/CSSStyleSelector.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- CSSStyleSelector.h	2 Sep 2005 10:03:04 -0000	1.6
  +++ CSSStyleSelector.h	8 Sep 2005 08:03:23 -0000	1.7
  @@ -29,6 +29,7 @@
   
   #include <q3ptrlist.h>
   #include <q3valuevector.h>
  +#include <q3memarray.h>
   
   #include <kdom/DOMString.h>
   #include <kdom/css/RenderStyle.h>
  
  
  
  1.6       +1 -1      SVGSupport/kdom/css/CSSStyleSheetImpl.cpp
  
  Index: CSSStyleSheetImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/CSSStyleSheetImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- CSSStyleSheetImpl.cpp	2 Sep 2005 10:03:04 -0000	1.5
  +++ CSSStyleSheetImpl.cpp	8 Sep 2005 08:03:23 -0000	1.6
  @@ -103,7 +103,7 @@
   
   DOMStringImpl *CSSStyleSheetImpl::type() const
   {
  -    return DOMString("text/css").handle();
  +    return new DOMStringImpl("text/css");
   }
   
   CSSRuleImpl *CSSStyleSheetImpl::ownerRule() const
  
  
  
  1.5       +4 -4      SVGSupport/kdom/css/CSSValueImpl.cpp
  
  Index: CSSValueImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/CSSValueImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- CSSValueImpl.cpp	1 Sep 2005 07:33:09 -0000	1.4
  +++ CSSValueImpl.cpp	8 Sep 2005 08:03:24 -0000	1.5
  @@ -227,7 +227,7 @@
       DOMString text("");
       if(color)
           text += DOMString(color->cssText());
  -    
  +
       if(x)
       {
           if(text.length() > 0)
  @@ -235,7 +235,7 @@
           
           text += DOMString(x->cssText());
       }
  -    
  +
       if(y)
       {
           if(text.length() > 0)
  @@ -243,12 +243,12 @@
           
           text += DOMString(y->cssText());
       }
  -    
  +
       if(blur)
       {
           if(text.length() > 0)
               text += " ";
  -        
  +
           text += DOMString(blur->cssText());
       }
   
  
  
  
  1.7       +1 -1      SVGSupport/kdom/css/Font.h
  
  Index: Font.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/Font.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Font.h	2 Sep 2005 10:03:04 -0000	1.6
  +++ Font.h	8 Sep 2005 08:03:24 -0000	1.7
  @@ -87,7 +87,7 @@
        * @param deco combined text decoration (see Decoration)
        */
       void drawText(QPainter *p, int x, int y, QChar *str, int slen, int pos, int len, int width,
  -                  QPainter::TextDirection d, int from = -1, int to = -1, QColor bg = QColor(),
  +                  Qt::LayoutDirection d, int from = -1, int to = -1, QColor bg = QColor(),
                     int uy = -1, int h = -1, int deco = 0) const;
   
       /** returns the width of the given string chunk in pixels.
  
  
  
  1.6       +2 -2      SVGSupport/kdom/css/MediaListImpl.cpp
  
  Index: MediaListImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/MediaListImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MediaListImpl.cpp	2 Sep 2005 10:03:05 -0000	1.5
  +++ MediaListImpl.cpp	8 Sep 2005 08:03:24 -0000	1.6
  @@ -80,8 +80,8 @@
   {
       m_lstMedia.clear();
       
  -    const QString val = (mediaText ? mediaText->string() : QString::null);
  -    const QStringList list = QStringList::split(',', val);
  +    DOMString mediaTextDOMString(mediaText);
  +    const QStringList list = QStringList::split(',', mediaTextDOMString.string());
   
       QStringList::ConstIterator it = list.begin();
       const QStringList::ConstIterator end = list.end();
  
  
  
  1.5       +1 -46     SVGSupport/kdom/css/RectImpl.cpp
  
  Index: RectImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/RectImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RectImpl.cpp	1 Sep 2005 07:33:11 -0000	1.4
  +++ RectImpl.cpp	8 Sep 2005 08:03:24 -0000	1.5
  @@ -1,6 +1,6 @@
   /*
       Copyright(C) 2004, 2005 Nikolas Zimmermann <wildfox at kde.org>
  -                  2004, 2005 Rob Buis <buis at kde.org>
  +                 2004, 2005 Rob Buis <buis at kde.org>
   
       This file is part of the KDE project
   
  @@ -20,7 +20,6 @@
       Boston, MA 02111-1307, USA.
   */
   
  -#include <kdom/Shared.h>
   #include "RectImpl.h"
   #include "CSSPrimitiveValueImpl.h"
   
  @@ -46,50 +45,6 @@
           m_left->deref();
   }
   
  -CSSPrimitiveValueImpl *RectImpl::top() const
  -{
  -    if(!m_top)
  -    {
  -        m_top = new CSSPrimitiveValueImpl(m_interface); // TODO: Check ctor
  -        m_top->ref();
  -    }
  -
  -    return m_top;
  -}
  -
  -CSSPrimitiveValueImpl *RectImpl::right() const
  -{
  -    if(!m_right)
  -    {
  -        m_right = new CSSPrimitiveValueImpl(m_interface); // TODO: Check ctor
  -        m_right->ref();
  -    }
  -
  -    return m_right;
  -}
  -
  -CSSPrimitiveValueImpl *RectImpl::bottom() const
  -{
  -    if(!m_bottom)
  -    {
  -        m_bottom = new CSSPrimitiveValueImpl(m_interface); // TODO: Check ctor
  -        m_bottom->ref();
  -    }
  -
  -    return m_bottom;
  -}
  -
  -CSSPrimitiveValueImpl *RectImpl::left() const
  -{
  -    if(!m_left)
  -    {
  -        m_left = new CSSPrimitiveValueImpl(m_interface); // TODO: Check ctor
  -        m_left->ref();
  -    }
  -
  -    return m_left;
  -}
  -
   void RectImpl::setTop(CSSPrimitiveValueImpl *top)
   {
       KDOM_SAFE_SET(m_top, top);
  
  
  
  1.4       +4 -4      SVGSupport/kdom/css/RectImpl.h
  
  Index: RectImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/RectImpl.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- RectImpl.h	1 Sep 2005 07:33:11 -0000	1.3
  +++ RectImpl.h	8 Sep 2005 08:03:24 -0000	1.4
  @@ -36,10 +36,10 @@
           virtual ~RectImpl();
   
           // 'Rect' functions
  -        CSSPrimitiveValueImpl *top() const;
  -        CSSPrimitiveValueImpl *right() const;
  -        CSSPrimitiveValueImpl *bottom() const;
  -        CSSPrimitiveValueImpl *left() const;
  +        CSSPrimitiveValueImpl *top() const { return m_top; }
  +        CSSPrimitiveValueImpl *right() const { return m_right; }
  +        CSSPrimitiveValueImpl *bottom() const { return m_bottom; }
  +        CSSPrimitiveValueImpl *left() const { return m_left; }
   
           void setTop(CSSPrimitiveValueImpl *top);
           void setRight(CSSPrimitiveValueImpl *right);
  
  
  
  1.6       +1 -0      SVGSupport/kdom/css/RenderStyle.cpp
  
  Index: RenderStyle.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/RenderStyle.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- RenderStyle.cpp	1 Sep 2005 07:33:11 -0000	1.5
  +++ RenderStyle.cpp	8 Sep 2005 08:03:24 -0000	1.6
  @@ -250,6 +250,7 @@
          !(inherited->indent == other->inherited->indent) ||
          !(inherited->lineHeight == other->inherited->lineHeight) ||
          !(inherited->styleImage == other->inherited->styleImage) ||
  +       !(inherited->cursorImage == other->inherited->cursorImage) ||
          !(inherited->font == other->inherited->font) ||
          !(inherited->borderHSpacing == other->inherited->borderHSpacing) ||
          !(inherited->borderVSpacing == other->inherited->borderVSpacing))
  
  
  
  1.6       +1 -0      SVGSupport/kdom/css/RenderStyle.h
  
  Index: RenderStyle.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/RenderStyle.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- RenderStyle.h	1 Sep 2005 09:39:06 -0000	1.5
  +++ RenderStyle.h	8 Sep 2005 08:03:24 -0000	1.6
  @@ -192,6 +192,7 @@
           RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(short, inherited, orphans, Orphans, orphans, 2)
           RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(EPageBreak, inherited, pageBreakInside, PageBreakInside, pageBreakInside, PB_AUTO)
           RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(CachedImage *, inherited, styleImage, ListStyleImage, listStyleImage, 0)
  +        RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(CSSValueImpl *, inherited, cursorImage, CursorImage, cursorImage, 0)
   
           // Special cases
           void setHasAutoZIndex() { RS_SET_VARIABLE(box, zAuto, true ); }
  
  
  
  1.5       +5 -2      SVGSupport/kdom/css/RenderStyleDefs.cpp
  
  Index: RenderStyleDefs.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/RenderStyleDefs.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RenderStyleDefs.cpp	1 Sep 2005 07:33:11 -0000	1.4
  +++ RenderStyleDefs.cpp	8 Sep 2005 08:03:24 -0000	1.5
  @@ -195,11 +195,12 @@
       indent = RenderStyle::initialTextIndent();
       lineHeight = RenderStyle::initialLineHeight();
       styleImage = RenderStyle::initialListStyleImage();
  +    cursorImage = RenderStyle::initialCursorImage();
       color = RenderStyle::initialColor();
   
       borderHSpacing = RenderStyle::initialBorderHSpacing();
  -       borderVSpacing = RenderStyle::initialBorderVSpacing();
  -    
  +    borderVSpacing = RenderStyle::initialBorderVSpacing();
  +
       quotes = 0;
       widows = RenderStyle::initialWidows();
       orphans = RenderStyle::initialOrphans();
  @@ -210,6 +211,7 @@
   {
       indent = other.indent; lineHeight = other.lineHeight;
       styleImage = other.styleImage; font = other.font;
  +    cursorImage = other.cursorImage;
       color = other.color; decorationColor = other.decorationColor;
       borderHSpacing = other.borderHSpacing; borderVSpacing = other.borderVSpacing;
       widows = other.widows; orphans = other.orphans; pageBreakInside = other.pageBreakInside;
  @@ -224,6 +226,7 @@
       return (indent == other.indent) && (lineHeight == other.lineHeight) &&
              (borderHSpacing == other.borderHSpacing) && (borderVSpacing == other.borderVSpacing) &&
              (styleImage == other.styleImage) && (font == other.font) &&
  +           (cursorImage == other.cursorImage) &&
              (color == other.color) && (decorationColor == other.decorationColor) &&
              (widows == other.widows) && (orphans == other.orphans) &&
              (pageBreakInside == other.pageBreakInside) && (quotes == other.quotes);
  
  
  
  1.6       +1 -0      SVGSupport/kdom/css/RenderStyleDefs.h
  
  Index: RenderStyleDefs.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/RenderStyleDefs.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- RenderStyleDefs.h	1 Sep 2005 09:39:06 -0000	1.5
  +++ RenderStyleDefs.h	8 Sep 2005 08:03:24 -0000	1.6
  @@ -534,6 +534,7 @@
           Length lineHeight;
   
           CachedImage *styleImage;
  +        CSSValueImpl *cursorImage;
   
           Font font;
           QColor color;
  
  
  
  1.7       +2 -2      SVGSupport/kdom/css/StyleBaseImpl.cpp
  
  Index: StyleBaseImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/css/StyleBaseImpl.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- StyleBaseImpl.cpp	2 Sep 2005 10:03:05 -0000	1.6
  +++ StyleBaseImpl.cpp	8 Sep 2005 08:03:25 -0000	1.7
  @@ -226,7 +226,7 @@
   #ifndef APPLE_CHANGES
       kdDebug(6080) << "[Selector: tag = " << QString::number(tag, 16)
                     << ", attr = \"" << attr << "\", match = \"" << match
  -                  << "\" value = \"" << DOMString(value).string().latin1()
  +                  << "\" value = \"" << (value ? value->string().unicode() : 0)
                     << "\" relation = " << (int) relation    << "]" << endl;
   #endif
   
  @@ -291,7 +291,7 @@
       {
           value = value->lower();
           DOMString _value(value);
  -        switch(_value[0].latin1())
  +        switch(_value[0].unicode())
           {
               case 'a':
               {
  
  
  
  1.1                  SVGSupport/kdom/css/LinkStyleImpl.cpp
  
  Index: LinkStyleImpl.cpp
  ===================================================================
  /*
      Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox at kde.org>
                    2004, 2005 Rob Buis <buis at kde.org>
  
      This file is part of the KDE project
  
      This library is free software; you can redistribute it and/or
      modify it under the terms of the GNU Library General Public
      License as published by the Free Software Foundation; either
      version 2 of the License, or (at your option) any later version.
  
      This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Library General Public License for more details.
  
      You should have received a copy of the GNU Library General Public License
      along with this library; see the file COPYING.LIB.  If not, write to
      the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
      Boston, MA 02111-1307, USA.
  */
  
  #include "LinkStyleImpl.h"
  #include "CSSStyleSheetImpl.h"
  
  using namespace KDOM;
  
  LinkStyleImpl::LinkStyleImpl() : m_sheet(0)
  {
  }
  
  LinkStyleImpl::~LinkStyleImpl()
  {
      if(m_sheet)
          m_sheet->deref();
  }
  
  StyleSheetImpl *LinkStyleImpl::sheet() const
  {
      return m_sheet;
  }
  // vim:ts=4:noet
  
  
  
  1.1                  SVGSupport/kdom/css/LinkStyleImpl.h
  
  Index: LinkStyleImpl.h
  ===================================================================
  /*
      Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox at kde.org>
                    2004, 2005 Rob Buis <buis at kde.org>
  
      This file is part of the KDE project
  
      This library is free software; you can redistribute it and/or
      modify it under the terms of the GNU Library General Public
      License as published by the Free Software Foundation; either
      version 2 of the License, or (at your option) any later version.
  
      This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Library General Public License for more details.
  
      You should have received a copy of the GNU Library General Public License
      along with this library; see the file COPYING.LIB.  If not, write to
      the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
      Boston, MA 02111-1307, USA.
  */
  
  #ifndef KDOM_LinkStyleImpl_H
  #define KDOM_LinkStyleImpl_H
  
  namespace KDOM
  {
      class StyleSheetImpl;
      class CSSStyleSheetImpl;
      class LinkStyleImpl
      {
      public:
          LinkStyleImpl();
          virtual ~LinkStyleImpl();
  
          // 'LinkStyleImpl' functions
          virtual StyleSheetImpl *sheet() const;
  
      protected:
          mutable CSSStyleSheetImpl *m_sheet;
      };
  };
  
  #endif
  
  // vim:ts=4:noet
  
  
  
  1.6       +8 -0      SVGSupport/kdom/events/EventTargetImpl.cpp
  
  Index: EventTargetImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/events/EventTargetImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- EventTargetImpl.cpp	2 Sep 2005 10:03:10 -0000	1.5
  +++ EventTargetImpl.cpp	8 Sep 2005 08:03:27 -0000	1.6
  @@ -22,6 +22,8 @@
   
   #include <kjs/interpreter.h>
   
  +#include <kdom/ecma/Ecma.h>
  +
   #include "EventImpl.h"
   #include "DocumentImpl.h"
   #include "EventTargetImpl.h"
  @@ -47,6 +49,9 @@
       if(!listener)
           return;
   
  +    if(type)
  +        type->ref();
  +
       // If the requested listener is builtin (ie. DOMNODEREMOVED_EVENT)
       // we'll cache the specific enumeration value to save space
       // but in case of a custom event (ie. as used in the dom2 events test suite)
  @@ -86,6 +91,9 @@
   
       addListenerType(doc->addListenerType(type));
       m_eventListeners->append(new RegisteredEventListener(type, listener, useCapture));
  +
  +    if(type)
  +        type->deref();
   }
   
   void EventTargetImpl::removeEventListener(DOMStringImpl *type, EventListenerImpl *listener, bool useCapture)
  
  
  
  1.6       +2 -2      SVGSupport/kdom/ls/LSParserImpl.cpp
  
  Index: LSParserImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/ls/LSParserImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- LSParserImpl.cpp	2 Sep 2005 10:03:10 -0000	1.5
  +++ LSParserImpl.cpp	8 Sep 2005 08:03:28 -0000	1.6
  @@ -229,9 +229,9 @@
       return parse(KURL(), input, m_async);
   }
   
  -DocumentImpl *LSParserImpl::parseURI(const DOMString &uri)
  +DocumentImpl *LSParserImpl::parseURI(DOMStringImpl *uri)
   {
  -    return parse(KURL(uri.string()), 0, m_async);
  +    return parse(KURL(uri ? uri->string() : QString()), 0, m_async);
   }
   
   void LSParserImpl::abort() const
  
  
  
  1.5       +1 -1      SVGSupport/kdom/ls/LSParserImpl.h
  
  Index: LSParserImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/ls/LSParserImpl.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- LSParserImpl.h	1 Sep 2005 09:39:10 -0000	1.4
  +++ LSParserImpl.h	8 Sep 2005 08:03:28 -0000	1.5
  @@ -59,7 +59,7 @@
           bool busy() const;
   
           DocumentImpl *parse(LSInputImpl *input);
  -        DocumentImpl *parseURI(const DOMString &uri);
  +        DocumentImpl *parseURI(DOMStringImpl *uri);
   
           NodeImpl *parseWithContext(LSInputImpl *input, NodeImpl *contextArg,
                                      unsigned short action);
  
  
  
  1.4       +4 -4      SVGSupport/kdom/ls/LSResourceResolverImpl.cpp
  
  Index: LSResourceResolverImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/ls/LSResourceResolverImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- LSResourceResolverImpl.cpp	1 Sep 2005 07:33:51 -0000	1.3
  +++ LSResourceResolverImpl.cpp	8 Sep 2005 08:03:28 -0000	1.4
  @@ -33,10 +33,10 @@
   {
   }
   
  -LSInputImpl *LSResourceResolverImpl::resolveResource(const DOMString &/*type*/, const DOMString &/*ns*/,
  -                                                      const DOMString &/*publicId*/,
  -                                                     const DOMString &/*systemId*/, 
  -                                                     const DOMString &/*baseURI*/)
  +LSInputImpl *LSResourceResolverImpl::resolveResource(DOMStringImpl * /*type*/, DOMStringImpl * /*ns*/,
  +                                                     DOMStringImpl * /*publicId*/,
  +                                                     DOMStringImpl * /*systemId*/, 
  +                                                     DOMStringImpl * /*baseURI*/)
   {
       /* Hm, "Return Value: A LSInput object describing the new 
        * input source, or null to request that the parser open a 
  
  
  
  1.3       +4 -4      SVGSupport/kdom/ls/LSResourceResolverImpl.h
  
  Index: LSResourceResolverImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/ls/LSResourceResolverImpl.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- LSResourceResolverImpl.h	1 Sep 2005 07:33:51 -0000	1.2
  +++ LSResourceResolverImpl.h	8 Sep 2005 08:03:28 -0000	1.3
  @@ -26,7 +26,7 @@
   
   namespace KDOM
   {
  -    class DOMString;
  +    class DOMStringImpl;
       class LSInputImpl;
   
       class LSResourceResolverImpl : public Shared
  @@ -35,9 +35,9 @@
           LSResourceResolverImpl();
           virtual ~LSResourceResolverImpl();
   
  -        LSInputImpl *resolveResource(const DOMString &type, const DOMString &ns,
  -                                     const DOMString &publicId, const DOMString &systemId,
  -                                     const DOMString &baseURI);
  +        LSInputImpl *resolveResource(DOMStringImpl *type, DOMStringImpl *ns,
  +                                     DOMStringImpl *publicId, DOMStringImpl *systemId,
  +                                     DOMStringImpl *baseURI);
   
       };
   };
  
  
  
  1.5       +6 -6      SVGSupport/kdom/ls/LSSerializerImpl.cpp
  
  Index: LSSerializerImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/ls/LSSerializerImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- LSSerializerImpl.cpp	1 Sep 2005 07:33:51 -0000	1.4
  +++ LSSerializerImpl.cpp	8 Sep 2005 08:03:28 -0000	1.5
  @@ -74,9 +74,9 @@
       return m_config;
   }
   
  -DOMString LSSerializerImpl::newLine() const
  +DOMStringImpl *LSSerializerImpl::newLine() const
   {
  -    return DOMString(m_newLine);
  +    return m_newLine;
   }
   
   void LSSerializerImpl::setNewLine(DOMStringImpl *newLine)
  @@ -137,12 +137,12 @@
       return serialize(nodeArg, &output);
   }
   
  -DOMString LSSerializerImpl::writeToString(NodeImpl *nodeArg)
  +DOMStringImpl *LSSerializerImpl::writeToString(NodeImpl *nodeArg)
   {
       QString str;
       QTextOStream subset(&str);
       PrintNode(subset, nodeArg, QString::fromLatin1("  "), DOMString(m_newLine).string(), 0, m_config);
  -    return str;
  +    return new DOMStringImpl(str);
   }
   
   void LSSerializerImpl::PrintInternalSubset(QTextStream &ret, DocumentTypeImpl *docType,
  @@ -448,7 +448,7 @@
           else if(escapee[i] == '&')
               result->append("&amp;");
           else
  -            result->append(escapee[i]);
  +            result->append(QString(escapee[i]));
       }
   
       return result;
  @@ -475,7 +475,7 @@
           else if(escapee[i] == '\'')
               result->append("&apos;");
           else
  -            result->append(escapee[i]);
  +            result->append(QString(escapee[i]));
       }
   
       return result;
  
  
  
  1.5       +3 -3      SVGSupport/kdom/ls/LSSerializerImpl.h
  
  Index: LSSerializerImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/ls/LSSerializerImpl.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- LSSerializerImpl.h	1 Sep 2005 07:33:51 -0000	1.4
  +++ LSSerializerImpl.h	8 Sep 2005 08:03:28 -0000	1.5
  @@ -31,7 +31,7 @@
   namespace KDOM
   {
       class NodeImpl;
  -    class DOMString;
  +    class DOMStringImpl;
       class DOMConfigurationImpl;
       class LSOutputImpl;
       class LSSerializerFilterImpl;
  @@ -46,7 +46,7 @@
           // 'LSSerializer' functions
           DOMConfigurationImpl *domConfig() const;
   
  -        DOMString newLine() const;
  +        DOMStringImpl *newLine() const;
           void setNewLine(DOMStringImpl *newLine);
   
           LSSerializerFilterImpl *filter() const;
  @@ -54,7 +54,7 @@
   
           bool write(NodeImpl *nodeArg, LSOutputImpl *output);
           bool writeToURI(NodeImpl *nodeArg, DOMStringImpl *uri);
  -        DOMString writeToString(NodeImpl *nodeArg);
  +        DOMStringImpl *writeToString(NodeImpl *nodeArg);
   
           // Internal
           static void PrintNode(QTextStream &ret, NodeImpl *node,
  
  
  
  1.1                  SVGSupport/kdom/ls/DOMImplementationLSImpl.cpp
  
  Index: DOMImplementationLSImpl.cpp
  ===================================================================
  /*
      Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox at kde.org>
                    2004, 2005 Rob Buis <buis at kde.org>
  
      This file is part of the KDE project
  
      This library is free software; you can redistribute it and/or
      modify it under the terms of the GNU Library General Public
      License as published by the Free Software Foundation; either
      version 2 of the License, or (at your option) any later version.
  
      This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Library General Public License for more details.
  
      You should have received a copy of the GNU Library General Public License
      along with this library; see the file COPYING.LIB.  If not, write to
      the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
      Boston, MA 02111-1307, USA.
  */
  
  #include "DOMImplementationLSImpl.h"
  
  #include "kdom.h"
  #include "kdomls.h"
  #include "Namespace.h"
  #include "LSInputImpl.h"
  #include "LSOutputImpl.h"
  #include "LSParserImpl.h"
  #include "DOMStringImpl.h"
  #include "DOMExceptionImpl.h"
  #include "LSSerializerImpl.h"
  
  using namespace KDOM;
  
  DOMImplementationLSImpl::DOMImplementationLSImpl()
  {
  }
  
  DOMImplementationLSImpl::~DOMImplementationLSImpl()
  {
  }
  
  LSParserImpl *DOMImplementationLSImpl::createLSParser(unsigned short mode, DOMStringImpl *schemaTypeImpl) const
  {
      QString schemaType = schemaTypeImpl ? schemaTypeImpl->string() : QString();
  
      // NOT_SUPPORTED_ERR: Raised if the requested mode or schema type is not supported.
      if((mode == 0 || mode > MODE_ASYNCHRONOUS) ||
          !(schemaType == NS_SCHEMATYPE_DTD || schemaType == NS_SCHEMATYPE_WXS || schemaType.isEmpty()))
          throw new DOMExceptionImpl(NOT_SUPPORTED_ERR);
  
      LSParserImpl *ret = new LSParserImpl();
      ret->setASync(mode == MODE_ASYNCHRONOUS);
      return ret;
  }
  
  LSInputImpl *DOMImplementationLSImpl::createLSInput() const
  {
      return new LSInputImpl();
  }
  
  LSOutputImpl *DOMImplementationLSImpl::createLSOutput() const
  {
      return new LSOutputImpl();
  }
  
  LSSerializerImpl *DOMImplementationLSImpl::createLSSerializer() const
  {
      return new LSSerializerImpl();
  }
  
  // vim:ts=4:noet
  
  
  
  1.1                  SVGSupport/kdom/ls/DOMImplementationLSImpl.h
  
  Index: DOMImplementationLSImpl.h
  ===================================================================
  /*
      Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox at kde.org>
                    2004, 2005 Rob Buis <buis at kde.org>
  
      This file is part of the KDE project
  
      This library is free software; you can redistribute it and/or
      modify it under the terms of the GNU Library General Public
      License as published by the Free Software Foundation; either
      version 2 of the License, or (at your option) any later version.
  
      This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Library General Public License for more details.
  
      You should have received a copy of the GNU Library General Public License
      along with this library; see the file COPYING.LIB.  If not, write to
      the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
      Boston, MA 02111-1307, USA.
  */
  
  #ifndef KDOM_DOMImplementationLSImpl_H
  #define KDOM_DOMImplementationLSImpl_H
  
  namespace KDOM
  {
      class LSInputImpl;
      class LSOutputImpl;
      class LSParserImpl;
      class DOMStringImpl;
      class LSSerializerImpl;
  
      class DOMImplementationLSImpl
      {
      public:
          DOMImplementationLSImpl();
          virtual ~DOMImplementationLSImpl();
  
          // 'DOMImplementationLS' functions
          virtual LSParserImpl *createLSParser(unsigned short mode, DOMStringImpl *schemaType) const;
          virtual LSInputImpl *createLSInput() const;
          virtual LSOutputImpl *createLSOutput() const;
          virtual LSSerializerImpl *createLSSerializer() const;
  
      };
  };
  
  #endif
  
  // vim:ts=4:noet
  
  
  
  1.5       +10 -4     SVGSupport/kdom/parser/KDOMParser.cpp
  
  Index: KDOMParser.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/parser/KDOMParser.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KDOMParser.cpp	1 Sep 2005 07:33:54 -0000	1.4
  +++ KDOMParser.cpp	8 Sep 2005 08:03:29 -0000	1.5
  @@ -179,7 +179,8 @@
           QString str;
           str.sprintf("[%ld:%ld]: WARNING: %s\n", err->location()->lineNumber(),
                       err->location()->columnNumber(), DOMString(err->message()).string().latin1());
  -
  +        
  +        fprintf(stderr, "%s", str.ascii());
           kdDebug(26001) << str << endl;
       }
       else if(err->severity() == SEVERITY_ERROR)
  @@ -187,6 +188,8 @@
           QString str;
           str.sprintf("[%ld:%ld]: ERROR: %s\n", err->location()->lineNumber(),
                       err->location()->columnNumber(), DOMString(err->message()).string().latin1());
  +        
  +        fprintf(stderr, "%s", str.ascii());
           kdDebug(26001) << str << endl;
       }
       else
  @@ -194,7 +197,8 @@
           QString str;
           str.sprintf("[%ld:%ld]: FATAL ERROR: %s\n", err->location()->lineNumber(),
                       err->location()->columnNumber(), DOMString(err->message()).string().latin1());
  -                    
  +        
  +        fprintf(stderr, "%s", str.ascii());
           kdDebug(26001) << str << endl;
           emit parsingFinished(err);
           assert(0);
  @@ -212,14 +216,16 @@
           return 0;
   
       QFile file(temporaryFileName);
  -    if(!file.open(IO_ReadOnly))
  +    if(!file.open(QIODevice::ReadOnly))
       {
           // Can a file be correctly downloaded but not opened?
           KIO::NetAccess::removeTempFile(temporaryFileName);
           return 0;
       }
   
  -    QBuffer *ret = new QBuffer(file.readAll());
  +    QBuffer *ret = new QBuffer;
  +    ret->open(QBuffer::ReadWrite);
  +    ret->write(file.readAll());
       KIO::NetAccess::removeTempFile(temporaryFileName);
   
       return ret;
  
  
  
  1.4       +10 -9     SVGSupport/kdom/range/RangeImpl.cpp
  
  Index: RangeImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/range/RangeImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- RangeImpl.cpp	1 Sep 2005 07:33:55 -0000	1.3
  +++ RangeImpl.cpp	8 Sep 2005 08:03:30 -0000	1.4
  @@ -909,7 +909,7 @@
       return new RangeImpl(m_ownerDocument, m_startContainer, m_startOffset, m_endContainer, m_endOffset);
   }
   
  -DOMString RangeImpl::toString()
  +DOMStringImpl *RangeImpl::toString()
   {
       /* This function converts a dom range to the plain text string that the user would see in this
        * portion of rendered html.
  @@ -940,9 +940,10 @@
        *         
        */
       
  -    DOMString text;
       if( m_startContainer == m_endContainer && m_startOffset >= m_endOffset)
  -        return text;
  +        return 0;
  +
  +    DOMStringImpl *text = new DOMStringImpl();;
   
       bool skipNode = false;
       bool endAfter = false;
  @@ -980,15 +981,15 @@
               if(n->nodeType() == TEXT_NODE ||
                  n->nodeType() == CDATA_SECTION_NODE) {
       
  -                DOMString str(static_cast<TextImpl *>(n)->toString());
  -                if( n == m_endContainer || n == m_startContainer)        
  -                    str = str.copy();  //copy if we are going to modify.
  +                DOMStringImpl *str = static_cast<TextImpl *>(n)->toString();
  +                if(n == m_endContainer || n == m_startContainer)
  +                    str = str->copy();  //copy if we are going to modify.
       
                   if (n == m_endContainer)
  -                    str.truncate(m_endOffset);
  +                    str->truncate(m_endOffset);
                   if (n == m_startContainer)
  -                    str.remove(0,m_startOffset);
  -                text += str;
  +                    str->remove(0,m_startOffset);
  +                text->append(str);
                   if (n == endNode)
                       break;
               } else 
  
  
  
  1.4       +2 -2      SVGSupport/kdom/range/RangeImpl.h
  
  Index: RangeImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/range/RangeImpl.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- RangeImpl.h	1 Sep 2005 07:33:55 -0000	1.3
  +++ RangeImpl.h	8 Sep 2005 08:03:30 -0000	1.4
  @@ -32,8 +32,8 @@
   {
   
   class NodeImpl;
  -class DOMString;
   class DocumentPtr;
  +class DOMStringImpl;
   class DocumentFragmentImpl;
   
   class RangeImpl : public Shared
  @@ -74,7 +74,7 @@
       bool isDetached() const;
       
       RangeImpl *cloneRange();
  -    DOMString toString();
  +    DOMStringImpl *toString();
   
       void setStartAfter(NodeImpl *refNode);
       void setEndBefore(NodeImpl *refNode);
  
  
  
  1.2       +9 -6      SVGSupport/kdom/scripts/cssmakeprops
  
  Index: cssmakeprops
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/scripts/cssmakeprops,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- cssmakeprops	9 Jul 2005 06:54:22 -0000	1.1
  +++ cssmakeprops	8 Sep 2005 08:03:30 -0000	1.2
  @@ -23,9 +23,12 @@
   
   my $nsFull = $ARGV[1];
   my $ns = $nsFull; $ns =~ s/K//;
  -my $inputfile = $ARGV[3] if (defined($ARGV[2]) && $ARGV[2] eq "-f");
  -$inputfile =~ m/(.*)\.in/;
  -my $basename = $1;
  +my $basename = "cssproperties";
  +if (defined($ARGV[2]) && $ARGV[2] eq "-f") {
  +    my $inputfile = $ARGV[3];
  +    $inputfile =~ m/(.*)\.in/;
  +    $basename = $1;
  +}
   
   my $filec = "$basename.c";
   my $fileh = "$basename.h";
  @@ -37,7 +40,7 @@
   open out, ">$filegperf" or die "Can't open $filegperf\n";
   
   print out "%{\n/* This file is automatically generated from $filein by cssmakeprops, do not edit */\n#include \"$fileh\"\n%}\n";
  -print out "struct css_prop {\n\tint name;\n\tint id;\n};\n\n";
  +print out "struct css_prop {\n    int name;\n    int id;\n};\n\n";
   print out "static const struct css_prop *find${ns}Prop (register const char *str, register unsigned int len);\n\n%%\n";
   
   print header "/* This file is automatically generated from $filein by cssmakeprops, do not edit */\n/* Copyright 1999 Lars Knoll */\n\n#ifndef ${nsFull}_CSSPROPERTIES_H\n#define ${nsFull}_CSSPROPERTIES_H\n\n#include <kglobal.h>\n\n";
  @@ -94,8 +97,8 @@
   close out;
   
   print header "\nnamespace ${nsFull}\n{\n";
  -print header "\tconst char *getPropertyName(unsigned short id);\n";
  -print header "\tint getPropertyID(const char *tagStr, int len);\n";
  +print header "    const char *getPropertyName(unsigned short id);\n";
  +print header "    int getPropertyID(const char *tagStr, int len);\n";
   print header "};\n";
   
   print header "\n#endif\n";
  
  
  
  1.2       +9 -6      SVGSupport/kdom/scripts/cssmakevalues
  
  Index: cssmakevalues
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/scripts/cssmakevalues,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- cssmakevalues	9 Jul 2005 06:54:22 -0000	1.1
  +++ cssmakevalues	8 Sep 2005 08:03:30 -0000	1.2
  @@ -23,9 +23,12 @@
   
   my $nsFull = $ARGV[1];
   my $ns = $nsFull; $ns =~ s/K//;
  -my $inputfile = $ARGV[3] if (defined($ARGV[2]) && $ARGV[2] eq "-f");
  -$inputfile =~ m/(.*)\.in/;
  -my $basename = $1;
  +my $basename = "cssvalues";
  +if (defined($ARGV[2]) && $ARGV[2] eq "-f") {
  +    my $inputfile = $ARGV[3];
  +    $inputfile =~ m/(.*)\.in/;
  +    $basename = $1;
  +}
   
   my $filec = "$basename.c";
   my $fileh = "$basename.h";
  @@ -37,7 +40,7 @@
   open out, ">$filegperf" or die "Can't open $filegperf\n";
   
   print out "%{\n/* This file is automatically generated from $filein by cssmakevalues, do not edit */\n#include \"$fileh\"\n%}\n";
  -print out "struct css_val {\n\tint name;\n\tint id;\n};\n\n";
  +print out "struct css_val {\n    int name;\n    int id;\n};\n\n";
   print out "static const struct css_val *find${ns}Val (register const char *str, register unsigned int len);\n\n%%\n";
   
   print header "/* This file is automatically generated from $filein by cssmakevalues, do not edit */\n/* Copyright 1999 Lars Knoll */\n\n#ifndef ${nsFull}_CSSVALUES_H\n#define ${nsFull}_CSSVALUES_H\n\n#include <kglobal.h>\n\n";
  @@ -94,8 +97,8 @@
   close out;
   
   print header "\nnamespace ${nsFull}\n{\n";
  -print header "\tconst char *getValueName(unsigned short id);\n";
  -print header "\tint getValueID(const char *tagStr, int len);\n";
  +print header "    const char *getValueName(unsigned short id);\n";
  +print header "    int getValueID(const char *tagStr, int len);\n";
   print header "};\n";
   
   print header "\n#endif\n";
  
  
  
  1.4       +7 -3      SVGSupport/kdom/xpointer/PointerPartImpl.cpp
  
  Index: PointerPartImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/xpointer/PointerPartImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PointerPartImpl.cpp	1 Sep 2005 07:34:08 -0000	1.3
  +++ PointerPartImpl.cpp	8 Sep 2005 08:03:31 -0000	1.4
  @@ -22,11 +22,11 @@
   
   #include <kdebug.h>
   
  +#include "DOMStringImpl.h"
   #include "NBCImpl.h"
  +#include "XPointerResultImpl.h"
   
  -#include "DOMStringImpl.h"
   #include "PointerPartImpl.h"
  -#include "XPointerResultImpl.h"
   
   using namespace KDOM;
   using namespace KDOM::XPointer;
  @@ -34,7 +34,11 @@
   PointerPartImpl::PointerPartImpl(DOMStringImpl *name, DOMStringImpl *schemeData, NBCImpl *nbc)
   : Shared(), m_data(schemeData), m_name(name), m_nbc(nbc)
   {
  -    kdDebug(26550) << "Created PointerPart: name=\"" << name << "\" schemeData=\"" << schemeData << "\"." << endl;
  +    Q_ASSERT(m_name);
  +    Q_ASSERT(m_data);
  +    kdDebug(26550) << "Created PointerPart: " << endl;
  +    kdDebug(26550) << "     name = \"" << name->string() << "\"" << endl;
  +    kdDebug(26550) << "     schemeData = \"" << (m_data ? schemeData->string() : QString()) << "\"" << endl;
   
       if(m_name)
           m_name->ref();
  
  
  
  1.4       +2 -1      SVGSupport/kdom/xpointer/ShortHandImpl.cpp
  
  Index: ShortHandImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/xpointer/ShortHandImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ShortHandImpl.cpp	1 Sep 2005 07:34:08 -0000	1.3
  +++ ShortHandImpl.cpp	8 Sep 2005 08:03:31 -0000	1.4
  @@ -43,7 +43,8 @@
   {
       if(!Helper::IsValidNCName(str))
       {
  -        kdWarning() << "\"" << str << "\" is not a valid short hand pointer. TODO DOMError." << endl;
  +        kdWarning() << "\"" << str->string() << "\" is not a valid short "
  +                "hand pointer. TODO DOMError." << endl;
           throw new XPointerExceptionImpl(INVALID_EXPRESSION_ERR);
       }
   }
  
  
  
  1.5       +9 -8      SVGSupport/kdom/xpointer/XPointerEvaluatorImpl.cpp
  
  Index: XPointerEvaluatorImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/xpointer/XPointerEvaluatorImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XPointerEvaluatorImpl.cpp	2 Sep 2005 10:03:14 -0000	1.4
  +++ XPointerEvaluatorImpl.cpp	8 Sep 2005 08:03:31 -0000	1.5
  @@ -79,7 +79,6 @@
       if(firstParan == -1) /* We have an invalid SchemeName or a ShortHand pointer. Assume the latter. */
       {
           XPointerExpressionImpl *xpr = new XPointerExpressionImpl(stringImpl, relatedNode, THIS);
  -        xpr->ref();
   
           ShortHandImpl *sh = new ShortHandImpl(DOMString(stripped).handle());
           sh->ref();
  @@ -94,12 +93,12 @@
       int paranDepth = 0; /* This may be negative if the paranteses are balanced improperly. */
   
       DOMString schemeName;
  -
       DOMString schemeData;
  -    unsigned int endPrevScheme = 0; /* The index of where the previous scheme ended. That's after it's
  -                                       closing parantese. */
  -    unsigned int startData = 0; /* The index of where the scheme data starts. That's right after the parantese
  -                                   after the scheme name. */
  +    unsigned int endPrevScheme = 0; /* The index of where the previous scheme 
  +                                       ended. That's after it's closing parantese. */
  +    unsigned int startData = 0; /* The index of where the scheme data starts.
  +                                   That's right after the parantese after 
  +                                   the scheme name. */
   
       typedef QPair<DOMString, DOMString> StrPair;
       
  @@ -210,8 +209,10 @@
               if(prefix && !prefix->isEmpty() && DOMString(currentNBC->lookupNamespaceURI(prefix)).isEmpty())
                   continue; 
   
  -            kdDebug() << "Encountered unknown scheme: \"" << DOMString(schemeName).string() << "\"." << endl;
  -            PointerPartImpl *p = new PointerPartImpl(schemeName.handle(), schemeData.handle(), currentNBC);
  +            kdDebug(26550) << "Encountered unknown scheme: \"" 
  +                    << DOMString(schemeName).string() << "\"." << endl;
  +            PointerPartImpl *p = new PointerPartImpl(schemeName.handle(),
  +                                                     schemeData.handle(), currentNBC);
               p->ref();
               xpr->appendPart(p);
   
  
  
  
  1.4       +1 -16     SVGSupport/kdom/xpointer/XPointerResultImpl.h
  
  Index: XPointerResultImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/xpointer/XPointerResultImpl.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XPointerResultImpl.h	1 Sep 2005 07:34:09 -0000	1.3
  +++ XPointerResultImpl.h	8 Sep 2005 08:03:31 -0000	1.4
  @@ -24,6 +24,7 @@
   #define KDOM_XPointer_XPointerResultImpl_H
   
   #include <kdom/Shared.h>
  +#include <kdom/xpointer/kdomxpointer.h>
   
   namespace KDOM
   {
  @@ -32,22 +33,6 @@
   
   namespace XPointer
   {
  -    /**
  -     * An integer indicating what type of result this is.
  -     */
  -    enum ResultType
  -    {
  -        /**
  -         * The pointer matched no nodes.
  -         */
  -        NO_MATCH = 1,
  -
  -        /**
  -         * The pointer identifed a single node.
  -         */
  -        SINGLE_NODE = 2
  -    };
  -
       class XPointerResultImpl : public Shared
       {
       public:
  
  
  
  1.3       +17 -0     SVGSupport/kdom/xpointer/kdomxpointer.h
  
  Index: kdomxpointer.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kdom/xpointer/kdomxpointer.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- kdomxpointer.h	1 Sep 2005 07:34:07 -0000	1.2
  +++ kdomxpointer.h	8 Sep 2005 08:03:31 -0000	1.3
  @@ -96,6 +96,23 @@
            */
           INVALID_ENCODING = 4
       };
  +
  +    /**
  +     * An integer indicating what type of result this is.
  +     */
  +    enum ResultType
  +    {
  +        /**
  +         * The pointer matched no nodes.
  +         */
  +        NO_MATCH = 1,
  +
  +        /**
  +         * The pointer identifed a single node.
  +         */
  +        SINGLE_NODE = 2
  +    };
  +
   };
   };
   
  
  
  
  1.6       +3 -1      SVGSupport/ksvg2/KSVGFactory.cpp
  
  Index: KSVGFactory.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/KSVGFactory.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- KSVGFactory.cpp	2 Sep 2005 10:03:15 -0000	1.5
  +++ KSVGFactory.cpp	8 Sep 2005 08:03:32 -0000	1.6
  @@ -23,6 +23,8 @@
   #include <assert.h>
   
   #include <qregexp.h>
  +//Added by qt3to4:
  +#include <Q3PtrList>
   
   #include <kdebug.h>
   #include <kaboutdata.h>
  @@ -94,7 +96,7 @@
       bool dummy;
       QRegExp r1(QString::fromLatin1("(WIDTH)(\\s*=\\s*\")(\\d+)(\\w*)(\")"));
       QRegExp r2(QString::fromLatin1("(HEIGHT)(\\s*=\\s*\")(\\d+)(\\w*)(\")"));
  -    for(Q3ValueListConstIterator<QString> it = args.begin(); it != args.end(); ++it) 
  +    for(QStringList::ConstIterator it = args.begin(); it != args.end(); ++it) 
       {
           if(r1.search(*it) > -1)
               width = r1.cap(3).toUInt(&dummy);
  
  
  
  1.7       +1 -0      SVGSupport/ksvg2/css/SVGCSSStyleSelector.cpp
  
  Index: SVGCSSStyleSelector.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/css/SVGCSSStyleSelector.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGCSSStyleSelector.cpp	2 Sep 2005 10:03:15 -0000	1.6
  +++ SVGCSSStyleSelector.cpp	8 Sep 2005 08:03:32 -0000	1.7
  @@ -30,6 +30,7 @@
   #include <kstandarddirs.h>
   
   #include <qfile.h>
  +#include <q3cstring.h>
   #include <qpaintdevice.h>
   
   #include <kdom/core/ElementImpl.h>
  
  
  
  1.5       +6 -2      SVGSupport/ksvg2/events/SVGEventImpl.cpp
  
  Index: SVGEventImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/events/SVGEventImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGEventImpl.cpp	1 Sep 2005 07:35:29 -0000	1.4
  +++ SVGEventImpl.cpp	8 Sep 2005 08:03:32 -0000	1.5
  @@ -20,12 +20,14 @@
       Boston, MA 02111-1307, USA.
   */
   
  +#include <kdom/core/DOMStringImpl.h>
  +
   #include "SVGEventImpl.h"
   #include "SVGDOMImplementationImpl.h"
   
   using namespace KSVG;
   
  -SVGEventImpl::SVGEventImpl() : KDOM::EventImpl(KDOM::TypeLastEvent)
  +SVGEventImpl::SVGEventImpl() : KDOM::EventImpl((KDOM::EventImplType) TypeSVGEvent)
   {
   }
   
  @@ -36,9 +38,11 @@
   void SVGEventImpl::initEvent(KDOM::DOMStringImpl *eventTypeArg, bool canBubbleArg, bool cancelableArg)
   {
       m_id = SVGDOMImplementationImpl::self()->typeToId(eventTypeArg);
  -    m_type = eventTypeArg;
  +
       m_bubbles = canBubbleArg;
       m_cancelable = cancelableArg;
  +
  +    KDOM_SAFE_SET(m_type, eventTypeArg);
   }
   
   // vim:ts=4:noet
  
  
  
  1.6       +6 -0      SVGSupport/ksvg2/events/SVGEventImpl.h
  
  Index: SVGEventImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/events/SVGEventImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGEventImpl.h	1 Sep 2005 09:39:13 -0000	1.5
  +++ SVGEventImpl.h	8 Sep 2005 08:03:33 -0000	1.6
  @@ -28,6 +28,12 @@
   
   namespace KSVG
   {
  +    typedef enum
  +    {
  +        TypeSVGEvent = KDOM::TypeLastEvent + 1,
  +        TypeSVGZoomEvent = KDOM::TypeLastEvent + 2
  +    } SVGEventImplType;
  +
       class SVGEventImpl : public KDOM::EventImpl
       {
       public:
  
  
  
  1.4       +2 -1      SVGSupport/ksvg2/events/SVGZoomEventImpl.cpp
  
  Index: SVGZoomEventImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/events/SVGZoomEventImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SVGZoomEventImpl.cpp	1 Sep 2005 07:35:30 -0000	1.3
  +++ SVGZoomEventImpl.cpp	8 Sep 2005 08:03:33 -0000	1.4
  @@ -22,11 +22,12 @@
   
   #include "SVGRectImpl.h"
   #include "SVGPointImpl.h"
  +#include "SVGEventImpl.h"
   #include "SVGZoomEventImpl.h"
   
   using namespace KSVG;
   
  -SVGZoomEventImpl::SVGZoomEventImpl() : KDOM::UIEventImpl(KDOM::TypeLastEvent)
  +SVGZoomEventImpl::SVGZoomEventImpl() : KDOM::UIEventImpl((KDOM::EventImplType) TypeSVGZoomEvent)
   {
       m_newScale = 0.0;
       m_previousScale = 0.0;
  
  
  
  1.8       +9 -7      SVGSupport/ksvg2/misc/KCanvasRenderingStyle.cpp
  
  Index: KCanvasRenderingStyle.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/misc/KCanvasRenderingStyle.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- KCanvasRenderingStyle.cpp	6 Sep 2005 10:17:59 -0000	1.7
  +++ KCanvasRenderingStyle.cpp	8 Sep 2005 08:03:33 -0000	1.8
  @@ -83,9 +83,8 @@
           KDOM::DOMString id(fill->uri());
   
           KRenderingPaintServer *fillPaintServer = m_canvas->registry()->getPaintServerById(id.string().mid(1));
  -        KCanvasResource *fillPaintResource = dynamic_cast<KCanvasResource *>(fillPaintServer);
  -        if(item && fillPaintResource)
  -            fillPaintResource->addClient(item);
  +        if(item && fillPaintServer)
  +            fillPaintServer->addClient(item);
   
           fillPainter()->setPaintServer(fillPaintServer);
       }
  @@ -121,9 +120,8 @@
           KDOM::DOMString id(stroke->uri());
   
           KRenderingPaintServer *strokePaintServer = m_canvas->registry()->getPaintServerById(id.string().mid(1));
  -        KCanvasResource *strokePaintResource = dynamic_cast<KCanvasResource *>(strokePaintServer);
  -        if(item && strokePaintResource)
  -            strokePaintResource->addClient(item);
  +        if(item && strokePaintServer)
  +            strokePaintServer->addClient(item);
   
           strokePainter()->setPaintServer(strokePaintServer);
       }
  @@ -131,7 +129,7 @@
       {
           KRenderingPaintServer *strokePaintServer = m_canvas->renderingDevice()->createPaintServer(KCPaintServerType(PS_SOLID));
           KRenderingPaintServerSolid *strokePaintServerSolid = static_cast<KRenderingPaintServerSolid *>(strokePaintServer);
  -        
  +
           if(stroke->paintType() == SVG_PAINTTYPE_CURRENTCOLOR)
               strokePaintServerSolid->setColor(m_style->color());
           else
  @@ -333,6 +331,7 @@
   // Markers
   KCanvasMarker *KCanvasRenderingStyle::startMarker() const
   {
  +    // TODO: somewhere, somehow addClient should be called on this resource
       return static_cast<KCanvasMarker *>(m_canvas->registry()->getResourceById(m_style->startMarker().mid(1)));
   }
   
  @@ -343,6 +342,7 @@
   
   KCanvasMarker *KCanvasRenderingStyle::midMarker() const
   {
  +    // TODO: somewhere, somehow addClient should be called on this resource
       return static_cast<KCanvasMarker *>(m_canvas->registry()->getResourceById(m_style->midMarker().mid(1)));
   }
   
  @@ -352,6 +352,7 @@
   
   KCanvasMarker *KCanvasRenderingStyle::endMarker() const
   {
  +    // TODO: somewhere, somehow addClient should be called on this resource
       return static_cast<KCanvasMarker *>(m_canvas->registry()->getResourceById(m_style->endMarker().mid(1)));
   }
   
  @@ -373,6 +374,7 @@
       if(lookup.isEmpty())
           return 0;
   
  +    // TODO: somewhere, somehow addClient should be called on this resource
       return static_cast<KCanvasFilter *>(m_canvas->registry()->getResourceById(lookup));
   }
   
  
  
  
  1.6       +5 -1      SVGSupport/ksvg2/misc/KSVGTimeScheduler.cpp
  
  Index: KSVGTimeScheduler.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/misc/KSVGTimeScheduler.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- KSVGTimeScheduler.cpp	2 Sep 2005 10:03:16 -0000	1.5
  +++ KSVGTimeScheduler.cpp	8 Sep 2005 08:03:33 -0000	1.6
  @@ -320,7 +320,11 @@
           for(; cit != cend; ++cit)
           {
               if(cit.data().isValid())
  -                SVGAnimationElementImpl::setTargetAttribute(tit.key(), cit.key(), cit.data().name());
  +            {
  +                SVGAnimationElementImpl::setTargetAttribute(tit.key(),
  +                                                            KDOM::DOMString(cit.key()).handle(),
  +                                                            KDOM::DOMString(cit.data().name()).handle());
  +            }
           }
       }
   
  
  
  
  1.5       +1 -1      SVGSupport/ksvg2/svg/SVGAnimateColorElementImpl.cpp
  
  Index: SVGAnimateColorElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAnimateColorElementImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGAnimateColorElementImpl.cpp	1 Sep 2005 07:35:31 -0000	1.4
  +++ SVGAnimateColorElementImpl.cpp	8 Sep 2005 08:03:34 -0000	1.5
  @@ -60,7 +60,7 @@
           SVGColorImpl *temp = new SVGColorImpl();
           temp->ref();
               
  -        temp->setRGBColor(targetAttribute().handle());
  +        temp->setRGBColor(targetAttribute());
   
           m_initialColor = temp->color();
           
  
  
  
  1.5       +2 -1      SVGSupport/ksvg2/svg/SVGAnimateElementImpl.cpp
  
  Index: SVGAnimateElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAnimateElementImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGAnimateElementImpl.cpp	1 Sep 2005 07:35:31 -0000	1.4
  +++ SVGAnimateElementImpl.cpp	8 Sep 2005 08:03:34 -0000	1.5
  @@ -43,7 +43,8 @@
       if(!m_connected)
       {
           // Save initial attribute value...
  -        m_savedTo = targetAttribute().string();
  +        KDOM::DOMStringImpl *attr = targetAttribute();
  +        m_savedTo = (attr ? attr->string() : QString::null);
   
           // Animation mode handling
           switch(detectAnimationMode())
  
  
  
  1.6       +14 -14    SVGSupport/ksvg2/svg/SVGAnimationElementImpl.cpp
  
  Index: SVGAnimationElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAnimationElementImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGAnimationElementImpl.cpp	1 Sep 2005 09:39:14 -0000	1.5
  +++ SVGAnimationElementImpl.cpp	8 Sep 2005 08:03:34 -0000	1.6
  @@ -493,15 +493,15 @@
       document->timeScheduler()->addTimer(this, qRound(getStartTime()));
   }
   
  -KDOM::DOMString SVGAnimationElementImpl::targetAttribute() const
  +KDOM::DOMStringImpl *SVGAnimationElementImpl::targetAttribute() const
   {
       if(!targetElement())
  -        return KDOM::DOMString();
  +        return 0;
       
       SVGStyledElementImpl *styled = dynamic_cast<SVGStyledElementImpl *>(targetElement());
       KDOM::CDFInterface *interface = (styled ? styled->ownerDocument()->implementation()->cdfInterface() : 0);
       
  -    KDOM::DOMString ret;
  +    KDOM::DOMStringImpl *ret = 0;
   
       EAttributeType attributeType = m_attributeType;
       if(attributeType == ATTRIBUTETYPE_AUTO)
  @@ -525,24 +525,24 @@
           if(styled && styled->style() && interface)
           {
               int id = interface->getPropertyID(m_attributeName.ascii(), m_attributeName.length());
  -            ret = KDOM::DOMString(styled->style()->getPropertyValue(id));
  +            ret = styled->style()->getPropertyValue(id);
           }
       }
   
  -    if(attributeType == ATTRIBUTETYPE_XML || ret.isEmpty())
  -        ret = KDOM::DOMString(targetElement()->getAttribute(KDOM::DOMString(m_attributeName).handle()));
  +    if(attributeType == ATTRIBUTETYPE_XML || (!ret || (ret && ret->isEmpty())))
  +        ret = targetElement()->getAttribute(KDOM::DOMString(m_attributeName).handle());
   
       return ret;
   }
   
  -void SVGAnimationElementImpl::setTargetAttribute(const KDOM::DOMString &value)
  +void SVGAnimationElementImpl::setTargetAttribute(KDOM::DOMStringImpl *value)
   {
  -    SVGAnimationElementImpl::setTargetAttribute(targetElement(), KDOM::DOMString(m_attributeName), value, m_attributeType);
  +    SVGAnimationElementImpl::setTargetAttribute(targetElement(), KDOM::DOMString(m_attributeName).handle(), value, m_attributeType);
   }
   
  -void SVGAnimationElementImpl::setTargetAttribute(SVGElementImpl *target, const KDOM::DOMString &name, const KDOM::DOMString &value, EAttributeType type)
  +void SVGAnimationElementImpl::setTargetAttribute(SVGElementImpl *target, KDOM::DOMStringImpl *name, KDOM::DOMStringImpl *value, EAttributeType type)
   {
  -    if(!target)
  +    if(!target || !name || !value)
           return;
       
       SVGStyledElementImpl *styled = dynamic_cast<SVGStyledElementImpl *>(target);
  @@ -559,7 +559,7 @@
           // search the default XML namespace for the element.
           if(styled && styled->style())
           {
  -            int id = interface->getPropertyID(name.string().ascii(), name.string().length());
  +            int id = interface->getPropertyID(name->string().ascii(), name->string().length());
               if(styled->style()->getPropertyCSSValue(id))
                   attributeType = ATTRIBUTETYPE_CSS;
           }
  @@ -567,11 +567,11 @@
       
       if(attributeType == ATTRIBUTETYPE_CSS && styled && styled->style())
       {
  -        int id = interface->getPropertyID(name.string().ascii(), name.string().length());
  -        styled->style()->setProperty(id, value.handle());
  +        int id = interface->getPropertyID(name->string().ascii(), name->string().length());
  +        styled->style()->setProperty(id, value);
       }
       else if(attributeType == ATTRIBUTETYPE_XML)
  -        target->setAttribute(name.handle(), value.handle());
  +        target->setAttribute(name, value);
   }
   
   QString SVGAnimationElementImpl::attributeName() const
  
  
  
  1.5       +4 -4      SVGSupport/ksvg2/svg/SVGAnimationElementImpl.h
  
  Index: SVGAnimationElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGAnimationElementImpl.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGAnimationElementImpl.h	1 Sep 2005 07:35:35 -0000	1.4
  +++ SVGAnimationElementImpl.h	8 Sep 2005 08:03:34 -0000	1.5
  @@ -106,12 +106,12 @@
   
           double parseClockValue(const QString &data) const;
   
  -        KDOM::DOMString targetAttribute() const;
  -        void setTargetAttribute(const KDOM::DOMString &value);
  +        KDOM::DOMStringImpl *targetAttribute() const;
  +        void setTargetAttribute(KDOM::DOMStringImpl *value);
   
           static void setTargetAttribute(SVGElementImpl *target,
  -                                       const KDOM::DOMString &name,
  -                                       const KDOM::DOMString &value,
  +                                       KDOM::DOMStringImpl *name,
  +                                       KDOM::DOMStringImpl *value,
                                          EAttributeType type = ATTRIBUTETYPE_AUTO);
   
           QString attributeName() const;
  
  
  
  1.6       +41 -27    SVGSupport/ksvg2/svg/SVGDOMImplementationImpl.cpp
  
  Index: SVGDOMImplementationImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGDOMImplementationImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGDOMImplementationImpl.cpp	1 Sep 2005 09:39:14 -0000	1.5
  +++ SVGDOMImplementationImpl.cpp	8 Sep 2005 08:03:34 -0000	1.6
  @@ -114,31 +114,32 @@
       return s_instance;
   }
   
  -bool SVGDOMImplementationImpl::hasFeature(KDOM::DOMStringImpl *_feature, KDOM::DOMStringImpl *_version) const
  +bool SVGDOMImplementationImpl::hasFeature(KDOM::DOMStringImpl *featureImpl, KDOM::DOMStringImpl *versionImpl) const
   {
  -    QString feature = KDOM::DOMString(_feature).upper().string();
  -    KDOM::DOMString version(_version);
  -    if((version.isEmpty() || version == "1.1") &&
  +    QString feature = (featureImpl ? KDOM::DOMString(featureImpl).upper().string() : QString::null);
  +    QString version = (versionImpl ? versionImpl->string() : QString::null);
  +
  +    if((version.isEmpty() || version == QString::fromLatin1("1.1")) &&
          feature.startsWith(QString::fromLatin1("HTTP://WWW.W3.ORG/TR/SVG11/FEATURE#")))
       {
           if(s_features.contains(feature.right(feature.length() - 35)))
               return true;
       }
   
  -    if((version.isEmpty() || version == "1.0") &&
  +    if((version.isEmpty() || version == QString::fromLatin1("1.0")) &&
          feature.startsWith(QString::fromLatin1("ORG.W3C.")))
       {
           if(s_features.contains(feature.right(feature.length() - 8)))
               return true;
       }
   
  -    return KDOM::DOMImplementationImpl::hasFeature(_feature, _version);
  +    return KDOM::DOMImplementationImpl::hasFeature(featureImpl, versionImpl);
   }
   
   KDOM::DocumentTypeImpl *SVGDOMImplementationImpl::createDocumentType(KDOM::DOMStringImpl *qualifiedName, KDOM::DOMStringImpl *publicId, KDOM::DOMStringImpl *systemId) const
   {
       // INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character.
  -    if((qualifiedName && !qualifiedName->isEmpty()) || !KDOM::Helper::ValidateAttributeName(qualifiedName))
  +    if((!qualifiedName || qualifiedName->isEmpty()) || !KDOM::Helper::ValidateAttributeName(qualifiedName))
           throw new KDOM::DOMExceptionImpl(KDOM::INVALID_CHARACTER_ERR);
   
       // NAMESPACE_ERR: Raised if no qualifiedName supplied (not mentioned in the spec!)
  @@ -156,14 +157,19 @@
       return createDocument(namespaceURI, qualifiedNameImpl, doctype, true, 0);
   }
   
  -KDOM::DocumentImpl *SVGDOMImplementationImpl::createDocument(KDOM::DOMStringImpl *namespaceURI, KDOM::DOMStringImpl *qualifiedNameImpl, KDOM::DocumentTypeImpl *doctype, bool createDocElement, KDOM::KDOMView *view) const
  +KDOM::DocumentImpl *SVGDOMImplementationImpl::createDocument(KDOM::DOMStringImpl *namespaceURIImpl, KDOM::DOMStringImpl *qualifiedNameImpl, KDOM::DocumentTypeImpl *doctype, bool createDocElement, KDOM::KDOMView *view) const
   {
  +    if(namespaceURIImpl)
  +        namespaceURIImpl->ref();
  +    if(qualifiedNameImpl)
  +        qualifiedNameImpl->ref();
  +    KDOM::DOMString namespaceURI(namespaceURIImpl);
       KDOM::DOMString qualifiedName(qualifiedNameImpl);
  -    if((namespaceURI && KDOM::DOMString(namespaceURI) != KDOM::NS_SVG) || (qualifiedName != "svg" && qualifiedName != "svg:svg"))
  -        return KDOM::DOMImplementationImpl::createDocument(namespaceURI, qualifiedNameImpl, doctype, createDocElement, view);
  +    if((namespaceURI != KDOM::NS_SVG) || (qualifiedName != "svg" && qualifiedName != "svg:svg"))
  +        return KDOM::DOMImplementationImpl::createDocument(namespaceURIImpl, qualifiedNameImpl, doctype, createDocElement, view);
   
       int dummy;
  -    KDOM::Helper::CheckQualifiedName(qualifiedNameImpl, namespaceURI, dummy, true /*nameCanBeNull*/, true /*nameCanBeEmpty, see #61650*/);
  +    KDOM::Helper::CheckQualifiedName(qualifiedNameImpl, namespaceURIImpl, dummy, true /*nameCanBeNull*/, true /*nameCanBeEmpty, see #61650*/);
   
       // WRONG_DOCUMENT_ERR: Raised if docType has already been used with a different
       //                     document or was created from a different implementation.
  @@ -179,10 +185,15 @@
       // Add root element...
       if(createDocElement)
       {
  -        KDOM::ElementImpl *svg = doc->createElementNS(namespaceURI, qualifiedNameImpl);
  +        KDOM::ElementImpl *svg = doc->createElementNS(namespaceURIImpl, qualifiedNameImpl);
           doc->appendChild(svg);
       }
   
  +    if(namespaceURIImpl)
  +        namespaceURIImpl->deref();
  +    if(qualifiedNameImpl)
  +        qualifiedNameImpl->deref();
  +
       return doc;
   }
   
  @@ -207,15 +218,18 @@
   
   int SVGDOMImplementationImpl::typeToId(KDOM::DOMStringImpl *typeImpl)
   {
  -    KDOM::DOMString type(typeImpl);
  +    if(!typeImpl)
  +        return -1;
  +
  +    QString type = typeImpl->string();
   
  -    if(type == "load") return KDOM::LOAD_EVENT;
  -    else if(type == "unload") return KDOM::UNLOAD_EVENT;
  -    else if(type == "abort") return KDOM::ABORT_EVENT;
  -    else if(type == "error") return KDOM::ERROR_EVENT;
  -    else if(type == "resize") return KDOM::RESIZE_EVENT;
  -    else if(type == "scroll") return KDOM::SCROLL_EVENT;
  -    else if(type == "zoom") return ZOOM_EVENT;
  +    if(type == QString::fromLatin1("load")) return KDOM::LOAD_EVENT;
  +    else if(type == QString::fromLatin1("unload")) return KDOM::UNLOAD_EVENT;
  +    else if(type == QString::fromLatin1("abort")) return KDOM::ABORT_EVENT;
  +    else if(type == QString::fromLatin1("error")) return KDOM::ERROR_EVENT;
  +    else if(type == QString::fromLatin1("resize")) return KDOM::RESIZE_EVENT;
  +    else if(type == QString::fromLatin1("scroll")) return KDOM::SCROLL_EVENT;
  +    else if(type == QString::fromLatin1("zoom")) return ZOOM_EVENT;
   
       return KDOM::DOMImplementationImpl::typeToId(typeImpl);
   }
  @@ -225,13 +239,13 @@
       QString ret;
       switch(eventId)
       {
  -        case KDOM::LOAD_EVENT: ret = "load"; break;
  -        case KDOM::UNLOAD_EVENT: ret = "unload"; break;
  -        case KDOM::ABORT_EVENT: ret = "abort"; break;
  -        case KDOM::ERROR_EVENT: ret = "error"; break;
  -        case KDOM::RESIZE_EVENT: ret = "resize"; break;
  -        case KDOM::SCROLL_EVENT: ret = "scroll"; break;
  -        case ZOOM_EVENT: ret = "zoom"; break;
  +        case KDOM::LOAD_EVENT: ret = QString::fromLatin1("load"); break;
  +        case KDOM::UNLOAD_EVENT: ret = QString::fromLatin1("unload"); break;
  +        case KDOM::ABORT_EVENT: ret = QString::fromLatin1("abort"); break;
  +        case KDOM::ERROR_EVENT: ret = QString::fromLatin1("error"); break;
  +        case KDOM::RESIZE_EVENT: ret = QString::fromLatin1("resize"); break;
  +        case KDOM::SCROLL_EVENT: ret = QString::fromLatin1("scroll"); break;
  +        case ZOOM_EVENT: ret = QString::fromLatin1("zoom"); break;
           default: return KDOM::DOMImplementationImpl::idToType(eventId);
       }
   
  
  
  
  1.8       +47 -30    SVGSupport/ksvg2/svg/SVGDocumentImpl.cpp
  
  Index: SVGDocumentImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGDocumentImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGDocumentImpl.cpp	7 Sep 2005 08:00:28 -0000	1.7
  +++ SVGDocumentImpl.cpp	8 Sep 2005 08:03:34 -0000	1.8
  @@ -30,8 +30,6 @@
   #include <kdom/Helper.h>
   #include <kdom/Shared.h>
   #include <kdom/Namespace.h>
  -//#include <kdom/DocumentType.h>
  -//#include <kdom/events/Event.h>
   #include <kdom/core/domattrs.h>
   #include <kdom/cache/KDOMLoader.h>
   #include <kdom/core/CDFInterface.h>
  @@ -76,6 +74,7 @@
   #include "SVGTSpanElementImpl.h"
   #include "SVGImageElementImpl.h"
   #include "SVGTitleElementImpl.h"
  +#include "SVGCursorElementImpl.h"
   #include "SVGFilterElementImpl.h"
   #include "SVGFEImageElementImpl.h"
   #include "SVGFEBlendElementImpl.h"
  @@ -119,8 +118,10 @@
   SVGDocumentImpl::SVGDocumentImpl(SVGDOMImplementationImpl *i, KDOM::KDOMView *view) : KDOM::DocumentImpl(i, view, ID_LAST_SVGTAG + 1, ATTR_LAST_SVGATTR + 1), KDOM::CachedObjectClient()
   {
       setPaintDevice(svgView()); // Assign our KSVGView as document paint device
  -
  -    m_namespaceMap->names.insert(0, new KDOM::DOMStringImpl(KDOM::NS_SVG.unicode(), KDOM::NS_SVG.length()));
  +    
  +    KDOM::DOMStringImpl *svgNamespace = KDOM::NS_SVG.handle();
  +    svgNamespace->ref();
  +    m_namespaceMap->names.insert(0, svgNamespace);
       m_namespaceMap->count++;
   
       m_canvasView = 0;
  @@ -183,10 +184,8 @@
   SVGElementImpl *SVGDocumentImpl::createSVGElement(KDOM::DOMStringImpl *prefix, KDOM::DOMStringImpl *localName)
   {
       SVGElementImpl *element = 0;
  -    KDOM::DOMString pref(prefix);
  -    if(!prefix || prefix->length() == 0)
  -        pref = KDOM::DOMString();
  -    QString local = KDOM::DOMString(localName).string();
  +
  +    QString local = (localName ? localName->string() : QString::null);
       KDOM::NodeImpl::Id id = implementation()->cdfInterface()->getTagID(local.ascii(), local.length());
       switch(id)
       {
  @@ -430,10 +429,13 @@
               element = new SVGTSpanElementImpl(docPtr(), id, prefix);
               break;
           }
  -        default:
  +        case ID_CURSOR:
           {
  -            return 0;
  +            element = new SVGCursorElementImpl(docPtr(), id, prefix);
  +            break;
           }
  +        default:
  +            element = 0;
       };
   
       return element;
  @@ -441,10 +443,16 @@
   
   KDOM::ElementImpl *SVGDocumentImpl::createElement(KDOM::DOMStringImpl *tagName)
   {
  +    if(tagName)
  +        tagName->ref();
  +
       SVGElementImpl *elem = createSVGElement(0, tagName);
       if(!elem)
           return KDOM::DocumentImpl::createElement(tagName);
   
  +    if(tagName)
  +        tagName->deref();
  +
       return elem;
   }
   
  @@ -455,6 +463,7 @@
           namespaceURIImpl->ref();
       if(qualifiedName)
           qualifiedName->ref();
  +
       KDOM::DOMStringImpl *prefix = 0, *localName = 0;
       KDOM::Helper::SplitPrefixLocalName(qualifiedName, prefix, localName);
   
  @@ -499,10 +508,10 @@
   
   KDOM::EventImpl *SVGDocumentImpl::createEvent(KDOM::DOMStringImpl *eventTypeImpl)
   {
  -    KDOM::DOMString eventType(eventTypeImpl);
  -    if(eventType == "SVGEvents")
  +    QString eventType = (eventTypeImpl ? eventTypeImpl->string() : QString::null);
  +    if(eventType == QString::fromLatin1("SVGEvents"))
           return new SVGEventImpl();
  -    else if(eventType == "SVGZoomEvents")
  +    else if(eventType == QString::fromLatin1("SVGZoomEvents"))
           return new SVGZoomEventImpl();
   
       return DocumentEventImpl::createEvent(eventTypeImpl);
  @@ -520,7 +529,7 @@
           m_cachedScript->deref(this);
           m_cachedScript = 0;
           
  -        SVGScriptElementImpl::executeScript(this, scriptSource.string());
  +        SVGScriptElementImpl::executeScript(this, KDOM::DOMString(scriptSource.string()).handle());
           executeScripts(true);
       }
   }
  @@ -611,7 +620,7 @@
   
   KDOM::DOMStringImpl *SVGDocumentImpl::defaultNS() const
   {
  -    return new KDOM::DOMStringImpl(KDOM::NS_SVG.string());
  +    return KDOM::NS_SVG.handle();
   }
   
   void SVGDocumentImpl::recalcStyleSelector()
  @@ -784,7 +793,7 @@
           else
           {
               // no src attribute - execute from contents of tag
  -            SVGScriptElementImpl::executeScript(this, KDOM::DOMString(script->textContent()));
  +            SVGScriptElementImpl::executeScript(this, script->textContent());
               ++(*m_scriptsIt);
   
               needsStyleSelectorUpdate = true;
  @@ -855,10 +864,10 @@
           if(m_lastTarget && m_lastTarget != current)
           {
               if(m_lastTarget->hasListenerType(KDOM::DOMFOCUSOUT_EVENT))
  -                dispatchUIEvent(m_lastTarget, "DOMFocusOut");
  +                dispatchUIEvent(m_lastTarget, KDOM::DOMString("DOMFocusOut").handle());
   
               if(m_lastTarget->hasListenerType(KDOM::MOUSEOUT_EVENT))
  -                dispatchMouseEvent(m_lastTarget, "mouseout");
  +                dispatchMouseEvent(m_lastTarget, KDOM::DOMString("mouseout").handle());
   
               m_lastTarget = 0;
           }
  @@ -929,23 +938,23 @@
                       if(event->id() == KDOM::MOUSEUP_EVENT)
                       {
                           if(current->hasListenerType(KDOM::CLICK_EVENT))
  -                            dispatchMouseEvent(current, "click");
  +                            dispatchMouseEvent(current, KDOM::DOMString("click").handle());
   
                           if(current->hasListenerType(KDOM::DOMACTIVATE_EVENT))
  -                            dispatchUIEvent(current, "DOMActivate");
  +                            dispatchUIEvent(current, KDOM::DOMString("DOMActivate").handle());
   
                           if(current->hasListenerType(KDOM::DOMFOCUSIN_EVENT))
  -                            dispatchUIEvent(current, "DOMFocusIn");    
  +                            dispatchUIEvent(current, KDOM::DOMString("DOMFocusIn").handle());    
                       }
                       else if(event->id() == KDOM::MOUSEMOVE_EVENT)
                       {
                           if(m_lastTarget && m_lastTarget != current)
                           {
                               if(m_lastTarget->hasListenerType(KDOM::DOMFOCUSOUT_EVENT))
  -                                dispatchUIEvent(m_lastTarget, "DOMFocusOut");
  +                                dispatchUIEvent(m_lastTarget, KDOM::DOMString("DOMFocusOut").handle());
   
                               if(m_lastTarget->hasListenerType(KDOM::MOUSEOUT_EVENT))
  -                                dispatchMouseEvent(m_lastTarget, "mouseout");
  +                                dispatchMouseEvent(m_lastTarget, KDOM::DOMString("mouseout").handle());
   
                               m_lastTarget = 0;
                           }
  @@ -953,7 +962,7 @@
                           if(current->hasListenerType(KDOM::MOUSEOVER_EVENT))
                           {
                               if(m_lastTarget != current)
  -                                dispatchMouseEvent(current, "mouseover");
  +                                dispatchMouseEvent(current, KDOM::DOMString("mouseover").handle());
                           }
                       }
   
  @@ -983,28 +992,36 @@
       return m_timeScheduler;
   }
   
  -void SVGDocumentImpl::dispatchUIEvent(KDOM::EventTargetImpl *target, const KDOM::DOMString &type)
  +void SVGDocumentImpl::dispatchUIEvent(KDOM::EventTargetImpl *target, KDOM::DOMStringImpl *type)
   {
       // Setup kdom 'UIEvent'...
  -    KDOM::UIEventImpl *event = static_cast<KDOM::UIEventImpl *>(createEvent(KDOM::DOMString("UIEvents").handle()));
  +    KDOM::DOMStringImpl *eventType = new KDOM::DOMStringImpl("UIEvents");
  +    eventType->ref();
  +
  +    KDOM::UIEventImpl *event = static_cast<KDOM::UIEventImpl *>(createEvent(eventType));
       event->ref();
   
  -    event->initUIEvent(type.handle(), true, true, 0, 0);
  +    event->initUIEvent(type, true, true, 0, 0);
       target->dispatchEvent(event);
   
       event->deref();
  +    eventType->deref();
   }
   
  -void SVGDocumentImpl::dispatchMouseEvent(KDOM::EventTargetImpl *target, const KDOM::DOMString &type)
  +void SVGDocumentImpl::dispatchMouseEvent(KDOM::EventTargetImpl *target, KDOM::DOMStringImpl *type)
   {
       // Setup kdom 'MouseEvent'...
  -    KDOM::MouseEventImpl *event = static_cast<KDOM::MouseEventImpl *>(createEvent(KDOM::DOMString("MouseEvents").handle()));
  +    KDOM::DOMStringImpl *eventType = new KDOM::DOMStringImpl("MouseEvents");
  +    eventType->ref();
  +
  +    KDOM::MouseEventImpl *event = static_cast<KDOM::MouseEventImpl *>(createEvent(eventType));
       event->ref();
   
  -    event->initEvent(type.handle(), true, true);
  +    event->initEvent(type, true, true);
       target->dispatchEvent(event);
   
       event->deref();
  +    eventType->deref();
   }
   
   // vim:ts=4:noet
  
  
  
  1.7       +2 -2      SVGSupport/ksvg2/svg/SVGDocumentImpl.h
  
  Index: SVGDocumentImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGDocumentImpl.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGDocumentImpl.h	2 Sep 2005 10:03:17 -0000	1.6
  +++ SVGDocumentImpl.h	8 Sep 2005 08:03:35 -0000	1.7
  @@ -101,8 +101,8 @@
           virtual KDOM::CSSStyleSelector *createStyleSelector(const QString &);
   
       private:
  -        void dispatchUIEvent(KDOM::EventTargetImpl *target, const KDOM::DOMString &type);
  -        void dispatchMouseEvent(KDOM::EventTargetImpl *target, const KDOM::DOMString &type);
  +        void dispatchUIEvent(KDOM::EventTargetImpl *target, KDOM::DOMStringImpl *type);
  +        void dispatchMouseEvent(KDOM::EventTargetImpl *target, KDOM::DOMStringImpl *type);
   
           SVGElementImpl *createSVGElement(KDOM::DOMStringImpl *prefix, KDOM::DOMStringImpl *localName);
   
  
  
  
  1.6       +25 -17    SVGSupport/ksvg2/svg/SVGElementImpl.cpp
  
  Index: SVGElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGElementImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGElementImpl.cpp	1 Sep 2005 09:39:15 -0000	1.5
  +++ SVGElementImpl.cpp	8 Sep 2005 08:03:35 -0000	1.6
  @@ -57,11 +57,8 @@
   
   KDOM::DOMStringImpl *SVGElementImpl::getId() const
   {
  -    KDOM::DOMString name("id");
  -    if(hasAttribute(name.handle()))
  -        return getAttribute(name.handle());
  -
  -    return NULL;
  +    KDOM::DOMString id("id");
  +    return tryGetAttribute(id.handle());
   }
   
   void SVGElementImpl::setGetId(KDOM::DOMStringImpl *)
  @@ -71,11 +68,7 @@
   
   KDOM::DOMStringImpl *SVGElementImpl::xmlbase() const
   {
  -    KDOM::DOMString name("xml:base");
  -    if(hasAttribute(name.handle()))
  -        return getAttribute(name.handle());
  -
  -    return NULL;
  +    return tryGetAttribute(KDOM::DOMString("xml:base").handle());
   }
   
   void SVGElementImpl::setXmlbase(KDOM::DOMStringImpl *)
  @@ -112,14 +105,29 @@
       return 0;
   }
   
  +KDOM::DOMStringImpl *SVGElementImpl::tryGetAttribute(KDOM::DOMStringImpl *name, KDOM::DOMStringImpl *defaultVal) const
  +{
  +    if(hasAttribute(name))
  +        return getAttribute(name);
  +
  +    return defaultVal->copy();
  +}
  +
  +KDOM::DOMStringImpl *SVGElementImpl::tryGetAttributeNS(KDOM::DOMStringImpl *namespaceURI, KDOM::DOMStringImpl *localName, KDOM::DOMStringImpl *defaultVal) const
  +{
  +    if(hasAttributeNS(namespaceURI, localName))
  +        return getAttributeNS(namespaceURI, localName);
  +
  +    return defaultVal->copy();
  +}
  +
   void SVGElementImpl::parseAttribute(KDOM::AttributeImpl *attr)
   {
  -    if(!ownerDocument())
  +    const KDOM::DocumentImpl *doc = ownerDocument();
  +    if(!doc)
           return;
  -    //const KDOM::DocumentImpl *doc = ownerDocument();
   
       int id = (attr->id() & NodeImpl_IdLocalMask);
  -    KDOM::DOMString value(attr->value());
       switch(id)
       {
           case ATTR_ONLOAD:
  @@ -173,16 +181,16 @@
       };
   }
   #if 0
  -void SVGElementImpl::addSVGEventListener(KDOM::Ecma *ecmaEngine, const KDOM::DOMString &type, const KDOM::DOMString &value)
  +void SVGElementImpl::addSVGEventListener(KDOM::Ecma *ecmaEngine, KDOM::DOMStringImpl *type, KDOM::DOMStringImpl *value)
   {
       if(!ecmaEngine)
           return;
  -    // FIXME
  -    KDOM::EventListenerImpl *listener = 0;//ecmaEngine->createEventListener(type, value);
  +
  +    KDOM::EventListenerImpl *listener = ecmaEngine->createEventListener(type, value);
       if(listener)
       {
           listener->ref();
  -        addEventListener(type.handle(), listener, false);
  +        addEventListener(type, listener, false);
       }
   }
   #endif
  
  
  
  1.6       +5 -0      SVGSupport/ksvg2/svg/SVGElementImpl.h
  
  Index: SVGElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGElementImpl.h	1 Sep 2005 09:39:15 -0000	1.5
  +++ SVGElementImpl.h	8 Sep 2005 08:03:35 -0000	1.6
  @@ -56,6 +56,11 @@
           SVGSVGElementImpl *ownerSVGElement() const;
           SVGElementImpl *viewportElement() const;
   
  +        // Helper methods that returns the attr value if attr is set, otherwise the default value.
  +        // It throws NO_MODIFICATION_ALLOWED_ERR if the element is read-only.
  +        KDOM::DOMStringImpl *tryGetAttribute(KDOM::DOMStringImpl *name, KDOM::DOMStringImpl *defaultVal = 0) const;
  +        KDOM::DOMStringImpl *tryGetAttributeNS(KDOM::DOMStringImpl *namespaceURI, KDOM::DOMStringImpl *localName, KDOM::DOMStringImpl *defaultVal = 0) const;
  +
           // Internal
           virtual void parseAttribute(KDOM::AttributeImpl *attr);
   
  
  
  
  1.6       +1 -1      SVGSupport/ksvg2/svg/SVGGradientElementImpl.cpp
  
  Index: SVGGradientElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGGradientElementImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGGradientElementImpl.cpp	1 Sep 2005 09:39:15 -0000	1.5
  +++ SVGGradientElementImpl.cpp	8 Sep 2005 08:03:35 -0000	1.6
  @@ -94,7 +94,7 @@
           case ATTR_GRADIENTTRANSFORM:
           {
               SVGTransformListImpl *gradientTransforms = gradientTransform()->baseVal();
  -            SVGTransformableImpl::parseTransformAttribute(gradientTransforms, value);
  +            SVGTransformableImpl::parseTransformAttribute(gradientTransforms, attr->value());
               break;
           }
           case ATTR_SPREADMETHOD:
  
  
  
  1.5       +3 -2      SVGSupport/ksvg2/svg/SVGHelper.cpp
  
  Index: SVGHelper.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGHelper.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGHelper.cpp	1 Sep 2005 07:35:42 -0000	1.4
  +++ SVGHelper.cpp	8 Sep 2005 08:03:35 -0000	1.5
  @@ -40,11 +40,12 @@
       float width = 0, height = 0;
       if(!viewportElement)
           return 0.0;
  -    
  + 
       const SVGSVGElementImpl *svg = dynamic_cast<const SVGSVGElementImpl *>(viewportElement);
       if(svg)
       {
  -        if(svg->hasAttribute(KDOM::DOMString("viewBox").handle()))
  +        KDOM::DOMString viewBox("viewBox");
  +        if(svg->hasAttribute(viewBox.handle()))
           {
               width = svg->viewBox()->baseVal()->width();
               height = svg->viewBox()->baseVal()->height();
  
  
  
  1.6       +8 -3      SVGSupport/ksvg2/svg/SVGImageElementImpl.cpp
  
  Index: SVGImageElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGImageElementImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGImageElementImpl.cpp	1 Sep 2005 09:39:16 -0000	1.5
  +++ SVGImageElementImpl.cpp	8 Sep 2005 08:03:35 -0000	1.6
  @@ -195,7 +195,7 @@
           parser->domConfig()->setParameter(KDOM::ENTITIES.handle(), false);
           parser->domConfig()->setParameter(KDOM::ELEMENT_CONTENT_WHITESPACE.handle(), false);
   
  -        QBuffer *temp = new QBuffer(m_cachedDocument->documentBuffer()->buffer());
  +        QBuffer *temp = new QBuffer(&m_cachedDocument->documentBuffer()->buffer());
           m_svgDoc = static_cast<SVGDocumentImpl *>(parser->syncParse(temp));
           if(m_svgDoc)
           {
  @@ -227,12 +227,17 @@
   #ifndef APPLE_COMPILE_HACK
               KRenderingFillPainter *fillPainter = m_canvasItem->style()->fillPainter();
               if(!fillPainter)
  -
  +                return;
   
               KRenderingPaintServer *fillPaintServer = fillPainter->paintServer();
               KRenderingPaintServerImage *fillPaintServerImage = static_cast<KRenderingPaintServerImage *>(fillPaintServer);
   
  -            KCanvasImageBuffer *imageBuffer = new KCanvasImageBuffer(m_cachedImage->pixmap().convertToImage());
  +            QPixmap pixm(m_cachedImage->pixmap_size());
  +			kdDebug() << "pixm w : " << pixm.size() << endl;
  +			QPainter p(&pixm);
  +			ImagePainter ip(m_cachedImage->image());
  +			ip.paint(0, 0, &p, 0, 0, pixm.width(), pixm.height());
  +            KCanvasImageBuffer *imageBuffer = new KCanvasImageBuffer(pixm);
               fillPaintServerImage->setImage(imageBuffer);
   #endif
   
  
  
  
  1.5       +2 -1      SVGSupport/ksvg2/svg/SVGLengthListImpl.cpp
  
  Index: SVGLengthListImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGLengthListImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGLengthListImpl.cpp	1 Sep 2005 07:35:44 -0000	1.4
  +++ SVGLengthListImpl.cpp	8 Sep 2005 08:03:36 -0000	1.5
  @@ -43,7 +43,8 @@
       for(unsigned int i = 0;i < lengths.count();i++)
       {
           SVGLengthImpl *length = new SVGLengthImpl(context, mode);
  -        length->setValueAsString(KDOM::DOMString(lengths[i]).handle());
  +        KDOM::DOMString str(lengths[i]);
  +        length->setValueAsString(str.handle());
           appendItem(length);
       }
   }
  
  
  
  1.6       +1 -1      SVGSupport/ksvg2/svg/SVGLinearGradientElementImpl.cpp
  
  Index: SVGLinearGradientElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGLinearGradientElementImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGLinearGradientElementImpl.cpp	1 Sep 2005 09:39:16 -0000	1.5
  +++ SVGLinearGradientElementImpl.cpp	8 Sep 2005 08:03:36 -0000	1.6
  @@ -78,7 +78,7 @@
       // Spec : If the attribute is not specified, the effect is as if a value of "100%" were specified.
       if(!m_x2)
       {
  -         lazy_create<SVGAnimatedLengthImpl>(m_x2, this, LM_WIDTH, viewportElement());
  +        lazy_create<SVGAnimatedLengthImpl>(m_x2, this, LM_WIDTH, viewportElement());
           m_x2->baseVal()->setValue(1.0);
           return m_x2;
       }
  
  
  
  1.5       +15 -15    SVGSupport/ksvg2/svg/SVGMatrixImpl.cpp
  
  Index: SVGMatrixImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGMatrixImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGMatrixImpl.cpp	1 Sep 2005 07:35:45 -0000	1.4
  +++ SVGMatrixImpl.cpp	8 Sep 2005 08:03:36 -0000	1.5
  @@ -33,7 +33,7 @@
   {
   }
   
  -SVGMatrixImpl::SVGMatrixImpl(QWMatrix mat) : KDOM::Shared()
  +SVGMatrixImpl::SVGMatrixImpl(QMatrix mat) : KDOM::Shared()
   {
       m_mat = mat;
   }
  @@ -114,7 +114,7 @@
   
   SVGMatrixImpl *SVGMatrixImpl::postMultiply(const SVGMatrixImpl *secondMatrix)
   {
  -    QWMatrix temp(secondMatrix->a(), secondMatrix->b(), secondMatrix->c(), secondMatrix->d(), secondMatrix->e(), secondMatrix->f());
  +    QMatrix temp(secondMatrix->a(), secondMatrix->b(), secondMatrix->c(), secondMatrix->d(), secondMatrix->e(), secondMatrix->f());
       m_mat *= temp;
       return this;
   }
  @@ -128,7 +128,7 @@
   SVGMatrixImpl *SVGMatrixImpl::postTranslate(double x,  double y)
   {
       // Could optimise these.
  -    QWMatrix temp;
  +    QMatrix temp;
       temp.translate(x, y);
       m_mat *= temp;
       return this;
  @@ -136,7 +136,7 @@
   
   SVGMatrixImpl *SVGMatrixImpl::postScale(double scaleFactor)
   {
  -    QWMatrix temp;
  +    QMatrix temp;
       temp.scale(scaleFactor, scaleFactor);
       m_mat *= temp;
       return this;
  @@ -144,7 +144,7 @@
   
   SVGMatrixImpl *SVGMatrixImpl::postScaleNonUniform(double scaleFactorX, double scaleFactorY)
   {
  -    QWMatrix temp;
  +    QMatrix temp;
       temp.scale(scaleFactorX, scaleFactorY);
       m_mat *= temp;
       return this;
  @@ -152,7 +152,7 @@
   
   SVGMatrixImpl *SVGMatrixImpl::postRotate(double angle)
   {
  -    QWMatrix temp;
  +    QMatrix temp;
       temp.rotate(angle);
       m_mat *= temp;
       return this;
  @@ -160,7 +160,7 @@
   
   SVGMatrixImpl *SVGMatrixImpl::postRotateFromVector(double x, double y)
   {
  -    QWMatrix temp;
  +    QMatrix temp;
       temp.rotate(SVGAngleImpl::todeg(atan2(y, x)));
       m_mat *= temp;
       return this;
  @@ -168,21 +168,21 @@
   
   SVGMatrixImpl *SVGMatrixImpl::postFlipX()
   {
  -    QWMatrix temp(-1.0F, 0.0F, 0.0F, 1.0F, 0.0F, 0.0F);
  +    QMatrix temp(-1.0F, 0.0F, 0.0F, 1.0F, 0.0F, 0.0F);
       m_mat *= temp;
       return this;
   }
   
   SVGMatrixImpl *SVGMatrixImpl::postFlipY()
   {
  -    QWMatrix temp(1.0F, 0.0F, 0.0F, -1.0F, 0.0F, 0.0F);
  +    QMatrix temp(1.0F, 0.0F, 0.0F, -1.0F, 0.0F, 0.0F);
       m_mat *= temp;
       return this;
   }
   
   SVGMatrixImpl *SVGMatrixImpl::postSkewX(double angle)
   {
  -    QWMatrix temp;
  +    QMatrix temp;
       temp.shear(tan(SVGAngleImpl::torad(angle)), 0.0F);
       m_mat *= temp;
       return this;
  @@ -190,7 +190,7 @@
   
   SVGMatrixImpl *SVGMatrixImpl::postSkewY(double angle)
   {
  -    QWMatrix temp;
  +    QMatrix temp;
       temp.shear(0.0F, tan(SVGAngleImpl::torad(angle)));
       m_mat *= temp;
       return this;
  @@ -198,7 +198,7 @@
   
   SVGMatrixImpl *SVGMatrixImpl::multiply(const SVGMatrixImpl *secondMatrix)
   {
  -    QWMatrix temp(secondMatrix->a(), secondMatrix->b(), secondMatrix->c(), secondMatrix->d(), secondMatrix->e(), secondMatrix->f());
  +    QMatrix temp(secondMatrix->a(), secondMatrix->b(), secondMatrix->c(), secondMatrix->d(), secondMatrix->e(), secondMatrix->f());
       temp *= m_mat;
       m_mat = temp;
       return this;
  @@ -258,17 +258,17 @@
       return this;
   }
   
  -void SVGMatrixImpl::setMatrix(QWMatrix mat)
  +void SVGMatrixImpl::setMatrix(QMatrix mat)
   {
       m_mat = mat;
   }
   
  -QWMatrix &SVGMatrixImpl::qmatrix()
  +QMatrix &SVGMatrixImpl::qmatrix()
   {
       return m_mat;
   }
   
  -const QWMatrix &SVGMatrixImpl::qmatrix() const
  +const QMatrix &SVGMatrixImpl::qmatrix() const
   {
       return m_mat;
   }
  
  
  
  1.4       +6 -6      SVGSupport/ksvg2/svg/SVGMatrixImpl.h
  
  Index: SVGMatrixImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGMatrixImpl.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SVGMatrixImpl.h	1 Sep 2005 07:35:45 -0000	1.3
  +++ SVGMatrixImpl.h	8 Sep 2005 08:03:36 -0000	1.4
  @@ -23,7 +23,7 @@
   #ifndef KSVG_SVGMatrixImpl_H
   #define KSVG_SVGMatrixImpl_H
   
  -#include <qwmatrix.h>
  +#include <qmatrix.h>
   
   #include <kdom/Shared.h>
   
  @@ -34,7 +34,7 @@
       public:
           SVGMatrixImpl();
           SVGMatrixImpl(double a, double b, double c, double d, double e, double f);
  -        SVGMatrixImpl(QWMatrix mat);
  +        SVGMatrixImpl(QMatrix mat);
           virtual ~SVGMatrixImpl();
   
           void setA(double a);
  @@ -86,16 +86,16 @@
           void reset();
   
           // KSVG helper method
  -        QWMatrix &qmatrix();
  -        const QWMatrix &qmatrix() const;
  +        QMatrix &qmatrix();
  +        const QMatrix &qmatrix() const;
   
           // Determine the scaling component of the matrix and factor it out. After
           // this operation, the matrix has x and y scale of one.
           void removeScale(double *xScale, double *yScale);
   
       private:
  -        void setMatrix(QWMatrix mat);
  -        QWMatrix m_mat;
  +        void setMatrix(QMatrix mat);
  +        QMatrix m_mat;
       };
   };
   
  
  
  
  1.6       +6 -1      SVGSupport/ksvg2/svg/SVGPatternElementImpl.cpp
  
  Index: SVGPatternElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGPatternElementImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGPatternElementImpl.cpp	1 Sep 2005 09:39:16 -0000	1.5
  +++ SVGPatternElementImpl.cpp	8 Sep 2005 08:03:36 -0000	1.6
  @@ -25,6 +25,8 @@
   #include <kcanvas/KCanvas.h>
   #include <kcanvas/KCanvasMatrix.h>
   #include <kcanvas/KCanvasRegistry.h>
  +#include <kcanvas/KCanvasContainer.h>
  +#include <kcanvas/KCanvasCreator.h>
   #include <kcanvas/KCanvasImage.h>
   #include <kcanvas/device/KRenderingDevice.h>
   #include <kcanvas/device/KRenderingPaintServerPattern.h>
  @@ -75,6 +77,8 @@
           m_patternContentUnits->deref();
       if(m_patternTransform)
           m_patternTransform->deref();
  +    if (m_canvasItem)
  +        delete m_canvasItem;
   }
   
   SVGAnimatedEnumerationImpl *SVGPatternElementImpl::patternUnits() const
  @@ -149,7 +153,7 @@
           case ATTR_PATTERNTRANSFORM:
           {
               SVGTransformListImpl *patternTransforms = patternTransform()->baseVal();
  -            SVGTransformableImpl::parseTransformAttribute(patternTransforms, value);
  +            SVGTransformableImpl::parseTransformAttribute(patternTransforms, attr->value());
               break;
           }
           case ATTR_X:
  @@ -395,6 +399,7 @@
       pserver->setListener(const_cast<SVGPatternElementImpl *>(this));
   
       canvas->registry()->addPaintServerById(KDOM::DOMString(getId()).string(), pserver);
  +
       return 0;
   }
   
  
  
  
  1.7       +15 -19    SVGSupport/ksvg2/svg/SVGSVGElementImpl.cpp
  
  Index: SVGSVGElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGSVGElementImpl.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGSVGElementImpl.cpp	2 Sep 2005 10:03:18 -0000	1.6
  +++ SVGSVGElementImpl.cpp	8 Sep 2005 08:03:36 -0000	1.7
  @@ -20,8 +20,8 @@
       Boston, MA 02111-1307, USA.
   */
   
  -#include <kdom/DOMString.h>
   #include <kdom/core/AttrImpl.h>
  +#include <kdom/core/DOMStringImpl.h>
   #include <kdom/core/NamedAttrMapImpl.h>
   
   #include <kcanvas/KCanvas.h>
  @@ -56,6 +56,7 @@
   #include "KCanvasRenderingStyle.h"
   
   #include <q3paintdevicemetrics.h>
  +#include <qtextstream.h>
   
   using namespace KSVG;
   
  @@ -97,8 +98,9 @@
   {
       if(!m_width)
       {
  +        KDOM::DOMString temp("100%");
           lazy_create<SVGAnimatedLengthImpl>(m_width, static_cast<const SVGStyledElementImpl *>(0), LM_WIDTH, this);
  -        m_width->baseVal()->setValueAsString(KDOM::DOMString("100%").handle());
  +        m_width->baseVal()->setValueAsString(temp.handle());
       }
   
       return m_width;
  @@ -108,8 +110,9 @@
   {
       if(!m_height)
       {
  +        KDOM::DOMString temp("100%");
           lazy_create<SVGAnimatedLengthImpl>(m_height, static_cast<const SVGStyledElementImpl *>(0), LM_HEIGHT, this);
  -        m_height->baseVal()->setValueAsString(KDOM::DOMString("100%").handle());
  +        m_height->baseVal()->setValueAsString(temp.handle());
       }
   
       return m_height;
  @@ -117,11 +120,7 @@
   
   KDOM::DOMStringImpl *SVGSVGElementImpl::contentScriptType() const
   {
  -    KDOM::DOMString name("contentScriptType");
  -    if(hasAttribute(name.handle()))
  -        return getAttribute(name.handle());
  -
  -    return new KDOM::DOMStringImpl("text/ecmascript");
  +    return tryGetAttribute(KDOM::DOMString("contentScriptType").handle(), KDOM::DOMString("text/ecmascript").handle());
   }
   
   void SVGSVGElementImpl::setContentScriptType(KDOM::DOMStringImpl *type)
  @@ -132,17 +131,12 @@
   
   KDOM::DOMStringImpl *SVGSVGElementImpl::contentStyleType() const
   {
  -    KDOM::DOMString name("contentStyleType");
  -    if(hasAttribute(name.handle()))
  -        return getAttribute(name.handle());
  -
  -    return new KDOM::DOMStringImpl("text/css");
  +    return tryGetAttribute(KDOM::DOMString("contentStyleType").handle(), KDOM::DOMString("text/css").handle());
   }
   
   void SVGSVGElementImpl::setContentStyleType(KDOM::DOMStringImpl *type)
   {
  -    KDOM::DOMString name("contentStyleType");    
  -    setAttribute(name.handle(), type);
  +    setAttribute(KDOM::DOMString("contentStyleType").handle(), type);
   }
   
   SVGRectImpl *SVGSVGElementImpl::viewport() const
  @@ -243,14 +237,16 @@
       return createSVGPoint(canvasView()->pan());
   }
   
  -KDOM::EventImpl *SVGSVGElementImpl::createEvent(const KDOM::DOMString &eventType)
  +KDOM::EventImpl *SVGSVGElementImpl::createEvent(KDOM::DOMStringImpl *eventTypeImpl)
   {
  -    if(eventType == "SVGEvents")
  +    QString eventType = (eventTypeImpl ? eventTypeImpl->string() : QString::null);
  +
  +    if(eventType == QString::fromLatin1("SVGEvents"))
           return new SVGEventImpl();
  -    else if(eventType == "SVGZoomEvents")
  +    else if(eventType == QString::fromLatin1("SVGZoomEvents"))
           return new SVGZoomEventImpl();
   
  -    return DocumentEventImpl::createEvent(eventType.handle());
  +    return DocumentEventImpl::createEvent(eventTypeImpl);
   }
   
   void SVGSVGElementImpl::parseAttribute(KDOM::AttributeImpl *attr)
  
  
  
  1.6       +1 -1      SVGSupport/ksvg2/svg/SVGSVGElementImpl.h
  
  Index: SVGSVGElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGSVGElementImpl.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGSVGElementImpl.h	1 Sep 2005 09:39:16 -0000	1.5
  +++ SVGSVGElementImpl.h	8 Sep 2005 08:03:36 -0000	1.6
  @@ -122,7 +122,7 @@
           static SVGTransformImpl *createSVGTransformFromMatrix(SVGMatrixImpl *matrix);
   
           // 'DocumentEvent' functions
  -        virtual KDOM::EventImpl *createEvent(const KDOM::DOMString &eventType);
  +        virtual KDOM::EventImpl *createEvent(KDOM::DOMStringImpl *eventType);
   
           virtual void parseAttribute(KDOM::AttributeImpl *);
   
  
  
  
  1.8       +12 -7     SVGSupport/ksvg2/svg/SVGScriptElementImpl.cpp
  
  Index: SVGScriptElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGScriptElementImpl.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGScriptElementImpl.cpp	1 Sep 2005 09:39:16 -0000	1.7
  +++ SVGScriptElementImpl.cpp	8 Sep 2005 08:03:37 -0000	1.8
  @@ -23,6 +23,7 @@
   #include <kdom/DOMString.h>
   //#include <kdom/ecma/Ecma.h>
   #include <kdom/core/AttrImpl.h>
  +#include <kdom/core/DOMStringImpl.h>
   
   #include "ksvg.h"
   #include "svgattrs.h"
  @@ -61,8 +62,7 @@
       {
           case ATTR_TYPE:
           {
  -            KDOM::DOMStringImpl *type = (attr->value() ? attr->value()->copy() : 0);
  -            setType(type);
  +            setType(attr->value());
               break;
           }
           default:
  @@ -75,9 +75,9 @@
       };
   }
   
  -void SVGScriptElementImpl::executeScript(KDOM::DocumentImpl *document, const KDOM::DOMString &jsCode)
  +void SVGScriptElementImpl::executeScript(KDOM::DocumentImpl *document, KDOM::DOMStringImpl *jsCode)
   {
  -    if(!document)
  +    if(!document || !jsCode)
           return;
   #if 0
       KDOM::Ecma *ecmaEngine = document->ecmaEngine();
  @@ -107,10 +107,10 @@
           SVGDocumentImpl *svgDocument = static_cast<SVGDocumentImpl *>(document);
           if(svgDocument && document->hasListenerType(KDOM::ERROR_EVENT))
           {
  -            SVGEventImpl *event = static_cast<SVGEventImpl *>(svgDocument->createEvent("SVGEvents"));
  +            SVGEventImpl *event = static_cast<SVGEventImpl *>(svgDocument->createEvent(KDOM::DOMString("SVGEvents").handle()));
               event->ref();
   
  -            event->initEvent("error", false, false);
  +            event->initEvent(KDOM::DOMString("error").handle(), false, false);
               svgDocument->dispatchRecursiveEvent(event, svgDocument->lastChild());
   
               event->deref();
  @@ -126,7 +126,12 @@
   #ifdef APPLE_CHANGES
       KJS::Interpreter::unlock();
   #endif
  -
  +#else
  +    if (jsCode) {
  +        // Hack to close memory leak due to #if 0
  +        jsCode->ref();
  +        jsCode->deref();
  +    }
   #endif
   }
   
  
  
  
  1.5       +1 -1      SVGSupport/ksvg2/svg/SVGScriptElementImpl.h
  
  Index: SVGScriptElementImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGScriptElementImpl.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGScriptElementImpl.h	1 Sep 2005 07:35:51 -0000	1.4
  +++ SVGScriptElementImpl.h	8 Sep 2005 08:03:37 -0000	1.5
  @@ -44,7 +44,7 @@
           // Internal
           virtual void parseAttribute(KDOM::AttributeImpl *attr);
   
  -        static void executeScript(KDOM::DocumentImpl *document, const KDOM::DOMString &jsCode);
  +        static void executeScript(KDOM::DocumentImpl *document, KDOM::DOMStringImpl *jsCode);
   
       private:
           KDOM::DOMStringImpl *m_type;
  
  
  
  1.5       +4 -3      SVGSupport/ksvg2/svg/SVGSetElementImpl.cpp
  
  Index: SVGSetElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGSetElementImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGSetElementImpl.cpp	1 Sep 2005 07:35:51 -0000	1.4
  +++ SVGSetElementImpl.cpp	8 Sep 2005 08:03:37 -0000	1.5
  @@ -56,8 +56,9 @@
       // Commit change now...
       if(m_savedTo.isEmpty())
       {
  -        m_savedTo = targetAttribute().string();
  -        setTargetAttribute(m_to);
  +        KDOM::DOMStringImpl *attr = targetAttribute();
  +        m_savedTo = (attr ? attr->string() : QString::null);
  +        setTargetAttribute(KDOM::DOMString(m_to).handle());
       }
   
       // End condition.
  @@ -71,7 +72,7 @@
           }
   
           if(!isFrozen())
  -            setTargetAttribute(m_savedTo);
  +            setTargetAttribute(KDOM::DOMString(m_savedTo).handle());
   
           m_savedTo = QString();
       }
  
  
  
  1.6       +10 -25    SVGSupport/ksvg2/svg/SVGStyleElementImpl.cpp
  
  Index: SVGStyleElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGStyleElementImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGStyleElementImpl.cpp	1 Sep 2005 09:39:17 -0000	1.5
  +++ SVGStyleElementImpl.cpp	8 Sep 2005 08:03:37 -0000	1.6
  @@ -46,11 +46,7 @@
   
   KDOM::DOMStringImpl *SVGStyleElementImpl::xmlspace() const
   {
  -    KDOM::DOMString name("xml:space");
  -    if(hasAttribute(name.handle()))
  -        return getAttribute(name.handle());
  -
  -    return NULL;
  +    return tryGetAttribute(KDOM::DOMString("xml:space").handle());
   }
   
   void SVGStyleElementImpl::setXmlspace(KDOM::DOMStringImpl *)
  @@ -60,11 +56,7 @@
   
   KDOM::DOMStringImpl *SVGStyleElementImpl::type() const
   {
  -    KDOM::DOMString name("type");
  -    if(hasAttribute(name.handle()))
  -        return getAttribute(name.handle());
  -
  -    return new KDOM::DOMStringImpl("text/css");
  +    return tryGetAttribute(KDOM::DOMString("type").handle(), KDOM::DOMString("text/css").handle());
   }
   
   void SVGStyleElementImpl::setType(KDOM::DOMStringImpl *)
  @@ -74,11 +66,7 @@
   
   KDOM::DOMStringImpl *SVGStyleElementImpl::media() const
   {
  -    KDOM::DOMString name("media");
  -    if(hasAttribute(name.handle()))
  -        return getAttribute(name.handle());
  -
  -    return new KDOM::DOMStringImpl("all");
  +    return tryGetAttribute(KDOM::DOMString("media").handle(), KDOM::DOMString("all").handle());
   }
   
   void SVGStyleElementImpl::setMedia(KDOM::DOMStringImpl *)
  @@ -88,11 +76,7 @@
   
   KDOM::DOMStringImpl *SVGStyleElementImpl::title() const
   {
  -    KDOM::DOMString name("title");
  -    if(hasAttribute(name.handle()))
  -        return getAttribute(name.handle());
  -
  -    return NULL;
  +    return tryGetAttribute(KDOM::DOMString("title").handle());
   }
   
   void SVGStyleElementImpl::setTitle(KDOM::DOMStringImpl *)
  @@ -118,21 +102,22 @@
       }
   
       m_loading = false;
  -    QString _media = KDOM::DOMString(media()).string();
  +    KDOM::DOMString mediaDomString(media());
  +    QString _media = mediaDomString.string();
       if((KDOM::DOMString(type()).isEmpty() || KDOM::DOMString(type()) == "text/css") && (_media.isNull() ||
           _media.contains(QString::fromLatin1("screen")) ||
           _media.contains(QString::fromLatin1("all")) |
           _media.contains(QString::fromLatin1("print"))))
       {
           ownerDocument()->addPendingSheet();
  -        
  +
           m_loading = true;
  -        
  + 
           m_sheet = new SVGCSSStyleSheetImpl(this);
           m_sheet->ref();
           m_sheet->parseString(text.handle(), false);//!getDocument()->inCompatMode());
  -        
  -        KDOM::MediaListImpl *media = new KDOM::MediaListImpl(m_sheet, KDOM::DOMString(_media).handle());
  +
  +        KDOM::MediaListImpl *media = new KDOM::MediaListImpl(m_sheet, mediaDomString.handle());
           m_sheet->setMedia(media);
           m_loading = false;
       }
  
  
  
  1.6       +9 -1      SVGSupport/ksvg2/svg/SVGStyledElementImpl.cpp
  
  Index: SVGStyledElementImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGStyledElementImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGStyledElementImpl.cpp	1 Sep 2005 09:39:17 -0000	1.5
  +++ SVGStyledElementImpl.cpp	8 Sep 2005 08:03:37 -0000	1.6
  @@ -203,11 +203,13 @@
       kdDebug(26002) << "[SVGStyledElementImpl::attach] About to attach canvas item for element " << KDOM::DOMString(localName()) << endl;
   
       SVGDocumentImpl *doc = static_cast<SVGDocumentImpl *>(ownerDocument());
  -    KCanvas *canvas = (doc ? doc->canvas() : 0);
  +    KCanvas *canvas = (doc ? doc->canvas() : 0);    
       if(canvas && implementsCanvasItem())
       {
           SVGRenderStyle *svgStyle = static_cast<SVGRenderStyle *>(renderStyle());
           KCanvasRenderingStyle *renderingStyle = new KCanvasRenderingStyle(canvas, svgStyle);
  +        if (m_canvasItem)
  +            fprintf(stderr, "DOUBLE ATTACH: <%s> %p\n", KDOM::DOMString(nodeName()).string().ascii(), this);
   
           m_canvasItem = createCanvasItem(canvas, renderingStyle);
           if(m_canvasItem)
  @@ -226,6 +228,12 @@
               SVGStyledElementImpl *parent = dynamic_cast<SVGStyledElementImpl *>(parentNode());
               if(parent && parent->canvasItem() && parent->allowAttachChildren(this))
                   parent->canvasItem()->appendItem(m_canvasItem);
  +            else if (parent) {
  +                // FIXME: This exists until we can find a better way to create the root node. -- ecs 8/7/05
  +                fprintf(stderr, "FAILED CANVAS INSERTION: <%s>, leaking %p\n", KDOM::DOMString(nodeName()).string().ascii(), this);
  +                //delete m_canvasItem; // FIXME leaking items here, until we find a fix for patterns.
  +                //m_canvasItem = NULL;
  +            }
   
   #ifndef APPLE_COMPILE_HACK
               KSVGSettings settings;
  
  
  
  1.6       +8 -6      SVGSupport/ksvg2/svg/SVGTransformableImpl.cpp
  
  Index: SVGTransformableImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGTransformableImpl.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGTransformableImpl.cpp	1 Sep 2005 09:39:17 -0000	1.5
  +++ SVGTransformableImpl.cpp	8 Sep 2005 08:03:37 -0000	1.6
  @@ -109,9 +109,9 @@
   
       if(styled && transform && transform->localMatrix())
       {
  -        QWMatrix useMatrix = transform->localMatrix()->qmatrix();
  +        QMatrix useMatrix = transform->localMatrix()->qmatrix();
       
  -        KDOM::ElementImpl *parentElement = dynamic_cast<KDOM::ElementImpl *>(node->parentNode());
  +        KDOM::NodeImpl *parentElement = node->parentNode();
           if(parentElement && parentElement->id() == ID_G)
           {
               SVGMatrixImpl *ctm = transform->getCTM();
  @@ -133,13 +133,12 @@
   bool SVGTransformableImpl::parseAttribute(KDOM::AttributeImpl *attr)
   {
       int id = (attr->id() & NodeImpl_IdLocalMask);
  -    KDOM::DOMString value(attr->value());
       if(id == ATTR_TRANSFORM)
       {
           SVGTransformListImpl *localTransforms = transform()->baseVal();
           
           localTransforms->clear();
  -        SVGTransformableImpl::parseTransformAttribute(localTransforms, value);
  +        SVGTransformableImpl::parseTransformAttribute(localTransforms, attr->value());
   
           // Update cached local matrix
           updateLocalTransform(localTransforms);
  @@ -155,10 +154,13 @@
       return false;
   }
   
  -void SVGTransformableImpl::parseTransformAttribute(SVGTransformListImpl *list, const KDOM::DOMString &transform)
  +void SVGTransformableImpl::parseTransformAttribute(SVGTransformListImpl *list, KDOM::DOMStringImpl *transform)
   {
  +    if(!transform)
  +        return;
  +
       // Split string for handling 1 transform statement at a time
  -    QStringList subtransforms = QStringList::split(')', transform.string());
  +    QStringList subtransforms = QStringList::split(')', KDOM::DOMString(transform).string());
       QStringList::ConstIterator it = subtransforms.begin();
       QStringList::ConstIterator end = subtransforms.end();
       for(; it != end; ++it)
  
  
  
  1.5       +4 -4      SVGSupport/ksvg2/svg/SVGTransformableImpl.h
  
  Index: SVGTransformableImpl.h
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGTransformableImpl.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGTransformableImpl.h	1 Sep 2005 07:35:55 -0000	1.4
  +++ SVGTransformableImpl.h	8 Sep 2005 08:03:37 -0000	1.5
  @@ -25,15 +25,15 @@
   
   #include "SVGLocatableImpl.h"
   
  +class QMatrix;
  +
   namespace KDOM
   {
       class NodeImpl;
  -    class DOMString;
  +    class DOMStringImpl;
       class AttributeImpl;
   };
   
  -class QWMatrix;
  -
   namespace KSVG
   {
       class SVGMatrixImpl;
  @@ -56,7 +56,7 @@
           // Special parseAttribute function, returning a bool,
           // whether it could handle the passed attribute or not.
           bool parseAttribute(KDOM::AttributeImpl *attr);
  -        static void parseTransformAttribute(SVGTransformListImpl *list, const KDOM::DOMString &transform);
  +        static void parseTransformAttribute(SVGTransformListImpl *list, KDOM::DOMStringImpl *transform);
   
           void updateSubtreeMatrices(KDOM::NodeImpl *node);
           void updateLocalTransform(SVGTransformListImpl *localTransforms);
  
  
  
  1.1                  SVGSupport/ksvg2/svg/SVGCursorElementImpl.cpp
  
  Index: SVGCursorElementImpl.cpp
  ===================================================================
  /*
      Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox at kde.org>
                    2004, 2005 Rob Buis <buis at kde.org>
  
      This file is part of the KDE project
  
      This library is free software; you can redistribute it and/or
      modify it under the terms of the GNU Library General Public
      License as published by the Free Software Foundation; either
      version 2 of the License, or (at your option) any later version.
  
      This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Library General Public License for more details.
  
      You should have received a copy of the GNU Library General Public License
      along with this library; see the file COPYING.LIB.  If not, write to
      the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
      Boston, MA 02111-1307, USA.
  */
  
  #include <kdom/core/AttrImpl.h>
  #include <kdebug.h>
  
  #include "svgattrs.h"
  #include "SVGHelper.h"
  #include "Namespace.h"
  #include "SVGDocumentImpl.h"
  #include "SVGCursorElementImpl.h"
  #include "SVGAnimatedLengthImpl.h"
  #include "SVGAnimatedStringImpl.h"
  
  #ifndef APPLE_CHANGES
  #include "imload/imagepainter.h"
  #endif
  
  using namespace KSVG;
  #ifndef APPLE_CHANGES
  using namespace khtmlImLoad;
  #endif
  
  SVGCursorElementImpl::SVGCursorElementImpl(KDOM::DocumentPtr *doc, KDOM::NodeImpl::Id id, KDOM::DOMStringImpl *prefix)
  : SVGElementImpl(doc, id, prefix), SVGTestsImpl(), SVGExternalResourcesRequiredImpl(), SVGURIReferenceImpl(), KDOM::CachedObjectClient()
  {
      m_x = m_y = 0;
      m_cachedImage = 0;
  }
  
  SVGCursorElementImpl::~SVGCursorElementImpl()
  {
      if(m_x)
          m_x->deref();
      if(m_y)
          m_y->deref();
  }
  
  SVGAnimatedLengthImpl *SVGCursorElementImpl::x() const
  {
      return lazy_create<SVGAnimatedLengthImpl>(m_x, static_cast<const SVGStyledElementImpl *>(0) /* correct? */, LM_WIDTH, viewportElement());
  }
  
  SVGAnimatedLengthImpl *SVGCursorElementImpl::y() const
  {
      return lazy_create<SVGAnimatedLengthImpl>(m_y, static_cast<const SVGStyledElementImpl *>(0) /* correct? */, LM_HEIGHT, viewportElement());
  }
  
  void SVGCursorElementImpl::parseAttribute(KDOM::AttributeImpl *attr)
  {
      int id = (attr->id() & NodeImpl_IdLocalMask);
      KDOM::DOMStringImpl *value = attr->value();
      switch(id)
      {
          case ATTR_X:
          {
              x()->baseVal()->setValueAsString(value);
              break;
          }
          case ATTR_Y:
          {
              y()->baseVal()->setValueAsString(value);
              break;
          }
          default:
          {
              if(SVGTestsImpl::parseAttribute(attr)) return;
              if(SVGExternalResourcesRequiredImpl::parseAttribute(attr)) return;
              if(SVGURIReferenceImpl::parseAttribute(attr))
              {
                  QString fname = KDOM::DOMString(href()->baseVal()).string();
                  KURL fullUrl(ownerDocument()->documentKURI(), fname);
                  //kdDebug() << "Loading : " << fullUrl << endl;
                  m_cachedImage = ownerDocument()->docLoader()->requestImage(fullUrl);
  
                  if(m_cachedImage)
                      m_cachedImage->ref(this);
                  return;
              }
  
              SVGElementImpl::parseAttribute(attr);
          }
      };
  }
  
  void SVGCursorElementImpl::notifyFinished(KDOM::CachedObject *finishedObj)
  {
      if(finishedObj == m_cachedImage)
      {
  #ifndef APPLE_COMPILE_HACK
          QPixmap pixm(m_cachedImage->pixmap_size());
          QPainter p(&pixm);
          ImagePainter ip(m_cachedImage->image());
          ip.paint(0, 0, &p, 0, 0, m_cachedImage->pixmap_size().width(), m_cachedImage->pixmap_size().height());
          m_image = pixm;
          kdDebug() << "pixm w : " << m_image.size() << endl;
  #endif // APPLE_COMPILE_HACK
  
          m_cachedImage->deref(this);
          m_cachedImage = 0;
      }
  }
  
  // vim:ts=4:noet
  
  
  
  1.1                  SVGSupport/ksvg2/svg/SVGCursorElementImpl.h
  
  Index: SVGCursorElementImpl.h
  ===================================================================
  /*
      Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox at kde.org>
                    2004, 2005 Rob Buis <buis at kde.org>
  
      This file is part of the KDE project
  
      This library is free software; you can redistribute it and/or
      modify it under the terms of the GNU Library General Public
      License as published by the Free Software Foundation; either
      version 2 of the License, or (at your option) any later version.
  
      This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Library General Public License for more details.
  
      You should have received a copy of the GNU Library General Public License
      along with this library; see the file COPYING.LIB.  If not, write to
      the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
      Boston, MA 02111-1307, USA.
  */
  
  #ifndef KSVG_SVGCursorElementImpl_H
  #define KSVG_SVGCursorElementImpl_H
  
  #include <qpixmap.h>
  
  #include "SVGElementImpl.h"
  #include "SVGTestsImpl.h"
  #include "SVGURIReferenceImpl.h"
  #include "SVGExternalResourcesRequiredImpl.h"
  #include <kdom/cache/KDOMCachedImage.h>
  #include <kdom/cache/KDOMCachedObjectClient.h>
  
  namespace KSVG
  {
      class SVGAnimatedLengthImpl;
  
      class SVGCursorElementImpl : public SVGElementImpl,
                                   public SVGTestsImpl,
                                   public SVGExternalResourcesRequiredImpl,
                                   public SVGURIReferenceImpl,
                                   public KDOM::CachedObjectClient
      {
      public:
          SVGCursorElementImpl(KDOM::DocumentPtr *doc, KDOM::NodeImpl::Id id,  KDOM::DOMStringImpl *prefix);
          virtual ~SVGCursorElementImpl();
  
          // 'SVGCursorElement' functions
          SVGAnimatedLengthImpl *x() const;
          SVGAnimatedLengthImpl *y() const;
  
          virtual void parseAttribute(KDOM::AttributeImpl *attr);
  
          virtual void notifyFinished(KDOM::CachedObject *finishedObj);
  
          const QPixmap &pixmap() const { return m_image; }
  
      private:
          mutable SVGAnimatedLengthImpl *m_x;
          mutable SVGAnimatedLengthImpl *m_y;
          KDOM::CachedImage *m_cachedImage;
          QPixmap m_image;
      };
  };
  
  #endif
  
  // vim:ts=4:noet
  
  
  
  1.34      +5 -0      WebCore/kwq/KWQNamespace.h
  
  Index: KWQNamespace.h
  ===================================================================
  RCS file: /cvs/root/WebCore/kwq/KWQNamespace.h,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- KWQNamespace.h	18 Nov 2003 01:52:35 -0000	1.33
  +++ KWQNamespace.h	8 Sep 2005 08:03:42 -0000	1.34
  @@ -63,6 +63,11 @@
   	WordBreak	= 0x0400,
       };
   
  +    enum LayoutDirection {
  +        LeftToRight     = 0,
  +        RightToLeft     = 1
  +    };
  +
       enum Orientation {
           Horizontal,
           Vertical
  
  
  
  1.2       +2 -0      WebCore/kwq/KWQWMatrix.h
  
  Index: KWQWMatrix.h
  ===================================================================
  RCS file: /cvs/root/WebCore/kwq/KWQWMatrix.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- KWQWMatrix.h	5 Jul 2005 07:57:46 -0000	1.1
  +++ KWQWMatrix.h	8 Sep 2005 08:03:42 -0000	1.2
  @@ -66,4 +66,6 @@
       CGAffineTransform m_transform;
   };
   
  +#define QMatrix QWMatrix
  +
   #endif
  
  
  



More information about the webkit-changes mailing list