2006-09-24 Michael Natterer <mitch@gimp.org>
Some more proper typing instead of using pointers:
* libgimpconfig/gimpconfig-params.h: added macro
GIMP_CONFIG_INSTALL_PROP_BOXED().
* app/core/gimpcontainer.c: made "children-type" a GParamSpecGType.
* app/widgets/gimpcontrollerinfo.c: made "mapping" a
GParamSpecBoxed and use g_hash_table_unref() instead of destroy().
* app/widgets/gimppdbdialog.c: made "select-type" a GParamSpecGType.
* app/dialogs/module-dialog.c
* app/widgets/gimpcolordisplayeditor.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimpfileprocview.c
* app/widgets/gimppluginaction.c: use proper object types, boxed
types and G_TYPE_GTYPE instead of G_TYPE_POINTER for various list
stores and signal signatues.
2006-09-24 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_apply): don't restore
the entire affected area of the drawable here (it can take *long*
on large selections).
(gimp_image_map_do): do it here instead, as we idle-process the
chunks. Slightly reduces overall speed but improves responsiveness
*massively*
(gimp_image_map_get_color_at): fixed to honor undo tiles offset
and be readable.
(gimp_image_map_commit)
(gimp_image_map_clear)
(gimp_image_map_clear): don't unref the image_map here. Objects
don't memory manage themselves.
Cleaned up the entire file and got rid of all sorts of uglyness.
* app/tools/gimpimagemaptool.c: unref the image_map here.
* app/tools/gimpcurvestool.c (curves_graph_events): update the
preview on button_press when we are dragging a free curve.
2006-09-24 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcurvestool.c (curves_graph_events): jikes, update
the preview only if we actually drag the curve, not on any mouse
movement.
* app/tools/gimpcroptool.c
* app/tools/gimprectangleselecttool.c
* app/tools/gimprectangletool.[ch]: put back code for responding
to modifiers pressed after mouse1-down, at mitch's request.
* app/tools/gimprectangleoptions.[ch]
* app/tools/gimprectangleselecttool.c
* app/tools/gimprectangletool.c
* app/tools/gimpselectionoptions.c: move "auto-shrink"
and "shrink-merged" from selection options to
rectangle options where they belong; now shown
for crop tool as well as rect select.
* app/actions/tools-actions.c
* app/actions/tools-commands.[ch]: add new actions for
toggling "fixed-aspect" and "fixed-center" options of
rectangle tools.
* app/tools/gimprectangletool.[ch]
* app/tools/gimprectangleselecttool.c
* app/tools/gimpcroptool.c: rely on new actions for
keyboard control, not on modifiers pressed after
mouse1-down.
2006-09-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_progress_style_set):
terminate the spaces string correctly. Spotted by bill.
2006-09-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.[ch]: changed all message setting
functions to use printf-style argument lists. Added new API to
show a temporary message that stays on top regardless of any other
message activity and disappears after 3 seconds.
* app/actions/edit-commands.c: show a statusbar message when
pasting fails because the clipboard contains no image data. Pop a
dialog when "Paste as New" fails. Addresses bug #357059 for
internal functions.
* app/display/gimpdisplayshell-title.c
* app/gui/gui.c
* app/tools/gimptool.c: changed accordingly.
2006-09-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_space_released): also look at
shell->space_release_pending when deciding whether to return early.
2006-09-22 Sven Neumann <sven@gimp.org>
* app/gui/gui-message.c
* app/widgets/gimpwidgets-utils.[ch]: moved utility function to
gimpwidgets-utils.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: added a progress parameter to
gimp_pdb_dialog_new() and make the dialog transient to the progress
window.
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/font_select.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/palette_select.pdb
* tools/pdbgen/pdb/pattern_select.pdb: pass progress to
gimp_pdb_dialog_new().
* app/pdb/brush_select_cmds.c
* app/pdb/font_select_cmds.c
* app/pdb/gradient_select_cmds.c
* app/pdb/palette_select_cmds.c
* app/pdb/pattern_select_cmds.c: regenerated.
* libgimp/gimpselectbutton.c: cosmetics.
* app/widgets/gimppropwidgets.c (gimp_prop_aspect_ratio_new):
some small bug-fixes.
* app/tools/gimprectangleoptions.[ch]: major revision. Got
rid of lots of unneeded getter/setter-clutter, simplified
set of options and appearance of gui. Still work in progress.
* app/tools/gimprectangleselectoptions.c
* app/tools/gimprectangletool.c: corresponding changes.
* libgimpwidgets/gimppropwidgets.[ch]: added
gimp_prop_toggle_button_new(), and re-implemented
gimp_prop_check_button_new() in terms of it, as basically
a convenience function now.
2006-09-21 Sven Neumann <sven@gimp.org>
* plug-ins/gfig/gfig-dialog.c: pass correct parameters to
gimp_brush_select_button_new(). Fixes bug #356901.
* plug-ins/script-fu/scripts/test-sphere.scm: use 100.0 as the
default opacity for SF-BRUSH.
2006-09-21 Sven Neumann <neumann@jpk.com>
* app/base/tile-manager.c (read_pixel_data_1) (write_pixel_data_1):
use the same code on all platforms. The optimization for bytes == 4
was pointless anyway.
2006-09-21 Michael Natterer <mitch@gimp.org>
* plug-ins/uri/uri-backend-wget.c (uri_backend_load_image): use
setpgid() instead of setpgrp(), the latter has a different number
of arguments on darwin. Let's see where it breaks now...
* app/display/gimpcanvas.[ch]
* app/tools/gimpdrawtool.[ch]: remove recently added code relating
to stippled xor drawing -- not handled well by some display
drivers.
* app/tools/gimprectangletool.c: improve drawing of handles.
2006-09-20 Sven Neumann <sven@gimp.org>
* plug-ins/pygimp/pygimp-drawable.c (drw_set_name): use
PyUnicode_Check() instead of PyString_Check().
* plug-ins/pygimp/plug-ins/clothify.py: reverted localisation;
this plug-in isn't installed by default.
2006-09-20 Sven Neumann <sven@gimp.org>
* plug-ins/pygimp/plug-ins/clothify.py
* plug-ins/pygimp/plug-ins/gimpcons.py: need to call gettext.install
here, otherwise we can't use _() in the register() call.
* plug-ins/pygimp/gimpfu.py: don't call gettext.install() for the
plug-in. Translate the blurb used as a user hint.
2006-09-20 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin.c (gimp_plug_in_close): if the plug-in is
in a different process group than GIMP, kill the entire group so
the plug-in's children are killed too.
* plug-ins/uri/uri-backend-wget.c (uri_backend_load_image): open
a process group so the wget process gets killed (bug #356643).
2006-09-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrambox.c: draw slider positions more
accurately, fixed incorrect use of GtkAdjustments.
2006-09-20 Michael Natterer <mitch@gimp.org>
* app/paint/gimpsourcecore.c: implement GimpPaintCore::start()
and set paint_core->use_saved_proj to TRUE when we are using
the destination drawable image's projection as source. Return
FALSE from start() if there is no src_drawable set and removed
checks for src_drawable != NULL further down in the code path.
* app/tools/gimpperspectiveclonetool.c (button_press)
* app/tools/gimpsourcetool.c (button_press): don't fiddle with
paint_core->use_saved_proj here.
* app/paint/gimpclone.c: implement GimpPaintCore::start() and
return FALSE if we are in pattern mode and there is no pattern to
clone from. Removed GimpPaintCore::paint() implementation because
all it did was popping a message if there is no pattern. Removed
check for pattern != NULL and cleaned up the file a bit.
* app/paint/gimpperspectiveclone.c (paint): removed message about
no pattern to clone from.
2006-09-20 Michael Natterer <mitch@gimp.org>
* app/core/gimpgradient.[ch]: added gimp_gradient_flatten() which
creates a copy of a gradient with all colors that refer to FG or
BG turned into constant colors.
* app/core/gimpdrawable-blend.c (gradient_fill_region): create a
flat copy of the gradient if it contains FG/BG colors. Avoids
gazillions of context color lookups while rendering, depending on
gradient and blend complexity.
2006-09-19 Sven Neumann <sven@gimp.org>
* plug-ins/pygimp/gimpfu.py: allow to pass a (domain, path) tuple
as value for the domain argument of the register() call. Document
the domain argument.
2006-09-19 Sven Neumann <sven@gimp.org>
* app/core/gimp.c (gimp_message): don't leak the message.
* app/file/file-utils.c (file_utils_find_proc): clear the error
if we found a file procedure by matching the file extension.
* plug-ins/common/png.c (load_image): don't call gimp_quit() if
opening the file fails but return with GIMP_PDB_EXECUTION_ERROR.
2006-09-19 Michael Natterer <mitch@gimp.org>
Fix disabling of deprecated procedures (bug #345733):
* app/pdb/gimppdb.c (gimp_pdb_register_procedure): silently drop
deprecated procedures if they are disabled via --pdb-compat-mode.
* app/plug-in/gimpplugin-message.c (gimp_plug_in_handle_proc_run):
remove code that handles deprecated procedures even when they are
disabled, the change above makes this impossible.
Call plug_in_params_to_args() also if we didn't find the
procedure, so the PDB doesn't choke on NULL args.