[gnome-builder/gnome-builder-3-24] libide: unregister auto-save on save buffer
- From: Sébastien Lafargue <slafargue src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/gnome-builder-3-24] libide: unregister auto-save on save buffer
- Date: Sun, 2 Apr 2017 21:38:13 +0000 (UTC)
commit 339975c02baf44bf9cb42b0d8aec35154ffc7c67
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 f57cc78..06819b0 100644
--- a/libide/buffers/ide-buffer-manager.c
+++ b/libide/buffers/ide-buffer-manager.c
@@ -334,6 +334,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));
@@ -345,16 +346,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;
}
@@ -1149,6 +1154,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]