[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