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

[E-devel] Thrashing on altering menus



Hi,

_e_app_cb_monitor in e_apps.c does not special case .eap.cache.cfg, meaning that when I change add an eap to Favorites with Entangle, and then save, it locks in a loop:

noticing a change, calling _e_app_subdir_rescan, changing .eap.cache.cfg, and going round again, eating processor as it goes.

I caught this problem a week back or so, and the code in e_apps.c doesn't seem to have changed since.

A trivial (working) solution is to treat it the same as a .directory.eap, but I don't know the code well enough and I suspect this is just a hack :) - patch for this nevertheless attached.

Stuart
--- src/bin/e_apps.c-old	Thu Jan 26 03:56:11 2006
+++ src/bin/e_apps.c	Thu Feb  2 19:56:22 2006
@@ -1525,7 +1525,7 @@
 	     printf("BUG: Weird event for .order: %d\n", event);
 	  }
      }
-   else if (!strcmp(file, ".directory.eap"))
+   else if (!strcmp(file, ".directory.eap") || !strcmp(file, ".eap.cache.cfg"))
      {
 	if ((event == ECORE_FILE_EVENT_CREATED_FILE)
 	    || (event == ECORE_FILE_EVENT_MODIFIED))
@@ -1541,7 +1541,7 @@
 	  }
 	else
 	  {
-	     printf("BUG: Weird event for .directory.eap: %d\n", event);
+	     printf("BUG: Weird event for %s: %d\n", file, event);
 	  }
      }
    else