[gedit] Handle INVALID_DATA and PARTIAL_INPUT as conversion errors on save
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] Handle INVALID_DATA and PARTIAL_INPUT as conversion errors on save
- Date: Fri, 9 Apr 2010 20:21:23 +0000 (UTC)
commit 31728e836a8e0a77df8d75a729842630a6254be1
Author: Jesse van den Kieboom <jessevdk gnome org>
Date: Fri Apr 9 22:08:52 2010 +0200
Handle INVALID_DATA and PARTIAL_INPUT as conversion errors on save
This handles G_IO_ERROR_INVALID_DATA and
G_IO_ERROR_PARTIAL_INPUT the same way as GConvert errors are
handled.
gedit/gedit-io-error-message-area.c | 3 ++-
gedit/gedit-tab.c | 9 ++++++---
2 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/gedit/gedit-io-error-message-area.c b/gedit/gedit-io-error-message-area.c
index 3b870f2..e116a15 100644
--- a/gedit/gedit-io-error-message-area.c
+++ b/gedit/gedit-io-error-message-area.c
@@ -721,7 +721,8 @@ gedit_conversion_error_while_saving_message_area_new (
g_return_val_if_fail (uri != NULL, NULL);
g_return_val_if_fail (error != NULL, NULL);
- g_return_val_if_fail (error->domain == G_CONVERT_ERROR, NULL);
+ g_return_val_if_fail (error->domain == G_CONVERT_ERROR ||
+ error->domain == G_IO_ERROR, NULL);
g_return_val_if_fail (encoding != NULL, NULL);
full_formatted_uri = gedit_utils_uri_for_display (uri);
diff --git a/gedit/gedit-tab.c b/gedit/gedit-tab.c
index 1dcdcbe..633f6b1 100644
--- a/gedit/gedit-tab.c
+++ b/gedit/gedit-tab.c
@@ -1313,8 +1313,10 @@ document_saved (GeditDocument *document,
G_CALLBACK (no_backup_error_message_area_response),
tab);
}
- else if (error->domain == GEDIT_DOCUMENT_ERROR ||
- error->domain == G_IO_ERROR)
+ else if (error->domain == GEDIT_DOCUMENT_ERROR ||
+ (error->domain == G_IO_ERROR &&
+ error->code != G_IO_ERROR_INVALID_DATA &&
+ error->code != G_IO_ERROR_PARTIAL_INPUT))
{
/* These errors are _NOT_ recoverable */
_gedit_recent_remove (GEDIT_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (tab))),
@@ -1334,7 +1336,8 @@ document_saved (GeditDocument *document,
else
{
/* This error is recoverable */
- g_return_if_fail (error->domain == G_CONVERT_ERROR);
+ g_return_if_fail (error->domain == G_CONVERT_ERROR ||
+ error->domain == G_IO_ERROR);
emsg = gedit_conversion_error_while_saving_message_area_new (
tab->priv->tmp_save_uri,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]