GNOME Bugzilla – Bug 6010
Script-Fu scripts open progressbar in seperate windows
Last modified: 2005-05-19 17:34:30 UTC
Package: gimp Version: 1.1.16 Name........: Martin Weber Email.......: martweb@gmx.net Platform....: Celeron 333, 128 MB, SuSE 6.2 GIMP Version: 1.1.16 GTK Version.: 1.2.6 -- Other system notes: -- -- Problem description: tileable blur plugin: the status bar is appearing in an extra window -- -- How to repeat: -- -- Other comments: -- ------- Bug moved to this database by debbugs-export@bugzilla.gnome.org 2001-01-28 10:48 ------- This bug was previously known as bug 6010 at http://bugs.gnome.org/ http://bugs.gnome.org/show_bug.cgi?id=6010 Originally filed under the gimp product and general component. The original reporter (martweb@gmx.net) of this bug does not have an account here. Reassigning to the exporter, debbugs-export@bugzilla.gnome.org. Reassigning to the default owner of the component, egger@suse.de.
The tileable blur plug-in is actually a script (Script-Fu). Currently, when a script runs another plug-in, the progress bar appears in a separate window. We should improve the consistency of the user interface (making all plug-ins and scripts behave in the same way) but this would probably require some changes in the plug-in protocol. I haven't checked yet how difficult this would be. The scripts would have to remember the window to which they are attached (if one exists) and pass this information to the plug-ins that they are calling.
Re-assigning all Gimp bugs to default component owner (Gimp bugs list)
*** Bug 96815 has been marked as a duplicate of this bug. ***
Is the progress bar of the affected image window exposed in the libgimp API? If not, this is not going to happen for 2.0. Dave.
Ah. Given that the feature request to expose the progress bar in the PDB (bug #97266) isn't done, and is marked with a milestone Future, that rather suggests that this one should be too. Dave.
2004-08-10 Michael Natterer <mitch@gimp.org> Redid the whole internal progress stuff: don't pass around progress_callback and progress_data; instead, provide a pointer to a GimpProgressInterface which can be implemented by a variety of backends. Addresses (but not yet fixes) bugs #6010, #97266 and #135185. * app/display/Makefile.am * app/display/gimpprogress.[ch]: removed the old progress hack. * app/core/Makefile.am * app/core/core-types.h * app/core/gimpprogress.[ch]: implement GimpProgressInterface. * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpprogressdialog.[ch]: the standalone progress dialog as widget implementing GimpProgressInterface. * app/display/gimpdisplay.c * app/display/gimpstatusbar.[ch] * app/widgets/gimpfiledialog.[ch] * app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface implementation to these classes. * app/core/gimp-gui.[ch] * app/gui/gui-vtable.c: replaced the old progress vtable entries by two new to create and destroy a GimpProgressDialog in case no other progress is available. * app/pdb/procedural_db.[ch] * app/plug-in/plug-in-run.[ch] * tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and all plug-ins. * app/plug-in/plug-in.[ch] * app/plug-in/plug-ins.c * app/plug-in/plug-in-message.c * app/plug-in/plug-in-progress.c: handle the case there the plug-in was crated with a progress as well as the case where it wasn't. * app/app_procs.c * app/batch.c * app/xcf/xcf.c * app/file/file-open.[ch] * app/file/file-save.[ch] * app/widgets/gimphelp.c * app/widgets/gimpbrushselect.c * app/widgets/gimpfontselect.c * app/widgets/gimpgradientselect.c * app/widgets/gimppaletteselect.c * app/widgets/gimppatternselect.c: changed accordingly. * app/core/gimpimagefile.[ch] * app/display/gimpdisplayshell-dnd.c * app/gui/file-open-dialog.c * app/gui/file-open-location-dialog.c * app/gui/file-save-dialog.c * app/widgets/gimplayertreeview.c * app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file related functions. Embed the progress in the file dialog where possible. * app/core/gimpdrawable-blend.[ch] * app/core/gimpdrawable-transform.[ch] * app/core/gimpimage-convert.[ch] * app/core/gimpimage-flip.[ch] * app/core/gimpimage-resize.[ch] * app/core/gimpimage-rotate.[ch] * app/core/gimpimage-scale.[ch] * app/core/gimpitem-linked.[ch] * app/core/gimpitem.[ch] * app/core/gimpchannel.c * app/core/gimpdrawable.c * app/core/gimplayer.c * app/core/gimpselection.c * app/vectors/gimpvectors.c: replaced callback/data by GimpProgress. * app/tools/gimpblendtool.c * app/tools/gimptransformtool.c * app/gui/convert-dialog.c * app/actions/documents-commands.c * app/actions/file-commands.c * app/actions/image-commands.c * app/actions/layers-commands.c * app/actions/plug-in-commands.c * app/actions/vectors-commands.c * tools/pdbgen/pdb/convert.pdb * tools/pdbgen/pdb/edit.pdb * tools/pdbgen/pdb/image.pdb * tools/pdbgen/pdb/layer.pdb: changed callers accordingly. * app/pdb/*_cmds.c: regenerated.
Fixed in CVS: 2004-08-30 Michael Natterer <mitch@gimp.org> Brought the PDB progress into a working state. Fixes bug #6010, addressed bugs #97266 and #135185 and unfortunately reopens bug #150194 (will fix that later). * libgimpbase/gimpbaseenums.h: added enum GimpProgressCommand. * app/core/gimppdbprogress.c * libgimp/gimpprogress.c: use the enum instead of integer constants for the different progress commands. Cleanup. * app/plug-in/plug-in-progress.c * app/plug-in/plug-in-run.c * app/plug-in/plug-in.c: switch bach to real refcouting for plug_in->progress (reopens bug #150194) and enabled the PDB progress code. * plug-ins/script-fu/script-fu-scripts.c: cleaned up the progress stuff and the script-fu interface a bit. * plug-ins/pygimp/gimpenums.py * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: regenerated.
Verified. This has been fixed since 2.2 the progress bar is now embedded in the script-fu window. In comment #1 Raphael mentioned using the progress bar of the current image window (like perl-fu and python-fu can do) perhaps that should be filed as a seperate request?