/* delete the specified filter (called from g_slist_foreach) */ static void color_filter_delete_cb(gpointer filter_arg, gpointer unused _U_) { color_filter_t *colorf = (color_filter_t *)filter_arg; color_filter_delete(colorf); }
static void color_filter_validate_cb(gpointer filter_arg, gpointer unused _U_) { color_filter_t *colorf = (color_filter_t *)filter_arg; g_assert(colorf->c_colorfilter == NULL); if (!dfilter_compile(colorf->filter_text, &colorf->c_colorfilter)) { simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "Removing color filter name: \"%s\" text: \"%s\".\n%s", colorf->filter_name, colorf->filter_text, dfilter_error_msg); /* Delete the color filter from the list of color filters. */ color_filter_valid_list = g_slist_remove(color_filter_valid_list, colorf); color_filter_delete(colorf); } }
static void color_filter_validate_cb(gpointer filter_arg, gpointer err) { color_filter_t *colorf = (color_filter_t *)filter_arg; gchar **err_msg = (gchar**)err; gchar *local_err_msg; g_assert(colorf->c_colorfilter == NULL); if (!dfilter_compile(colorf->filter_text, &colorf->c_colorfilter, &local_err_msg)) { *err_msg = g_strdup_printf("Removing color filter name: \"%s\" text: \"%s\".\n%s", colorf->filter_name, colorf->filter_text, local_err_msg); g_free(local_err_msg); /* Delete the color filter from the list of color filters. */ color_filter_valid_list = g_slist_remove(color_filter_valid_list, colorf); color_filter_delete(colorf); } }