gimp r27112 - in trunk: . app/plug-in



Author: mitch
Date: Thu Oct  2 17:13:58 2008
New Revision: 27112
URL: http://svn.gnome.org/viewvc/gimp?rev=27112&view=rev

Log:
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.



Modified:
   trunk/ChangeLog
   trunk/app/plug-in/gimppluginprocframe.c

Modified: trunk/app/plug-in/gimppluginprocframe.c
==============================================================================
--- trunk/app/plug-in/gimppluginprocframe.c	(original)
+++ trunk/app/plug-in/gimppluginprocframe.c	Thu Oct  2 17:13:58 2008
@@ -75,7 +75,7 @@
 
   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 @@
       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);



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