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);
It would be better, but as you pointed out, I did it like this for consistency with the other signals. My actual use case is to be able to treat the project as a real instance of which there could (in theory) be many, which is why I need to know before it's destroyed. But since none of the other signals give the instance, it'd be weird to just have one that does.