webengine/widgetengine/src/WidgetEngineBridge.cpp
branchRCL_3
changeset 36 c711bdda59f4
parent 26 cb62a4f66ebe
child 48 79859ed3eea9
--- 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();