[Github-comments] [geany/geany] build.c: Remove g_ptr_array_foreach with gpointer user_data & update HACKING (#2270)

Nick Treleaven notifications at xxxxx
Thu Aug 29 16:24:52 UTC 2019


ntrel commented on this pull request.



> @@ -2577,15 +2565,20 @@ void build_save_menu(GKeyFile *config, gpointer ptr, GeanyBuildSource src)
 				g_key_file_remove_key(config, build_grp_name, "error_regex", NULL);
 			if (pj->priv->build_filetypes_list != NULL)
 			{
-				data.config = config;
-				data.ft_names = g_ptr_array_new();
-				g_ptr_array_foreach(pj->priv->build_filetypes_list, foreach_project_filetype, (gpointer)(&data));
-				if (data.ft_names->pdata != NULL)
+				GPtrArray *ft_names = g_ptr_array_new();
+				guint i;
+				
+				foreach_ptr_array(ft, i, pj->priv->build_filetypes_list)

> what is the reason we keep invalid documents around? If there is a good reason to do that (like not premature optimization)

To avoid reading/writing to freed memory. The API allows people to read from a document pointer in a callback without seeing if they can find the document in documents_array. I don't think this can safely be deprecated, it would cause silent breakage.

> but probably located in the document.h file 

It already is.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/2270#discussion_r319160752
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20190829/aad860b8/attachment.html>


More information about the Github-comments mailing list