--- a/webengine/widgetengine/src/WidgetEngineBridge.cpp Mon Mar 15 12:44:50 2010 +0200
+++ b/webengine/widgetengine/src/WidgetEngineBridge.cpp Wed Mar 31 23:16:40 2010 +0300
@@ -96,9 +96,10 @@
void WidgetEngineBridge::Clear()
{
// unprotect objects
- HashSet<JSValue*>::iterator end = m_protectedObjects.end();
- for (HashSet<JSValue*>::iterator it = m_protectedObjects.begin(); it != end; ++it) {
- Collector::unprotect(*it);
+ HashCountedSet<JSValue*>::iterator end = m_protectedObjects.end();
+ for (HashCountedSet<JSValue*>::iterator it = m_protectedObjects.begin(); it != end; ++it) {
+ for(int count = it->second; count > 0; count--)
+ Collector::unprotect(it->first);
}
m_protectedObjects.clear();