[latexila] Fix the saving of the personal build tools
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [latexila] Fix the saving of the personal build tools
- Date: Sun, 5 Oct 2014 16:26:07 +0000 (UTC)
commit 94137b4c580318f7f471b867e04e34f4376ce66f
Author: Sébastien Wilmet <swilmet gnome org>
Date: Wed May 7 22:05:40 2014 +0200
Fix the saving of the personal build tools
Hold the application alive when the personal build tools are saved.
And do the save (asynchronously) when the BuildToolsPreferences dialog
is closed.
src/build_tools_preferences.vala | 1 +
src/latexila_app.vala | 1 -
src/liblatexila/latexila-build-tools-personal.c | 8 ++++++--
3 files changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/src/build_tools_preferences.vala b/src/build_tools_preferences.vala
index 528ed9d..5e90867 100644
--- a/src/build_tools_preferences.vala
+++ b/src/build_tools_preferences.vala
@@ -67,6 +67,7 @@ public class BuildToolsPreferences : GLib.Object
_dialog.run ();
_dialog.destroy ();
+ Latexila.BuildToolsPersonal.get_instance ().save ();
}
private void init_views ()
diff --git a/src/latexila_app.vala b/src/latexila_app.vala
index c5b1ae1..1a709f3 100644
--- a/src/latexila_app.vala
+++ b/src/latexila_app.vala
@@ -47,7 +47,6 @@ public class LatexilaApp : Gtk.Application
{
hold ();
Projects.get_default ().save ();
- Latexila.BuildToolsPersonal.get_instance ().save ();
MostUsedSymbols.get_default ().save ();
Gtk.AccelMap.save (get_accel_filename ());
release ();
diff --git a/src/liblatexila/latexila-build-tools-personal.c b/src/liblatexila/latexila-build-tools-personal.c
index 54f3643..e2262c4 100644
--- a/src/liblatexila/latexila-build-tools-personal.c
+++ b/src/liblatexila/latexila-build-tools-personal.c
@@ -147,13 +147,14 @@ save_cb (GFile *xml_file,
build_tools->priv->xml_file_contents = NULL;
g_object_unref (build_tools);
+ g_application_release (g_application_get_default ());
}
/**
* latexila_build_tools_personal_save:
* @build_tools: the #LatexilaBuildToolsPersonal instance.
*
- * Saves the personal build tools into the XML file.
+ * Saves asynchronously the personal build tools into the XML file.
*/
void
latexila_build_tools_personal_save (LatexilaBuildToolsPersonal *build_tools)
@@ -187,8 +188,11 @@ latexila_build_tools_personal_save (LatexilaBuildToolsPersonal *build_tools)
g_string_append (contents, "</tools>\n");
- /* Avoid finalization of build_tools during the async operation. */
+ /* Avoid finalization of build_tools during the async operation. And keep the
+ * application running.
+ */
g_object_ref (build_tools);
+ g_application_hold (g_application_get_default ());
xml_file = get_xml_file ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]