[gnome-builder] libide: unregister auto-save on save buffer
- From: Sébastien Lafargue <slafargue src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] libide: unregister auto-save on save buffer
- Date: Sun, 2 Apr 2017 21:29:45 +0000 (UTC)
commit dd11bc662e9e5eda19ea0bfe7ed3e9c19534a0fd
Author: Gennady Kovalev <gik bigur ru>
Date: Sun Apr 2 23:45:59 2017 +0300
libide: unregister auto-save on save buffer
Unregister auto-save timer on save file by user.
https://bugzilla.gnome.org/show_bug.cgi?id=780847
libide/buffers/ide-buffer-manager.c | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
---
diff --git a/libide/buffers/ide-buffer-manager.c b/libide/buffers/ide-buffer-manager.c
index 2341319..c1aa9c9 100644
--- a/libide/buffers/ide-buffer-manager.c
+++ b/libide/buffers/ide-buffer-manager.c
@@ -335,6 +335,7 @@ static gboolean
ide_buffer_manager_auto_save_cb (gpointer data)
{
AutoSave *state = data;
+ gboolean saved = FALSE;
g_assert (state);
g_assert (IDE_IS_BUFFER_MANAGER (state->self));
@@ -346,16 +347,20 @@ ide_buffer_manager_auto_save_cb (gpointer data)
IdeFile *file = ide_buffer_get_file (state->buffer);
if (file != NULL)
- ide_buffer_manager_save_file_async (state->self,
- state->buffer,
- file,
- NULL,
- NULL,
- NULL,
- NULL);
+ {
+ ide_buffer_manager_save_file_async (state->self,
+ state->buffer,
+ file,
+ NULL,
+ NULL,
+ NULL,
+ NULL);
+ saved = TRUE;
+ }
}
- unregister_auto_save (state->self, state->buffer);
+ if (!saved)
+ unregister_auto_save (state->self, state->buffer);
return G_SOURCE_REMOVE;
}
@@ -1150,6 +1155,8 @@ ide_buffer_manager_save_file_async (IdeBufferManager *self,
cancellable,
ide_buffer_manager_save_file__load_settings_cb,
g_object_ref (task));
+
+ unregister_auto_save (self, state->buffer);
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]