|
 |
f325b2 |
From f752c0f12b0e903eb958e48ec1b88e4bc70778f9 Mon Sep 17 00:00:00 2001
|
|
 |
f325b2 |
From: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
 |
f325b2 |
Date: Fri, 18 Sep 2015 10:58:24 +0200
|
|
 |
f325b2 |
Subject: [PATCH 152/398] gtktiledviewer: don't crash on opening non-existing
|
|
 |
f325b2 |
files
|
|
 |
f325b2 |
|
|
 |
f325b2 |
Change-Id: Ic48adaf038e8fbcc86a94b5e351d2f963fcfcd16
|
|
 |
f325b2 |
(cherry picked from commit 43b2103f932c92374e2ba2ab0ec1006582a0f646)
|
|
 |
f325b2 |
---
|
|
 |
f325b2 |
libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 16 ++++++++++++++--
|
|
 |
f325b2 |
libreofficekit/source/gtk/lokdocview.cxx | 2 --
|
|
 |
f325b2 |
2 files changed, 14 insertions(+), 4 deletions(-)
|
|
 |
f325b2 |
|
|
 |
f325b2 |
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
f325b2 |
index 5a18aee50bf3..8e64972be17d 100644
|
|
 |
f325b2 |
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
f325b2 |
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
f325b2 |
@@ -553,8 +553,20 @@ static void openDocumentCallback (GObject* source_object, GAsyncResult* res, gpo
|
|
 |
f325b2 |
|
|
 |
f325b2 |
if (!lok_doc_view_open_document_finish(pDocView, res, &error))
|
|
 |
f325b2 |
{
|
|
 |
f325b2 |
- g_warning ("Error occurred while opening the document : %s", error->message);
|
|
 |
f325b2 |
- g_error_free (error);
|
|
 |
f325b2 |
+ GtkDialogFlags eFlags = GTK_DIALOG_DESTROY_WITH_PARENT;
|
|
 |
f325b2 |
+ GtkWidget* pDialog = gtk_message_dialog_new(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(pDocView))),
|
|
 |
f325b2 |
+ eFlags,
|
|
 |
f325b2 |
+ GTK_MESSAGE_ERROR,
|
|
 |
f325b2 |
+ GTK_BUTTONS_CLOSE,
|
|
 |
f325b2 |
+ "Error occurred while opening the document: '%s'",
|
|
 |
f325b2 |
+ error->message);
|
|
 |
f325b2 |
+ gtk_dialog_run(GTK_DIALOG(pDialog));
|
|
 |
f325b2 |
+ gtk_widget_destroy(pDialog);
|
|
 |
f325b2 |
+
|
|
 |
f325b2 |
+ g_error_free(error);
|
|
 |
f325b2 |
+ gtk_widget_destroy(GTK_WIDGET(pDocView));
|
|
 |
f325b2 |
+ gtk_main_quit();
|
|
 |
f325b2 |
+ return;
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
|
|
 |
f325b2 |
populatePartSelector(pDocView);
|
|
 |
f325b2 |
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
f325b2 |
index f8202c339587..60304b4ff59c 100644
|
|
 |
f325b2 |
--- a/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
f325b2 |
+++ b/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
f325b2 |
@@ -1225,9 +1225,7 @@ openDocumentInThread (gpointer data)
|
|
 |
f325b2 |
priv->m_pDocument = priv->m_pOffice->pClass->documentLoad( priv->m_pOffice, priv->m_aDocPath );
|
|
 |
f325b2 |
if ( !priv->m_pDocument )
|
|
 |
f325b2 |
{
|
|
 |
f325b2 |
- // FIXME: should have a GError parameter and populate it.
|
|
 |
f325b2 |
char *pError = priv->m_pOffice->pClass->getError( priv->m_pOffice );
|
|
 |
f325b2 |
- fprintf( stderr, "Error opening document '%s'\n", pError );
|
|
 |
f325b2 |
g_task_return_new_error(task, 0, 0, "%s", pError);
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
else
|
|
 |
f325b2 |
--
|
|
 |
f325b2 |
2.12.0
|
|
 |
f325b2 |
|