Marc Lehmann wrote:
> On Tue, Nov 09, 1999 at 05:14:07PM +0100, Michael Natterer
><[EMAIL PROTECTED]> wrote:
> > Do you want to use context functions at the pdb interface? (ie writing
> > stuff like gimp_context_get_brush(NULL)) and put all current color/brush/...
> > access functions to gimpcompat.[ch] or just let all clients run in their
> > own context (which could be done internally without changing the interface)
> The latter one (as a start). However I can't see how the gimp can guess
> what context my application is in automatically, so there must be a set of
> functions to handle the current context.
Hm, I don't exactly know how the plug-in stuff works but there surely
is a pipe to each client and the gimp (or gtk) does a select() at some
place to wait for the pipes' file descriptors.
As the gimp app does all manipulating stuff synchronously, we could just
switch to the client's context whenever it wants to do something and
switch back to the user context when the job is done.
But as I said, I'm not 100% sure if this asumptions are true... are they?
> > I considered bringing the context to the pdb as a feature for 1.4 (also
> > because I was away from my machine for months when the gimp was frozen :( )
> Well, for me it is a new feature in the feature freeze that is only
> half-finished ;) It does not solve any of the problems we currently have.
> For example you can easily crash the gimp by running multiple plug-ins at the
> same time (no, gimp is _not_ able to do more than one plug-in at the time).
Very true. My intention was to fix the ui inconsistencies caused by the
old brush/pattern/... handling functions. This should be fixed now...
> So, maybe, implementing the rest may even be considered a bugfix
...also true, but I'm not yet sure (see above) how to do it and if it can
be done without breaking too much... you're more a plug-in expert than
I am, any idea where to do this context switching??
> > Currently I don't plan to break the pdb interface because now the whole
> > stuff is in a sane state.
> Why break? I thought about just extending the interface for the new
> functionality (contexts).
Yep, this sounds better ;-) But do we really need pdb context functions
for 1.2 if internal context switching (depending on the plug-ins' file
descriptors) is possible?
Maybe just a stripped down context interface (allowing e.g.
the client to say if it wants a private context or not)
uh, I guess this mail has too much "if"s...