SF.net SVN: geany:[5972] branches/unstable
ntrel at users.sourceforge.net
ntrel at xxxxx
Thu Sep 29 18:03:37 UTC 2011
Revision: 5972
http://geany.svn.sourceforge.net/geany/?rev=5972&view=rev
Author: ntrel
Date: 2011-09-29 18:03:36 +0000 (Thu, 29 Sep 2011)
Log Message:
-----------
When saving on build, prompt for a filename if necessary.
Emit the "build-start" signal only if saving succeeds.
Modified Paths:
--------------
branches/unstable/ChangeLog
branches/unstable/doc/pluginsignals.c
branches/unstable/src/build.c
Modified: branches/unstable/ChangeLog
===================================================================
--- branches/unstable/ChangeLog 2011-09-29 17:49:42 UTC (rev 5971)
+++ branches/unstable/ChangeLog 2011-09-29 18:03:36 UTC (rev 5972)
@@ -1,3 +1,10 @@
+2011-09-29 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/build.c, doc/pluginsignals.c:
+ When saving on build, prompt for a filename if necessary.
+ Emit the "build-start" signal only if saving succeeds.
+
+
2011-09-21 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/build.c:
Modified: branches/unstable/doc/pluginsignals.c
===================================================================
--- branches/unstable/doc/pluginsignals.c 2011-09-29 17:49:42 UTC (rev 5971)
+++ branches/unstable/doc/pluginsignals.c 2011-09-29 18:03:36 UTC (rev 5972)
@@ -187,7 +187,7 @@
*/
signal void (*geany_startup_complete)(GObject *obj, gpointer user_data);
-/** Sent before build is started. Plugins can use this signal e.g. to save the opened documents
+/** Sent before build is started. A plugin could use this signal e.g. to save all unsaved documents
* before the build starts.
*
* @param obj a GeanyObject instance, should be ignored.
Modified: branches/unstable/src/build.c
===================================================================
--- branches/unstable/src/build.c 2011-09-29 17:49:42 UTC (rev 5971)
+++ branches/unstable/src/build.c 2011-09-29 18:03:36 UTC (rev 5972)
@@ -1272,10 +1272,16 @@
gint grp = GPOINTER_TO_GRP(user_data);
gint cmd = GPOINTER_TO_CMD(user_data);
+ if (doc && doc->changed)
+ {
+ if (document_need_save_as(doc) && !dialogs_show_save_as())
+ return;
+
+ if (!document_save_file(doc, FALSE))
+ return;
+ }
g_signal_emit_by_name(geany_object, "build-start");
- if (doc && doc->changed)
- document_save_file(doc, FALSE);
if (grp == GEANY_GBG_NON_FT && cmd == GBO_TO_CMD(GEANY_GBO_CUSTOM))
{
static GtkWidget *dialog = NULL; /* keep dialog for combo history */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list