Blob Blame History Raw
diff -Nur geeqie-1.0alpha3-orig/src/utilops.c geeqie-1.0alpha3/src/utilops.c
--- geeqie-1.0alpha3-orig/src/utilops.c	2009-01-25 19:53:32.000000000 +0100
+++ geeqie-1.0alpha3/src/utilops.c	2009-02-08 00:01:10.000000000 +0100
@@ -589,8 +589,16 @@
 {
 	UtilityData *ud = data;
 
-	/* this is removed when ud is destroyed */
-	if (ud->perform_idle_id == -1) ud->perform_idle_id = g_idle_add(file_util_perform_ci_internal, ud);
+	if (ud->perform_idle_id == -1) 
+		{
+		/* this function was called directly
+		   just setup idle callback and wait until we are called again
+		*/
+		
+		/* this is removed when ud is destroyed */
+		ud->perform_idle_id = g_idle_add(file_util_perform_ci_internal, ud);
+		return TRUE;
+		}
 
 	g_assert(ud->flist);