[gedit] Free the async data and some tidying up for the cancelled case (though it still is not working prope
- From: Paolo Borelli <pborelli src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] Free the async data and some tidying up for the cancelled case (though it still is not working prope
- Date: Sun, 28 Feb 2010 22:17:14 +0000 (UTC)
commit 1fddb8fd8c03eaa826c7732f9a9f8701b61c9d91
Author: Paolo Borelli <pborelli gnome org>
Date: Sun Feb 28 22:03:35 2010 +0100
Free the async data and some tidying up for the cancelled case
(though it still is not working properly)
gedit/gedit-gio-document-loader.c | 33 ++++++++++++++++++++++-----------
gedit/gedit-gio-document-saver.c | 26 +++++++++++++++++++-------
2 files changed, 41 insertions(+), 18 deletions(-)
---
diff --git a/gedit/gedit-gio-document-loader.c b/gedit/gedit-gio-document-loader.c
index 57a00a0..cc956e2 100644
--- a/gedit/gedit-gio-document-loader.c
+++ b/gedit/gedit-gio-document-loader.c
@@ -234,11 +234,14 @@ get_metadata_encoding (GeditDocumentLoader *loader)
}
static void
-remote_load_completed_or_failed (GeditGioDocumentLoader *gvloader, AsyncData *async)
+remote_load_completed_or_failed (GeditGioDocumentLoader *loader, AsyncData *async)
{
- gedit_document_loader_loading (GEDIT_DOCUMENT_LOADER (async->loader),
+ gedit_document_loader_loading (GEDIT_DOCUMENT_LOADER (loader),
TRUE,
- async->loader->priv->error);
+ loader->priv->error);
+
+ if (async)
+ async_data_free (async);
}
static void
@@ -254,7 +257,9 @@ close_input_stream_ready_cb (GInputStream *stream,
AsyncData *async)
{
GError *error = NULL;
-
+
+ gedit_debug (DEBUG_LOADER);
+
/* check cancelled state manually */
if (g_cancellable_is_cancelled (async->cancellable))
{
@@ -343,21 +348,21 @@ async_read_cb (GInputStream *stream,
{
gedit_debug (DEBUG_LOADER);
GeditGioDocumentLoader *gvloader;
- GeditDocumentLoader *loader;
GError *error = NULL;
- gvloader = async->loader;
- loader = GEDIT_DOCUMENT_LOADER (gvloader);
+ gedit_debug (DEBUG_LOADER);
/* manually check cancelled state */
if (g_cancellable_is_cancelled (async->cancellable))
{
- remote_load_completed_or_failed (gvloader, async);
+ async_data_free (async);
return;
}
+ gvloader = async->loader;
+
async->read = g_input_stream_read_finish (stream, res, &error);
-
+
/* error occurred */
if (async->read == -1)
{
@@ -383,7 +388,11 @@ async_read_cb (GInputStream *stream,
/* end of the file, we are done! */
if (async->read == 0)
{
- GEDIT_DOCUMENT_LOADER (gvloader)->auto_detected_encoding =
+ GeditDocumentLoader *loader;
+
+ loader = GEDIT_DOCUMENT_LOADER (gvloader);
+
+ loader->auto_detected_encoding =
gedit_smart_charset_converter_get_guessed (gvloader->priv->converter);
loader->auto_detected_encoding = gedit_smart_charset_converter_get_guessed (gvloader->priv->converter);
@@ -541,7 +550,9 @@ mount_ready_callback (GFile *file,
{
GError *error = NULL;
gboolean mounted;
-
+
+ gedit_debug (DEBUG_LOADER);
+
/* manual check for cancelled state */
if (g_cancellable_is_cancelled (async->cancellable))
{
diff --git a/gedit/gedit-gio-document-saver.c b/gedit/gedit-gio-document-saver.c
index 8ed75b8..c0e2dd9 100644
--- a/gedit/gedit-gio-document-saver.c
+++ b/gedit/gedit-gio-document-saver.c
@@ -168,12 +168,12 @@ static void
remote_save_completed_or_failed (GeditGioDocumentSaver *gvsaver,
AsyncData *async)
{
- if (async)
- async_data_free (async);
-
gedit_document_saver_saving (GEDIT_DOCUMENT_SAVER (gvsaver),
TRUE,
gvsaver->priv->error);
+
+ if (async)
+ async_data_free (async);
}
static void
@@ -194,7 +194,7 @@ remote_get_info_cb (GFile *source,
GFileInfo *info;
GError *error = NULL;
- saver = async->saver;
+ gedit_debug (DEBUG_SAVER);
/* check cancelled state manually */
if (g_cancellable_is_cancelled (async->cancellable))
@@ -203,6 +203,8 @@ remote_get_info_cb (GFile *source,
return;
}
+ saver = async->saver;
+
gedit_debug_message (DEBUG_SAVER, "Finished query info on file");
info = g_file_query_info_finish (source, res, &error);
@@ -228,7 +230,9 @@ close_async_ready_get_info_cb (GOutputStream *stream,
AsyncData *async)
{
GError *error = NULL;
-
+
+ gedit_debug (DEBUG_SAVER);
+
/* check cancelled state manually */
if (g_cancellable_is_cancelled (async->cancellable))
{
@@ -299,6 +303,8 @@ async_write_cb (GOutputStream *stream,
gssize bytes_written;
GError *error = NULL;
+ gedit_debug (DEBUG_SAVER);
+
/* Check cancelled state manually */
if (g_cancellable_is_cancelled (async->cancellable))
{
@@ -402,6 +408,8 @@ async_replace_ready_callback (GFile *source,
GFileOutputStream *file_stream;
GError *error = NULL;
+ gedit_debug (DEBUG_SAVER);
+
/* Check cancelled state manually */
if (g_cancellable_is_cancelled (async->cancellable))
{
@@ -488,7 +496,9 @@ mount_ready_callback (GFile *file,
{
GError *error = NULL;
gboolean mounted;
-
+
+ gedit_debug (DEBUG_SAVER);
+
/* manual check for cancelled state */
if (g_cancellable_is_cancelled (async->cancellable))
{
@@ -539,7 +549,9 @@ check_modification_callback (GFile *source,
GeditGioDocumentSaver *gvsaver;
GError *error = NULL;
GFileInfo *info;
-
+
+ gedit_debug (DEBUG_SAVER);
+
/* manually check cancelled state */
if (g_cancellable_is_cancelled (async->cancellable))
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]