[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-10-16 14:02:12
Message-ID: 1129471332.881860.18443.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 471115 by buis:
Memleak fixes:
* ksvg2/svg/SVGImageElementImpl.cpp:
(SVGImageElementImpl::notifyFinished): deref _x, _y, _width, _height
* ksvg2/svg/SVGDocumentImpl.cpp:
(SVGDocumentImpl::dispatchKeyEvent): deref textContent()
* kdom/css/CSSPrimitiveValueImpl.cpp:
(CSSPrimitiveValueImpl::cssText): cleanup
* kdom/css/cssparser.cpp:
(CSSParser::parseValue): deref returned string of removeProperty
* kdom/css/CSSValueListImpl.cpp:
(CSSValueListImpl::cssText): deref return value of cssText
CCMAIL: wildfox@kde.org
M +1 -5 kdom/css/CSSPrimitiveValueImpl.cpp
M +5 -1 kdom/css/CSSValueListImpl.cpp
M +2 -1 kdom/css/cssparser.cpp
M +4 -2 ksvg2/svg/SVGDocumentImpl.cpp
M +4 -0 ksvg2/svg/SVGImageElementImpl.cpp
--- trunk/kdenonbeta/kdom/css/CSSPrimitiveValueImpl.cpp #471114:471115
@@ -298,15 +298,11 @@
// ### return the original value instead of a generated one (e.g. color
// name if it was specified) - check what spec says about this
DOMStringImpl *text = CSSHelper::unitTypeToString(m_type);
- if(text)
- text->ref();
if(text && !text->isEmpty())
{
QString str = text->string();
- text->deref();
-
- text = new DOMStringImpl(QString::number(m_value.num) + text->string());
+ KDOM_SAFE_SET(text, new DOMStringImpl(QString::number(m_value.num) + str));
}
else
{
--- trunk/kdenonbeta/kdom/css/CSSValueListImpl.cpp #471114:471115
@@ -53,7 +53,11 @@
DOMStringImpl *result = new DOMStringImpl();
for(Q3PtrListIterator<CSSValueImpl> iterator(m_values); iterator.current(); \
++iterator)
- result->append(iterator.current()->cssText());
+ {
+ DOMStringImpl *text = iterator.current()->cssText();
+ result->append(text);
+ if(text) text->deref();
+ }
return result;
}
--- trunk/kdenonbeta/kdom/css/cssparser.cpp #471114:471115
@@ -280,7 +280,8 @@
ok = true;
for(int i = 0; i < numParsedProperties; i++)
{
- declaration->removeProperty(parsedProperties[i]->m_id, nonCSSHint);
+ DOMStringImpl *val = \
declaration->removeProperty(parsedProperties[i]->m_id, nonCSSHint); + \
if(val) val->deref(); declaration->values()->append(parsedProperties[i]);
}
--- trunk/kdenonbeta/ksvg2/svg/SVGDocumentImpl.cpp #471114:471115
@@ -616,7 +616,7 @@
event->deref();
}
-bool SVGDocumentImpl::dispatchKeyEvent(KDOM::EventTargetImpl *target, QKeyEvent \
*key, bool keypress) +bool SVGDocumentImpl::dispatchKeyEvent(KDOM::EventTargetImpl \
*target, QKeyEvent *key, bool /*keypress*/) {
// dispatch key event
KDOM::KeyboardEventImpl *keyEventImpl = static_cast<KDOM::KeyboardEventImpl \
*>(createEvent(KDOM::DOMString("KeyboardEvents").handle())); @@ -803,7 +803,9 @@
else
{
// no src attribute - execute from contents of tag
- SVGScriptElementImpl::executeScript(this, script->textContent());
+ KDOM::DOMStringImpl *text = script->textContent();
+ SVGScriptElementImpl::executeScript(this, text);
+ if(text) text->deref();
++(*m_scriptsIt);
needsStyleSelectorUpdate = true;
--- trunk/kdenonbeta/ksvg2/svg/SVGImageElementImpl.cpp #471114:471115
@@ -214,6 +214,10 @@
m_svgDoc->attach();
m_canvasItem->appendItem(root->canvasItem());
+ if(_x) _x->deref();
+ if(_y) _y->deref();
+ if(_width) _width->deref();
+ if(_height) _height->deref();
}
m_cachedDocument->deref(this);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic