[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdenonbeta
From: Rob Buis <rwlbuis () xs4all ! nl>
Date: 2005-11-26 17:38:51
Message-ID: 1133026731.701930.14507.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 483485 by buis:
More fixes, now dom tests show comparable situation as before exceptioncode patch. \
Still a few cleanups and crash fixes to do though...
M +6 -7 kdom/core/DOMImplementationImpl.cpp
M +3 -2 kdom/core/DOMImplementationImpl.h
M +6 -1 kdom/parser/KDOMDocumentBuilder.cpp
M +4 -1 ksvg2/misc/KSVGDocumentBuilder.cpp
M +10 -6 ksvg2/svg/SVGDOMImplementationImpl.cpp
M +1 -1 ksvg2/svg/SVGDOMImplementationImpl.h
--- trunk/kdenonbeta/kdom/core/DOMImplementationImpl.cpp #483484:483485
@@ -149,7 +149,6 @@
DocumentImpl *DOMImplementationImpl::createDocument(DOMStringImpl *namespaceURI,
DOMStringImpl *qualifiedName,
DocumentTypeImpl *docType,
-// KDOMView *,
int &exceptioncode) const
{
if(namespaceURI)
@@ -161,7 +160,7 @@
Helper::CheckQualifiedName(qualifiedName, namespaceURI, temp,
false /*nameCanBeNull*/,
false /*nameCanBeEmpty, see #61650*/,
- exceptioncode);
+ exceptioncode);
if(exceptioncode)
return 0;
@@ -191,9 +190,9 @@
DOMStringImpl *qualifiedName,
DocumentTypeImpl *docType,
bool createDocElement,
- KDOMView *view) const
+ KDOMView *view,
+ int &exceptioncode) const
{
- int exceptioncode = 0;
if(namespaceURI)
namespaceURI->ref();
if(qualifiedName)
@@ -211,9 +210,9 @@
* See bug report #61650, http://bugs.kde.org/show_bug.cgi?id=61650
*/
Helper::CheckQualifiedName(qualifiedName, namespaceURI, temp,
- true /*nameCanBeNull*/,
- true /*nameCanBeEmpty, see #61650*/,
- exceptioncode);
+ false /*nameCanBeNull*/,
+ false /*nameCanBeEmpty, see #61650*/,
+ exceptioncode);
if(exceptioncode)
return 0;
--- trunk/kdenonbeta/kdom/core/DOMImplementationImpl.h #483484:483485
@@ -82,8 +82,9 @@
virtual DocumentImpl *createDocument(DOMStringImpl *namespaceURI,
DOMStringImpl *qualifiedName,
DocumentTypeImpl *doctype,
- bool createDocElement,
- KDOMView *view) const;
+ bool createDocElement,
+ KDOMView *view,
+ int &exceptioncode) const;
virtual CSSStyleSheetImpl *createCSSStyleSheet(DOMStringImpl *title,
DOMStringImpl *media,
--- trunk/kdenonbeta/kdom/parser/KDOMDocumentBuilder.cpp #483484:483485
@@ -78,11 +78,16 @@
if(!d->doc)
{
+ int exceptioncode = 0;
DOMImplementationImpl *factory = DOMImplementationImpl::self();
d->doc = factory->createDocument(DOMString("doc").impl(),
DOMString("name").impl(),
factory->defaultDocumentType(),
- false, 0/* no view */ );
+ false, 0/* no view */, exceptioncode);
+ if(exceptioncode) {
+ Helper::ShowException(new DOMExceptionImpl(exceptioncode));
+ return false;
+ }
d->doc->ref();
}
--- trunk/kdenonbeta/ksvg2/misc/KSVGDocumentBuilder.cpp #483484:483485
@@ -50,9 +50,12 @@
{
kdDebug(26001) << "KSVG::DocumentBuilder::startDocument, uri = " << \
uri.prettyURL() << endl;
+ int exceptioncode = 0;
SVGDOMImplementationImpl *factory = SVGDOMImplementationImpl::self();
SVGDocumentImpl *docImpl = static_cast<SVGDocumentImpl \
*>(factory->createDocument(KDOM::NS_SVG.impl(), \
KDOM::DOMString("svg:svg").impl(),
- \
factory->defaultDocumentType(), false, m_view)); + \
factory->defaultDocumentType(), false, m_view, exceptioncode)); + \
if(exceptioncode) + return false;
if(!docImpl)
return false;
--- trunk/kdenonbeta/ksvg2/svg/SVGDOMImplementationImpl.cpp #483484:483485
@@ -168,10 +168,10 @@
KDOM::DocumentImpl *SVGDOMImplementationImpl::createDocument(KDOM::DOMStringImpl \
*namespaceURI, KDOM::DOMStringImpl *qualifiedNameImpl, KDOM::DocumentTypeImpl \
*doctype, int &exceptioncode) const {
- return createDocument(namespaceURI, qualifiedNameImpl, doctype, true, 0);
+ return createDocument(namespaceURI, qualifiedNameImpl, doctype, true, 0, \
exceptioncode); }
-KDOM::DocumentImpl *SVGDOMImplementationImpl::createDocument(KDOM::DOMStringImpl \
*namespaceURIImpl, 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, int &exceptioncode) const {
if(namespaceURIImpl)
namespaceURIImpl->ref();
@@ -180,14 +180,18 @@
KDOM::DOMString namespaceURI(namespaceURIImpl);
KDOM::DOMString qualifiedName(qualifiedNameImpl);
if((namespaceURI != KDOM::NS_SVG) || (qualifiedName != "svg" && qualifiedName != \
"svg:svg"))
- return KDOM::DOMImplementationImpl::createDocument(namespaceURIImpl, \
qualifiedNameImpl, doctype, createDocElement, view); + return \
KDOM::DOMImplementationImpl::createDocument(namespaceURIImpl, qualifiedNameImpl, \
doctype, createDocElement, view, exceptioncode); int dummy;
- KDOM::Helper::CheckQualifiedName(qualifiedNameImpl, namespaceURIImpl, dummy, \
false /*nameCanBeNull*/, false /*nameCanBeEmpty, see #61650*/, dummy); + \
KDOM::Helper::CheckQualifiedName(qualifiedNameImpl, namespaceURIImpl, dummy, false \
/*nameCanBeNull*/, false /*nameCanBeEmpty, see #61650*/, exceptioncode); + \
if(exceptioncode) + return 0;
// WRONG_DOCUMENT_ERR: Raised if docType has already been used with a different
// document or was created from a different implementation.
- if(doctype != 0 && doctype->ownerDocument() != 0)
- throw new KDOM::DOMExceptionImpl(KDOM::WRONG_DOCUMENT_ERR);
+ if(doctype != 0 && doctype->ownerDocument() != 0) {
+ exceptioncode = KDOM::WRONG_DOCUMENT_ERR;
+ return 0;
+ }
SVGDocumentImpl *doc = new SVGDocumentImpl(const_cast<SVGDOMImplementationImpl \
*>(this), view);
--- trunk/kdenonbeta/ksvg2/svg/SVGDOMImplementationImpl.h #483484:483485
@@ -48,7 +48,7 @@
bool hasFeature(KDOM::DOMStringImpl *feature, KDOM::DOMStringImpl *version) \
const; KDOM::DocumentTypeImpl *createDocumentType(KDOM::DOMStringImpl \
*qualifiedName, KDOM::DOMStringImpl *publicId, KDOM::DOMStringImpl *systemId, int \
&exceptioncode) const; KDOM::DocumentImpl *createDocument(KDOM::DOMStringImpl \
*namespaceURI, KDOM::DOMStringImpl *qualifiedName, KDOM::DocumentTypeImpl *doctype, \
int &exceptioncode) const;
- KDOM::DocumentImpl *createDocument(KDOM::DOMStringImpl *namespaceURI, \
KDOM::DOMStringImpl *qualifiedName, KDOM::DocumentTypeImpl *doctype, bool \
createDocElement, KDOM::KDOMView *view) const; + KDOM::DocumentImpl \
*createDocument(KDOM::DOMStringImpl *namespaceURI, KDOM::DOMStringImpl \
*qualifiedName, KDOM::DocumentTypeImpl *doctype, bool createDocElement, \
KDOM::KDOMView *view, int &exceptioncode) const;
virtual KDOM::CSSStyleSheetImpl *createCSSStyleSheet(KDOM::DOMStringImpl \
*title, KDOM::DOMStringImpl *media, int &exceptioncode) const;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic