keep a reference to the proc_frame's procedure. We can't asume it's always

2008-10-02  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginprocframe.c: keep a reference to the
	proc_frame's procedure. We can't asume it's always there since it
	could be a temporary one and its plug-in might die during
	procedure execution, taking the temp_proc with it.


svn path=/trunk/; revision=27112
This commit is contained in:
Michael Natterer 2008-10-02 17:13:58 +00:00 committed by Michael Natterer
parent bb07c24ab0
commit 184fe0a30b
2 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2008-10-02 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginprocframe.c: keep a reference to the
proc_frame's procedure. We can't asume it's always there since it
could be a temporary one and its plug-in might die during
procedure execution, taking the temp_proc with it.
2008-10-02 Martin Nordholts <martinn@svn.gnome.org>
Bug 553534 centering issues after image scaling and setting zoom

View File

@ -75,7 +75,7 @@ gimp_plug_in_proc_frame_init (GimpPlugInProcFrame *proc_frame,
proc_frame->main_context = g_object_ref (context);
proc_frame->context_stack = NULL;
proc_frame->procedure = GIMP_PROCEDURE (procedure);
proc_frame->procedure = procedure ? g_object_ref (procedure) : NULL;
proc_frame->main_loop = NULL;
proc_frame->return_vals = NULL;
proc_frame->progress = progress ? g_object_ref (progress) : NULL;
@ -118,6 +118,12 @@ gimp_plug_in_proc_frame_dispose (GimpPlugInProcFrame *proc_frame,
proc_frame->main_context = NULL;
}
if (proc_frame->procedure)
{
g_object_unref (proc_frame->procedure);
proc_frame->procedure = NULL;
}
if (proc_frame->return_vals)
{
g_value_array_free (proc_frame->return_vals);