[latexila/wip/latexila-next: 31/55] Fix the saving of the personal build tools
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [latexila/wip/latexila-next: 31/55] Fix the saving of the personal build tools
- Date: Sun, 28 Sep 2014 15:47:09 +0000 (UTC)
commit d1a9f38b248d4c0b56fcdbcab1b59f75fd91c144
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]