This is an automated email from the git hooks/post-receive script. nomad pushed a commit to branch master in repository apps/xfdashboard.
commit 13b037eedc6e9c329e4ef1dad659f1c3e1c24c48 Author: Stephan Haller <no...@froevel.de> Date: Sat Nov 28 09:55:42 2015 +0100 Another try for a workaround at FreeBSD with broken directory monitor in Glib --- xfdashboard/application-database.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/xfdashboard/application-database.c b/xfdashboard/application-database.c index 4411600..1dfcc17 100644 --- a/xfdashboard/application-database.c +++ b/xfdashboard/application-database.c @@ -881,12 +881,6 @@ static gboolean _xfdashboard_application_database_load_applications_recursive(Xf if(error) { - g_debug("Failed to iterate path '%s' with info=%s@%p and error=@%p", - path, - info ? G_OBJECT_TYPE_NAME(info) : "<nil>", - info, - error); - /* Propagate error */ g_propagate_error(outError, error); @@ -924,6 +918,13 @@ static gboolean _xfdashboard_application_database_load_applications_recursive(Xf monitorData->monitor=g_file_monitor(inCurrentPath, G_FILE_MONITOR_NONE, NULL, &error); if(!monitorData->monitor && error) { +#if defined(__unix__) + /* Workaround for FreeBSD with Glib bug (file/directory monitors cannot be created */ + g_warning("[workaround for FreeBSD] Cannot initialize file monitor for path '%s' - will not detect changes", path); + + /* Clear error as this error will not fail at FreeBSD */ + g_clear_error(&error); +#else g_debug("Failed to initialize file monitor for path '%s'", path); /* Propagate error */ @@ -931,23 +932,28 @@ static gboolean _xfdashboard_application_database_load_applications_recursive(Xf /* Release allocated resources */ if(monitorData) _xfdashboard_application_database_monitor_data_free(monitorData); + if(path) g_free(path); if(topLevelPath) g_free(topLevelPath); if(enumerator) g_object_unref(enumerator); return(FALSE); +#endif } - if(monitorData->monitor) + /* If file monitor could be created, add it to list of file monitors ... */ + if(monitorData && monitorData->monitor) { *ioFileMonitors=g_list_prepend(*ioFileMonitors, monitorData); g_debug("Added file monitor for path '%s'", path); } + /* ... otherwise free file monitor data */ else { - g_warning(_("Could not create file monitor for path '%s' so no changes will be detected"), - path); + if(monitorData) _xfdashboard_application_database_monitor_data_free(monitorData); + + g_debug("Destroying file monitor for path '%s'", path); } g_debug("Finished scanning directory '%s' for search path '%s'", -- To stop receiving notification emails like this one, please contact the administrator of this repository. _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits