Re: enhancement: warnings instead of fatal error for duplicate calls to gimp_env_init

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2010-02-27 at 14:35 -0500, lloyd konneker wrote:
> This is an enhancement request.  Repeated calls to gimp_env_init should
> yield warnings and not fatal errors.  It has benefits for gimp plugins
> written in Python.
> 
> Currently gimp_env_init() calls g_error (fatal) if called a second time.
> Instead, pygimp_main(), which calls gimp_env_init(), should check
> whether this is a repeated call and issue a warning then return an
> error.  (I'm not sure if any changes are needed for ScriptFu, whether
> Pygimp should check the return from gimp_main and raise a warning
> exception, etc.)

We would definitely have to change gimp_main() then as it must not be
called more than once. I have a bad feeling about doing this change.

> Currently, you can't import a plugin from another plugin unless the
> imported plugin guards the call to main() to prevent it from being
> called unless this is a top level invocation:
> 
> if __name__=='__main__':
>   main()
>   
> It could be sufficient to have a convention for plugins to guard the
> call to main(), but the convention is not usually followed. Or you could
> have a convention that any shared code needs to be in a separate module
> from the top plugin module, but again, that convention is not often
> followed.
>   
> If you could import a plugin from within a Gimp plugin, then you could
> share more code.  You could use classes etc. from imported plugins.  You
> could also invoke the imported plugin's top function without invoking it
> as a registered PDB procedure.  Neither reason is compelling.

Importing a plug-in from within a GIMP plug-in only makes sense for
Python. So I would suggest that we seek for a solution that only
involves changes to the GIMP Python bindings but does not require a
change to libgimp or libgimpbase. I haven't looked at the code, but it
should be possible to deal with this in pygimp_main().


Sven


_______________________________________________
Gimp-developer mailing list
Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux