- Fixed a bug causing unnecessary menu cache reload and related issues with LXDE launch menu
- Bump PORTREVISION
This commit is contained in:
parent
b4c88ee7c5
commit
ba4bdeed25
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=271119
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= menu-cache
|
||||
PORTVERSION= 0.3.2
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= x11
|
||||
MASTER_SITES= SF/lxde/menu-cache/menu-cache%20${PORTVERSION}/
|
||||
|
||||
|
32
x11/menu-cache/files/patch-menu-cached.c
Normal file
32
x11/menu-cache/files/patch-menu-cached.c
Normal file
@ -0,0 +1,32 @@
|
||||
--- menu-cache-daemon/menu-cached.c.o 2011-03-17 10:58:03.876822788 -0400
|
||||
+++ menu-cache-daemon/menu-cached.c 2011-03-17 10:58:49.355824755 -0400
|
||||
@@ -341,6 +341,29 @@
|
||||
GFileMonitorEvent evt, Cache* cache )
|
||||
{
|
||||
/* DEBUG("file %s is changed (%d).", g_file_get_path(gf), evt); */
|
||||
+
|
||||
+ if ( evt == G_FILE_MONITOR_EVENT_DELETED )
|
||||
+ {
|
||||
+ int idx;
|
||||
+ /* dirty hack: get index of the monitor in array */
|
||||
+ for(idx = 0; idx < cache->n_files; ++idx)
|
||||
+ {
|
||||
+ if(mon == cache->mons[idx])
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ /* Check if this file or directory was already removed from the cache */
|
||||
+ char* changed_file = g_file_get_path(gf);
|
||||
+ char* dir_path = cache->files[idx]+1;
|
||||
+ int len = strlen(dir_path);
|
||||
+ char* base_name = changed_file + len + 1;
|
||||
+ gboolean in_cache = is_desktop_file_in_cache(cache, idx, base_name);
|
||||
+ if( ! in_cache ) { /* Means this file was already deleted, no need to refresh cache */
|
||||
+ DEBUG("files are changed, but no re-generation is needed.");
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
/* if( mon != cache->cache_mon ) */
|
||||
{
|
||||
/* Optimization: Some files in the dir are changed, but it
|
Loading…
Reference in New Issue
Block a user