[Bf-committers] Re: listener object
joeedh
joeeagar at prodigy.net
Wed May 11 15:08:29 CEST 2005
Martin DeMello wrote:
>On 5/11/05, Stephen Swaney <sswaney at centurytel.net> wrote:
>
>
>>Blender is essentially single threaded. ( yeah, I know, the rendering
>>threads... ) Scripts do not run in their own thread.
>>
>>Think of blender as a database with multiple clients - the Spaces
>>acting as browsers/editors. Each Space has its own event queue
>>and its own view of the data. Locking and concurrency issues are
>>controlled by using a single thread of execution.
>>
>>This is one reason Ton had problems with the bpy Window module
>>accessing events in other spaces. Note that recent work by Willian
>>has make it possible to bind a script to a Space.
>>
>>
>
>How exactly does Window.QRead work, if there's no "the" event queue?
>Is that one example of the "accessing events in other spaces" problem?
>
>
>
There is a "the" event queue, called the mainqueue. It's accessed by
extern_qread in the C code. Lots of tools use it--the transform code,
manipulators I'm sure, loopcut, knife. It's not a good solution, and I
believe that eventually the event system is going to be rewritten so
such a method isn't needed.
joeedh
More information about the Bf-committers
mailing list