webengine/widgetengine/src/WidgetEngineBridge.cpp
branchRCL_3
changeset 49 919f36ff910f
parent 48 79859ed3eea9
--- a/webengine/widgetengine/src/WidgetEngineBridge.cpp	Tue Aug 31 16:17:46 2010 +0300
+++ b/webengine/widgetengine/src/WidgetEngineBridge.cpp	Wed Sep 01 12:28:30 2010 +0100
@@ -15,8 +15,6 @@
 *
 */
 
-
-
 // INCLUDE FILES
 #include "WidgetEngineBridge.h"
 #include "WidgetEventHandler.h"
@@ -25,7 +23,7 @@
 #include <eikmenub.h>
 #include <gdi.h>
 #include <bitdev.h>
-#include "brctlinterface.h"
+#include <brctlinterface.h>
 #include "WidgetEngineCallbacks.h"
 
 #include "WidgetClient.h"
@@ -98,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();
 
@@ -172,7 +171,11 @@
     switch( aParam ) {
         case TBrCtlDefs::EWidgetBasePath: {
             m_preferences->setBasePathL(aValue);
-            m_preferences->loadL();            
+           TRAPD(err, m_preferences->loadL());
+            if(err!=KErrNone)
+            	{
+                m_preferences->deleteAllPrefFiles();
+           	    }
             break;
         }
         case TBrCtlDefs::EWidgetBundleId: {
@@ -321,3 +324,4 @@
 //END OF FILE
 
 
+