diff options
author | rcoh <rcoh@mit.edu> | 2011-02-14 01:51:43 -0500 |
---|---|---|
committer | rcoh <rcoh@mit.edu> | 2011-02-14 01:51:43 -0500 |
commit | 83242972c09032eb89dd547f3ff3c4dcc2693555 (patch) | |
tree | 62fdb611afbb37ff90f0356cac5828f48ec50f60 /inputs | |
parent | 9c76b22071259fe8195eaf5bd846219fc2cade4d (diff) |
Fixed some threading bugs. Modified LightInstallation.py so that Behaviors are *Only* run if they
are marked to be rendered. Fixed a threading issue tied to the component registry.
Diffstat (limited to 'inputs')
-rw-r--r-- | inputs/ContinuousCenterInput.py | 3 | ||||
-rw-r--r-- | inputs/ContinuousLocationInput.py | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/inputs/ContinuousCenterInput.py b/inputs/ContinuousCenterInput.py index a7635b2..88534f0 100644 --- a/inputs/ContinuousCenterInput.py +++ b/inputs/ContinuousCenterInput.py @@ -4,9 +4,10 @@ import util.Strings as Strings from operationscore.Input import * class ContinuousCenterInput(Input): def inputInit(self): + compReg.getLock().acquire() minX,minY,maxX,maxY = compReg.getComponent('Screen').getSize() + compReg.getLock().release() self.center = ((minX+maxX) / 2, (minY+maxY) / 2) - print self.center def sensingLoop(self): self.respond({Strings.LOCATION: self.center}) diff --git a/inputs/ContinuousLocationInput.py b/inputs/ContinuousLocationInput.py index 52a36ad..72ca8f0 100644 --- a/inputs/ContinuousLocationInput.py +++ b/inputs/ContinuousLocationInput.py @@ -8,7 +8,9 @@ class ContinuousLocationInput(Input): def inputInit(self): xvals = {} yvals = {} + compReg.getLock().acquire() xvals['left'], yvals['bottom'], xvals['right'], yvals['top'] = compReg.getComponent('Screen').getSize() + compReg.getLock().release() (xvals['center'], yvals['center']) = ((xvals['left']+xvals['right']) / 2, (yvals['top']+yvals['bottom']) / 2) self.location = (xvals[self['xloc']], yvals[self['yloc']]) |