OSDN Git Service

LiveText behavior: Fix bug where startMonitoring() couldn't be called again even...
authorJames Teh <jamie@jantrid.net>
Tue, 9 Nov 2010 08:48:19 +0000 (18:48 +1000)
committerJames Teh <jamie@jantrid.net>
Tue, 9 Nov 2010 08:48:19 +0000 (18:48 +1000)
source/NVDAObjects/behaviors.py

index ffac2c7..8233db7 100755 (executable)
@@ -164,14 +164,19 @@ class LiveText(NVDAObject):
 \r
        def initOverlayClass(self):\r
                self._event = threading.Event()\r
-               self._monitorThread = threading.Thread(target=self._monitor)\r
+               self._monitorThread = None\r
                self._keepMonitoring = False\r
 \r
        def startMonitoring(self):\r
+               if self._monitorThread:\r
+                       return\r
+               self._monitorThread = threading.Thread(target=self._monitor)\r
                self._keepMonitoring = True\r
                self._monitorThread.start()\r
 \r
        def stopMonitoring(self):\r
+               if not self._monitorThread:\r
+                       return\r
                self._keepMonitoring = False\r
                self._event.set()\r
                self._monitorThread = None\r