From 31689b82e342b5912c10de8592482b257b3301f4 Mon Sep 17 00:00:00 2001 From: andrei1089 Date: Tue, 16 Mar 2010 21:17:01 +0200 Subject: [PATCH] Changes in Singleton - do not run __init__() multiple times --- .../lib/hildon-desktop/pedometer_widget_home.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/usr/lib/hildon-desktop/pedometer_widget_home.py b/src/usr/lib/hildon-desktop/pedometer_widget_home.py index 10364fb..ca693fe 100644 --- a/src/usr/lib/hildon-desktop/pedometer_widget_home.py +++ b/src/usr/lib/hildon-desktop/pedometer_widget_home.py @@ -57,7 +57,9 @@ unit = 0 class Singleton(object): _instance = None + _references = 0 def __new__(cls, *args, **kwargs): + cls._references+=1 if not cls._instance: cls._instance = super(Singleton, cls).__new__( cls, *args, **kwargs) @@ -1140,6 +1142,8 @@ class Config(Singleton): observers = [] def __init__(self): + if self._references > 1: + return self.client = gconf.client_get_default() self.client.add_dir('/apps/pedometerhomewidget', gconf.CLIENT_PRELOAD_NONE) self.notify_id = self.client.notify_add('/apps/pedometerhomewidget', self.gconf_changed) -- 1.7.9.5