Commit 02d2b990 authored by Michael Natterer's avatar Michael Natterer 😴 Committed by Michael Natterer

Redid the whole internal progress stuff: don't pass around

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.
parent 059f9263
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.
2004-08-10 DindinX <david@dindinx.org>
* plug-ins/common/blinds.c: GimpPreviewArea-ified.
......
......@@ -196,7 +196,7 @@ documents_recreate_preview_cmd_callback (GtkAction *action,
preview_size = gimp_container_view_get_preview_size (editor->view, NULL);
gimp_imagefile_create_thumbnail (imagefile, context, preview_size);
gimp_imagefile_create_thumbnail (imagefile, context, NULL, preview_size);
}
}
......@@ -253,7 +253,7 @@ documents_open_image (GimpContext *context,
uri = gimp_object_get_name (GIMP_OBJECT (imagefile));
gimage = file_open_with_display (context->gimp, context,
gimage = file_open_with_display (context->gimp, context, NULL,
uri, &status, &error);
if (! gimage && status != GIMP_PDB_CANCEL)
......
......@@ -32,6 +32,7 @@
#include "core/gimpcontainer.h"
#include "core/gimpcontext.h"
#include "core/gimpimage.h"
#include "core/gimpprogress.h"
#include "core/gimptemplate.h"
#include "file/file-open.h"
......@@ -131,6 +132,7 @@ file_last_opened_cmd_callback (GtkAction *action,
GError *error = NULL;
gimage = file_open_with_display (gimp, action_data_get_context (data),
NULL,
GIMP_OBJECT (imagefile)->name,
&status, &error);
......@@ -177,6 +179,7 @@ file_save_cmd_callback (GtkAction *action,
GError *error = NULL;
status = file_save (gdisp->gimage, action_data_get_context (data),
GIMP_PROGRESS (gdisp),
GIMP_RUN_WITH_LAST_VALS, &error);
if (status != GIMP_PDB_SUCCESS &&
......@@ -278,10 +281,9 @@ file_revert_cmd_callback (GtkAction *action,
GIMP_STOCK_QUESTION,
text,
GTK_STOCK_YES, GTK_STOCK_NO,
G_OBJECT (gdisp->gimage),
"disconnect",
G_OBJECT (gdisp), "disconnect",
file_revert_confirm_callback,
gdisp->gimage);
gdisp);
g_free (text);
......@@ -340,7 +342,8 @@ file_revert_confirm_callback (GtkWidget *widget,
gboolean revert,
gpointer data)
{
GimpImage *old_gimage = GIMP_IMAGE (data);
GimpDisplay *gdisp = GIMP_DISPLAY (data);
GimpImage *old_gimage = gdisp->gimage;
g_object_set_data (G_OBJECT (old_gimage), REVERT_DATA_KEY, NULL);
......@@ -357,6 +360,7 @@ file_revert_confirm_callback (GtkWidget *widget,
uri = gimp_object_get_name (GIMP_OBJECT (old_gimage));
new_gimage = file_open_image (gimp, gimp_get_user_context (gimp),
GIMP_PROGRESS (gdisp),
uri, uri, NULL,
GIMP_RUN_INTERACTIVE,
&status, NULL, &error);
......
......@@ -41,6 +41,7 @@
#include "core/gimpimage-rotate.h"
#include "core/gimpimage-scale.h"
#include "core/gimpimage-undo.h"
#include "core/gimpprogress.h"
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpdock.h"
......@@ -49,7 +50,6 @@
#include "display/gimpdisplay.h"
#include "display/gimpdisplayshell.h"
#include "display/gimpprogress.h"
#include "gui/convert-dialog.h"
#include "gui/dialogs.h"
......@@ -160,7 +160,7 @@ image_convert_cmd_callback (GtkAction *action,
case GIMP_RGB:
case GIMP_GRAY:
gimp_image_convert (gimage, (GimpImageBaseType) value,
0, 0, FALSE, FALSE, 0, NULL, NULL, NULL);
0, 0, FALSE, FALSE, 0, NULL, NULL);
gimp_image_flush (gimage);
break;
......@@ -259,13 +259,14 @@ image_flip_cmd_callback (GtkAction *action,
GimpProgress *progress;
return_if_no_display (gdisp, data);
progress = gimp_progress_start (gdisp, _("Flipping..."), TRUE, NULL, NULL);
progress = gimp_progress_start (GIMP_PROGRESS (gdisp),
_("Flipping..."), FALSE);
gimp_image_flip (gdisp->gimage, action_data_get_context (data),
(GimpOrientationType) value,
gimp_progress_update_and_flush, progress);
(GimpOrientationType) value, progress);
gimp_progress_end (progress);
if (progress)
gimp_progress_end (progress);
gimp_image_flush (gdisp->gimage);
}
......@@ -279,13 +280,14 @@ image_rotate_cmd_callback (GtkAction *action,
GimpProgress *progress;
return_if_no_display (gdisp, data);
progress = gimp_progress_start (gdisp, _("Rotating..."), TRUE, NULL, NULL);
progress = gimp_progress_start (GIMP_PROGRESS (gdisp),
_("Rotating..."), FALSE);
gimp_image_rotate (gdisp->gimage, action_data_get_context (data),
(GimpRotationType) value,
gimp_progress_update_and_flush, progress);
(GimpRotationType) value, progress);
gimp_progress_end (progress);
if (progress)
gimp_progress_end (progress);
gimp_image_flush (gdisp->gimage);
}
......@@ -449,9 +451,8 @@ image_resize_callback (GtkWidget *widget,
{
GimpProgress *progress;
progress = gimp_progress_start (options->gdisp,
_("Resizing..."),
TRUE, NULL, NULL);
progress = gimp_progress_start (GIMP_PROGRESS (options->gdisp),
_("Resizing..."), FALSE);
gimp_image_resize (options->gimage,
options->context,
......@@ -459,9 +460,10 @@ image_resize_callback (GtkWidget *widget,
options->dialog->height,
options->dialog->offset_x,
options->dialog->offset_y,
gimp_progress_update_and_flush, progress);
progress);
gimp_progress_end (progress);
if (progress)
gimp_progress_end (progress);
gimp_image_flush (options->gimage);
}
......@@ -605,17 +607,17 @@ image_scale_implement (ImageResizeOptions *options)
{
GimpProgress *progress;
progress = gimp_progress_start (options->gdisp,
_("Scaling..."),
TRUE, NULL, NULL);
progress = gimp_progress_start (GIMP_PROGRESS (options->gdisp),
_("Scaling..."), FALSE);
gimp_image_scale (gimage,
options->dialog->width,
options->dialog->height,
options->dialog->interpolation,
gimp_progress_update_and_flush, progress);
progress);
gimp_progress_end (progress);
if (progress)
gimp_progress_end (progress);
}
else
{
......
......@@ -41,6 +41,7 @@
#include "core/gimplist.h"
#include "core/gimptoolinfo.h"
#include "core/gimpundostack.h"
#include "core/gimpprogress.h"
#include "text/gimptext.h"
#include "text/gimptextlayer.h"
......@@ -56,7 +57,6 @@
#include "display/gimpdisplay.h"
#include "display/gimpdisplayshell.h"
#include "display/gimpprogress.h"
#include "tools/gimptexttool.h"
#include "tools/tool_manager.h"
......@@ -1087,18 +1087,18 @@ scale_layer_query_ok_callback (GtkWidget *widget,
gtk_widget_set_sensitive (options->dialog->shell, FALSE);
progress = gimp_progress_start (options->gdisp,
_("Scaling..."),
TRUE, NULL, NULL);
progress = gimp_progress_start (GIMP_PROGRESS (options->gdisp),
_("Scaling..."), FALSE);
gimp_item_scale_by_origin (GIMP_ITEM (layer),
options->dialog->width,
options->dialog->height,
options->dialog->interpolation,
gimp_progress_update_and_flush, progress,
progress,
TRUE);
gimp_progress_end (progress);
if (progress)
gimp_progress_end (progress);
gimp_image_flush (gimage);
......
......@@ -28,6 +28,7 @@
#include "core/gimpdrawable.h"
#include "core/gimpimage.h"
#include "core/gimpitem.h"
#include "core/gimpprogress.h"
#include "pdb/procedural_db.h"
......@@ -61,6 +62,7 @@ plug_in_run_cmd_callback (GtkAction *action,
Gimp *gimp;
ProcRecord *proc_rec;
Argument *args;
GimpDisplay *gdisp = NULL;
gint gdisp_ID = -1;
gint i;
gint argc;
......@@ -93,13 +95,13 @@ plug_in_run_cmd_callback (GtkAction *action,
if (proc_rec->num_args >= 2 &&
proc_rec->args[1].arg_type == GIMP_PDB_IMAGE)
{
GimpDisplay *gdisplay = action_data_get_display (data);
gdisp = action_data_get_display (data);
if (gdisplay)
if (gdisp)
{
gdisp_ID = gimp_display_get_ID (gdisplay);
gdisp_ID = gimp_display_get_ID (gdisp);
args[1].value.pdb_int = gimp_image_get_ID (gdisplay->gimage);
args[1].value.pdb_int = gimp_image_get_ID (gdisp->gimage);
argc++;
if (proc_rec->num_args >= 2 &&
......@@ -107,7 +109,7 @@ plug_in_run_cmd_callback (GtkAction *action,
{
GimpDrawable *drawable;
drawable = gimp_image_active_drawable (gdisplay->gimage);
drawable = gimp_image_active_drawable (gdisp->gimage);
if (drawable)
{
......@@ -136,6 +138,7 @@ plug_in_run_cmd_callback (GtkAction *action,
/* run the plug-in procedure */
plug_in_run (gimp, gimp_get_user_context (gimp),
gdisp ? GIMP_PROGRESS (gdisp) : NULL,
proc_rec, args, argc, FALSE, TRUE, gdisp_ID);
/* remember only "standard" plug-ins */
......@@ -171,6 +174,7 @@ plug_in_repeat_cmd_callback (GtkAction *action,
plug_in_repeat (gdisp->gimage->gimp,
gimp_get_user_context (gdisp->gimage->gimp),
GIMP_PROGRESS (gdisp),
gimp_display_get_ID (gdisp),
gimp_image_get_ID (gdisp->gimage),
gimp_item_get_ID (GIMP_ITEM (drawable)),
......
......@@ -33,6 +33,7 @@
#include "core/gimpcontext.h"
#include "core/gimpimage.h"
#include "core/gimpimage-merge.h"
#include "core/gimpprogress.h"
#include "core/gimptoolinfo.h"
#include "pdb/procedural_db.h"
......@@ -255,6 +256,7 @@ vectors_selection_to_vectors_cmd_callback (GtkAction *action,
args[2].value.pdb_int = -1; /* unused */
plug_in_run (gimage->gimp, action_data_get_context (data),
gdisp ? GIMP_PROGRESS (gdisp) : NULL,
proc_rec, args, 3, FALSE, TRUE,
gdisp ? gdisp->ID : 0);
......
......@@ -334,6 +334,7 @@ app_run (const gchar *full_prog_name,
gimage = file_open_with_display (gimp,
gimp_get_user_context (gimp),
NULL,
uri,
&status, &error);
......
......@@ -132,7 +132,7 @@ batch_run_cmd (Gimp *gimp,
args[0].value.pdb_int = GIMP_RUN_NONINTERACTIVE;
args[1].value.pdb_pointer = (gpointer) cmd;
vals = procedural_db_execute (gimp, gimp_get_user_context (gimp),
vals = procedural_db_execute (gimp, gimp_get_user_context (gimp), NULL,
"plug_in_script_fu_eval", args);
switch (vals[0].value.pdb_int)
......@@ -184,7 +184,7 @@ batch_perl_server (Gimp *gimp,
args[1].value.pdb_int = flags;
args[2].value.pdb_int = extra;
vals = procedural_db_execute (gimp, gimp_get_user_context (gimp),
vals = procedural_db_execute (gimp, gimp_get_user_context (gimp), NULL,
"extension_perl_server", args);
switch (vals[0].value.pdb_int)
......
......@@ -188,6 +188,8 @@ libappcore_a_sources = \
gimppickable.h \
gimppreviewcache.c \
gimppreviewcache.h \
gimpprogress.c \
gimpprogress.h \
gimpprojection.c \
gimpprojection.h \
gimpprojection-construct.c \
......
......@@ -121,6 +121,7 @@ typedef struct _GimpProjection GimpProjection;
/* interfaces */
typedef struct _GimpPickable GimpPickable; /* dummy typedef */
typedef struct _GimpProgress GimpProgress; /* dummy typedef */
/* non-object types */
......@@ -129,7 +130,6 @@ typedef struct _GimpArea GimpArea;
typedef struct _GimpCoords GimpCoords;
typedef struct _GimpGradientSegment GimpGradientSegment;
typedef struct _GimpGuide GimpGuide;
typedef struct _GimpProgress GimpProgress;
typedef guint32 GimpTattoo;
typedef struct _GimpPaletteEntry GimpPaletteEntry;
typedef struct _GimpPlugInDebug GimpPlugInDebug;
......
......@@ -27,6 +27,7 @@
#include "gimpcontainer.h"
#include "gimpcontext.h"
#include "gimpimage.h"
#include "gimpprogress.h"
#include "gimp-intl.h"
......@@ -53,10 +54,8 @@ gimp_gui_init (Gimp *gimp)
gimp->gui.menus_init = NULL;
gimp->gui.menus_create = NULL;
gimp->gui.menus_delete = NULL;
gimp->gui.progress_start = NULL;
gimp->gui.progress_restart = NULL;
gimp->gui.progress_update = NULL;
gimp->gui.progress_end = NULL;
gimp->gui.progress_new = NULL;
gimp->gui.progress_free = NULL;
gimp->gui.pdb_dialog_set = NULL;
gimp->gui.pdb_dialog_close = NULL;
gimp->gui.pdb_dialogs_check = NULL;
......@@ -320,59 +319,25 @@ gimp_menus_delete_entry (Gimp *gimp,
}
GimpProgress *
gimp_start_progress (Gimp *gimp,
gint gdisp_ID,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data)
gimp_new_progress (Gimp *gimp)
{
g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
if (gimp->gui.progress_start)
return gimp->gui.progress_start (gimp, gdisp_ID, message,
cancel_cb, cancel_data);
if (gimp->gui.progress_new)
return gimp->gui.progress_new (gimp);
return NULL;
}
GimpProgress *
gimp_restart_progress (Gimp *gimp,
GimpProgress *progress,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data)
{
g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
g_return_val_if_fail (progress != NULL, NULL);
if (gimp->gui.progress_restart)
return gimp->gui.progress_restart (gimp, progress, message,
cancel_cb, cancel_data);
return NULL;
}
void
gimp_update_progress (Gimp *gimp,
GimpProgress *progress,
gdouble percentage)
{
g_return_if_fail (GIMP_IS_GIMP (gimp));
g_return_if_fail (progress != NULL);
if (gimp->gui.progress_update)
gimp->gui.progress_update (gimp, progress, percentage);
}
void
gimp_end_progress (Gimp *gimp,
GimpProgress *progress)
gimp_free_progress (Gimp *gimp,
GimpProgress *progress)
{
g_return_if_fail (GIMP_IS_GIMP (gimp));
g_return_if_fail (progress != NULL);
g_return_if_fail (GIMP_IS_PROGRESS (progress));
if (gimp->gui.progress_end)
gimp->gui.progress_end (gimp, progress);
if (gimp->gui.progress_free)
gimp->gui.progress_free (gimp, progress);
}
gboolean
......
......@@ -62,20 +62,8 @@ struct _GimpGui
void (* menus_delete) (Gimp *gimp,
PlugInProcDef *proc_def);
GimpProgress * (* progress_start) (Gimp *gimp,
gint gdisp_ID,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data);
GimpProgress * (* progress_restart) (Gimp *gimp,
GimpProgress *progress,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data);
void (* progress_update) (Gimp *gimp,
GimpProgress *progress,
gdouble percentage);
void (* progress_end) (Gimp *gimp,
GimpProgress * (* progress_new) (Gimp *gimp);
void (* progress_free) (Gimp *gimp,
GimpProgress *progress);
gboolean (* pdb_dialog_new) (Gimp *gimp,
......@@ -135,20 +123,8 @@ void gimp_menus_create_entry (Gimp *gimp,
void gimp_menus_delete_entry (Gimp *gimp,
PlugInProcDef *proc_def);
GimpProgress * gimp_start_progress (Gimp *gimp,
gint gdisp_ID,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data);
GimpProgress * gimp_restart_progress (Gimp *gimp,
GimpProgress *progress,
const gchar *message,
GCallback cancel_cb,
gpointer cancel_data);
void gimp_update_progress (Gimp *gimp,
GimpProgress *progress,
gdouble percentage);
void gimp_end_progress (Gimp *gimp,
GimpProgress * gimp_new_progress (Gimp *gimp);
void gimp_free_progress (Gimp *gimp,
GimpProgress *progress);
const gchar * gimp_get_program_class (Gimp *gimp);
......
......@@ -44,6 +44,7 @@
#include "gimpimage-undo-push.h"
#include "gimplayer.h"
#include "gimplayer-floating-sel.h"
#include "gimpprogress.h"
#include "gimpselection.h"
#include "gimp-intl.h"
......@@ -110,8 +111,7 @@ gimp_drawable_transform_tiles_affine (GimpDrawable *drawable,
gboolean supersample,
gint recursion_level,
gboolean clip_result,
GimpProgressFunc progress_callback,
gpointer progress_data)
GimpProgress *progress)
{
GimpImage *gimage;
PixelRegion destPR;
......@@ -148,6 +148,7 @@ gimp_drawable_transform_tiles_affine (GimpDrawable *drawable,
g_return_val_if_fail (GIMP_IS_CONTEXT (context), NULL);
g_return_val_if_fail (orig_tiles != NULL, NULL);
g_return_val_if_fail (matrix != NULL, NULL);