codebrainz commented on this pull request.
@@ -156,6 +156,12 @@ static void create_signals(GObjectClass *g_object_class)
G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + geany_object_signals[GDB_PROJECT_BEFORE_CLOSE] = g_signal_new ( + "project-before-close", + G_OBJECT_CLASS_TYPE (g_object_class), + G_SIGNAL_RUN_FIRST, + 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0);
To do that would only require moving [the signal emission](https://github.com/geany/geany/blob/1.28.0/src/project.c#L467) to the top of the same function.