  {
  	std::map<std::string, int> m_CountryCodeDefaultMapping;
 diff -Naur git.orig/lib/base/estring.cpp git/lib/base/estring.cpp
---- git.orig/lib/base/estring.cpp	2011-11-05 08:31:21.000000000 +0800
-+++ git/lib/base/estring.cpp	2011-11-05 08:51:31.485511095 +0800
+--- git.orig/lib/base/estring.cpp	2012-01-01 09:23:10.000000000 +0800
++++ git/lib/base/estring.cpp	2012-01-03 17:26:42.181869828 +0800
 @@ -6,6 +6,8 @@
  #include <lib/base/encoding.h>
  #include <lib/base/estring.h>

 			eDebug("reserved %d", data[0]);
 			++i;
 			break;
@@ -453,11 +550,48 @@
 	}
 
 	unsigned char res[2048];

+		self.close()
+
+	def disableParentalProtection(self):
+		self.session.openWithCallback(boundFunction(self.pinEntered,"","pinInactive"), PinInput, pinList = [config.ParentalControl.servicepin[0].value], triesEntry = config.ParentalControl.retries.servicepin, title = _("Enter the service pin"), windowTitle = _("Change pin code"))
+
 	def addParentalProtection(self, service):
 		from Components.ParentalControl import parentalControl
 		parentalControl.protectService(service.toCompareString())
@@ -253,10 +266,14 @@
 	def removeParentalProtection(self, service):
 		self.session.openWithCallback(boundFunction(self.pinEntered, service.toCompareString()), PinInput, pinList = [config.ParentalControl.servicepin[0].value], triesEntry = config.ParentalControl.retries.servicepin, title = _("Enter the service pin"), windowTitle = _("Change pin code"))
 
-	def pinEntered(self, service, result):
+	def pinEntered(self, service, method,result):
 		if result:
 			from Components.ParentalControl import parentalControl
-			parentalControl.unProtectService(service)
+			if service:
+				parentalControl.unProtectService(service)
+			if method == "pinInactive":
+				config.ParentalControl.servicepinactive.value = False
+
 			self.close()
 		else:
 			self.session.openWithCallback(self.close, MessageBox, _("The pin code you entered is wrong."), MessageBox.TYPE_ERROR)
diff -Naur git.orig/lib/python/Screens/InfoBarGenerics.py git/lib/python/Screens/InfoBarGenerics.py
--- git.orig/lib/python/Screens/InfoBarGenerics.py	2012-01-01 09:23:10.000000000 +0800
+++ git/lib/python/Screens/InfoBarGenerics.py	2012-01-03 17:26:42.201869919 +0800
@@ -728,10 +728,10 @@
 		service = self.session.nav.getCurrentService()
 		info = service and service.info()
