Codebase list cinnamon-menus / 003e744
entry-directories: protect event handling for directories If a new desktop file is created or deleted in a monitored directory, the desktop cache is cleared completely, and the CachedDir structure is freed, which causes a segfault. Protect it as long as the new event is queued and later handled. https://bugzilla.gnome.org/show_bug.cgi?id=720460 Giovanni Campagna authored 10 years ago Clement Lefebvre committed 6 years ago
1 changed file(s) with 3 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
549549 basename = g_path_get_basename (path);
550550
551551 dir = cached_dir_lookup (dirname);
552 cached_dir_add_reference (dir);
552553
553554 if (g_str_has_suffix (basename, ".desktop") ||
554555 g_str_has_suffix (basename, ".directory"))
655656
656657 cached_dir_queue_monitor_event (dir);
657658 }
659
660 cached_dir_remove_reference (dir);
658661 }
659662
660663 static void