Branch: refs/heads/master
Author: Enrico Tröger <enrico.troeger(a)uvena.de>
Committer: Enrico Tröger <enrico.troeger(a)uvena.de>
Date: Sun, 19 Nov 2023 22:31:47 UTC
Commit: 25f2ecfdc329a9ce3ec8ca061e665338dc3400dd
https://github.com/geany/www.geany.org/commit/25f2ecfdc329a9ce3ec8ca061e665…
Log Message:
-----------
Add 2023 Geany e.V. General Assembly meeting
Modified Paths:
--------------
page_content/association.md
Modified: page_content/association.md
10 lines changed, 9 insertions(+), 1 deletions(-)
===================================================================
@@ -15,7 +15,15 @@ There are no plans to direct the development of Geany itself from the associatio
#### Upcoming meetings
-* None scheduled.
+##### Geany e.V. General Assembly 2023
+Date: 26th November 2023 - 15:00 CET
+Location: Jitsi (ask the association board for details)
+Audience: association members
+Agenda:
+
+- General report
+- Financial report
+
#### Past meetings
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Colomban Wendling <ban(a)herbesfolles.org>
Committer: Colomban Wendling <ban(a)herbesfolles.org>
Date: Thu, 16 Nov 2023 09:56:02 UTC
Commit: f3d466a359c9c501d815938602f24dff6ab622ff
https://github.com/geany/geany/commit/f3d466a359c9c501d815938602f24dff6ab62…
Log Message:
-----------
Avoid an easy-to-fix function cast
plugin_free_leaf() is only used as a GFunc, so make it be one.
Modified Paths:
--------------
src/plugins.c
Modified: src/plugins.c
8 lines changed, 5 insertions(+), 3 deletions(-)
===================================================================
@@ -1297,9 +1297,11 @@ void plugins_init(void)
/* Same as plugin_free(), except it does nothing for proxies-in-use, to be called on
- * finalize in a loop */
-static void plugin_free_leaf(Plugin *p)
+ * finalize in a loop through g_list_foreach() */
+static void plugin_free_leaf(gpointer data, gpointer user_data G_GNUC_UNUSED)
{
+ Plugin *p = data;
+
if (p->proxied_count == 0)
plugin_free(p);
}
@@ -1315,7 +1317,7 @@ void plugins_finalize(void)
/* Have to loop because proxys cannot be unloaded until after all their
* plugins are unloaded as well (the second loop should should catch all the remaining ones) */
while (active_plugin_list != NULL)
- g_list_foreach(active_plugin_list, (GFunc) plugin_free_leaf, NULL);
+ g_list_foreach(active_plugin_list, plugin_free_leaf, NULL);
g_strfreev(active_plugins_pref);
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Colomban Wendling <ban(a)herbesfolles.org>
Committer: Colomban Wendling <ban(a)herbesfolles.org>
Date: Thu, 16 Nov 2023 09:56:02 UTC
Commit: 09b1558d3496a193d2efdd2f99adcb321743fffb
https://github.com/geany/geany/commit/09b1558d3496a193d2efdd2f99adcb321743f…
Log Message:
-----------
Silence warnings on appropriate GSourceFunc casts
`g_source_set_callback()` is a generic API that takes a `GFunc`, but
some specific `GSource`s use other signatures for their callback, so
the cast is valid (given the callback is effectively correct).
Silence warnings from `-Wcast-function-type` by inserting an
intermediate `(void(*)(void))` cast, but keep some type checking by
first casting to the actually wanted type:
(GSourceFunc) (void(*)(void)) (GChildWatchFunc) spawn_watch_cb
which reads from right to left:
- `spawn_watch_cb`, the callback that should match `GChildWatchFunc`;
- `(GChildWatchFunc)`, which allows the compiler to verify the function
is effectively compatible with what we know it should be;
- `(void(*)(void))`, dummy cast to silence `-Wcast-function-type`;
- `(GSourceFunc)`, cast to the type expected by the generic API call.
We could use GLib's `G_SOURCE_FUNC()` cast macro to some extent
(everything but the rightmost cast), but it's in 2.58 which is newer
than our target.
Modified Paths:
--------------
src/spawn.c
Modified: src/spawn.c
10 lines changed, 5 insertions(+), 5 deletions(-)
===================================================================
@@ -1185,7 +1185,7 @@ gboolean spawn_with_callbacks(const gchar *working_directory, const gchar *comma
{
SpawnChannelData *sc = &sw->sc[i];
GIOCondition condition;
- GSourceFunc callback;
+ GIOFunc callback;
if (pipe[i] == -1)
continue;
@@ -1205,15 +1205,15 @@ gboolean spawn_with_callbacks(const gchar *working_directory, const gchar *comma
{
sc->cb.write = stdin_cb;
condition = G_IO_OUT | SPAWN_IO_FAILURE;
- callback = (GSourceFunc) spawn_write_cb;
+ callback = spawn_write_cb;
}
else
{
gboolean line_buffered = !(spawn_flags &
((SPAWN_STDOUT_UNBUFFERED >> 1) << i));
condition = G_IO_IN | G_IO_PRI | SPAWN_IO_FAILURE;
- callback = (GSourceFunc) spawn_read_cb;
+ callback = spawn_read_cb;
if (i == 1)
{
@@ -1245,15 +1245,15 @@ gboolean spawn_with_callbacks(const gchar *working_directory, const gchar *comma
else if (i) /* to avoid new string on each call */
sc->buffer = g_string_sized_new(sc->max_length);
- g_source_set_callback(source, callback, sc, spawn_destroy_cb);
+ g_source_set_callback(source, (GSourceFunc) (void(*)(void)) callback, sc, spawn_destroy_cb);
g_source_attach(source, sw->main_context);
g_source_unref(source);
}
sw->exit_cb = exit_cb;
sw->exit_data = exit_data;
source = g_child_watch_source_new(pid);
- g_source_set_callback(source, (GSourceFunc) spawn_watch_cb, sw, NULL);
+ g_source_set_callback(source, (GSourceFunc) (void(*)(void)) (GChildWatchFunc) spawn_watch_cb, sw, NULL);
g_source_attach(source, sw->main_context);
g_source_unref(source);
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).