I’m writing a GUI using pixel based placement, so my windows listen for window-event to redraw themselves on resolution changes so they wont scale with the resize. When the panda3d window loses focus I get the following
Traceback (most recent call last):
File "/usr/share/panda3d/direct/showbase/EventManager.py", line 61, in eventLoopTask
self.doEvents()
File "/usr/share/panda3d/direct/showbase/EventManager.py", line 55, in doEvents
processFunc(self.eventQueue.dequeueEvent())
File "/usr/share/panda3d/direct/showbase/EventManager.py", line 122, in processEvent
messenger.send(eventName, paramList)
File "/usr/share/panda3d/direct/showbase/Messenger.py", line 309, in send
self.__dispatch(acceptorDict, event, sentArgs, foundWatch)
File "/usr/share/panda3d/direct/showbase/Messenger.py", line 371, in __dispatch
method (*(extraArgs + sentArgs))
File "/home/croxis/src/Outpost/PixelWindow.py", line 97, in draw
self.window['frameSize'] = (left, right, bottom, top)
File "/usr/share/panda3d/direct/gui/DirectGuiBase.py", line 435, in __setitem__
apply(self.configure, (), {key: value})
File "/usr/share/panda3d/direct/gui/DirectGuiBase.py", line 328, in configure
optionInfo = self._optionInfo
AttributeError: 'DirectFrame' object has no attribute '_optionInfo'
:task(error): Exception occurred in PythonTask eventManager
Unhandled error in Deferred:
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/twisted/internet/base.py", line 1128, in run
self.mainLoop()
File "/usr/lib/python2.6/dist-packages/twisted/internet/base.py", line 1137, in mainLoop
self.runUntilCurrent()
File "/usr/lib/python2.6/dist-packages/twisted/internet/base.py", line 757, in runUntilCurrent
call.func(*call.args, **call.kw)
File "/usr/lib/python2.6/dist-packages/twisted/internet/task.py", line 114, in __call__
d = defer.maybeDeferred(self.f, *self.a, **self.kw)
--- <exception caught here> ---
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 106, in maybeDeferred
result = f(*args, **kw)
File "/usr/share/panda3d/direct/task/TaskNew.py", line 429, in step
self.mgr.poll()
File "/usr/share/panda3d/direct/showbase/EventManager.py", line 61, in eventLoopTask
self.doEvents()
File "/usr/share/panda3d/direct/showbase/EventManager.py", line 55, in doEvents
processFunc(self.eventQueue.dequeueEvent())
File "/usr/share/panda3d/direct/showbase/EventManager.py", line 122, in processEvent
messenger.send(eventName, paramList)
File "/usr/share/panda3d/direct/showbase/Messenger.py", line 309, in send
self.__dispatch(acceptorDict, event, sentArgs, foundWatch)
File "/usr/share/panda3d/direct/showbase/Messenger.py", line 371, in __dispatch
method (*(extraArgs + sentArgs))
File "/home/croxis/src/Outpost/PixelWindow.py", line 97, in draw
self.window['frameSize'] = (left, right, bottom, top)
File "/usr/share/panda3d/direct/gui/DirectGuiBase.py", line 435, in __setitem__
apply(self.configure, (), {key: value})
File "/usr/share/panda3d/direct/gui/DirectGuiBase.py", line 328, in configure
optionInfo = self._optionInfo
exceptions.AttributeError: 'DirectFrame' object has no attribute '_optionInfo'
Bug? User error?