f325b2
From d70bb33567306d21142c13e0de8a1db91a5df5d2 Mon Sep 17 00:00:00 2001
f325b2
From: Pranav Kant <pranavk@gnome.org>
f325b2
Date: Tue, 20 Oct 2015 01:02:56 +0530
f325b2
Subject: [PATCH 223/398] lokdocview: Emit a warning after error
f325b2
f325b2
Change-Id: Id8e20e6561239096438d420c65d0da6dcc7f5e2e
f325b2
Reviewed-on: https://gerrit.libreoffice.org/19474
f325b2
Tested-by: Jenkins <ci@libreoffice.org>
f325b2
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
f325b2
(cherry picked from commit 54409159b8a12ca3d387e2ff2a2e1ff9dad1a2a3)
f325b2
---
f325b2
 libreofficekit/source/gtk/lokdocview.cxx | 106 +++++++++++++++++++++++++++----
f325b2
 libreofficekit/source/gtk/tilebuffer.cxx |  23 ++++++-
f325b2
 2 files changed, 112 insertions(+), 17 deletions(-)
f325b2
f325b2
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
f325b2
index dc1ae5544558..bbb87115fa4f 100644
f325b2
--- a/libreofficekit/source/gtk/lokdocview.cxx
f325b2
+++ b/libreofficekit/source/gtk/lokdocview.cxx
f325b2
@@ -266,6 +266,7 @@ signalKey (GtkWidget* pWidget, GdkEventKey* pEvent)
f325b2
     LOKDocViewPrivate* priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
     int nCharCode = 0;
f325b2
     int nKeyCode = 0;
f325b2
+    GError* error = NULL;
f325b2
 
f325b2
     if (!priv->m_bEdit)
f325b2
     {
f325b2
@@ -339,7 +340,12 @@ signalKey (GtkWidget* pWidget, GdkEventKey* pEvent)
f325b2
         pLOEvent->m_nCharCode = nCharCode;
f325b2
         pLOEvent->m_nKeyCode  = nKeyCode;
f325b2
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
-        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+        if (error != NULL)
f325b2
+        {
f325b2
+            g_warning("Unable to call LOK_POST_KEY: %s", error->message);
f325b2
+            g_clear_error(&error);
f325b2
+        }
f325b2
         g_object_unref(task);
f325b2
     }
f325b2
     else
f325b2
@@ -350,7 +356,12 @@ signalKey (GtkWidget* pWidget, GdkEventKey* pEvent)
f325b2
         pLOEvent->m_nCharCode = nCharCode;
f325b2
         pLOEvent->m_nKeyCode  = nKeyCode;
f325b2
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
-        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+        if (error != NULL)
f325b2
+        {
f325b2
+            g_warning("Unable to call LOK_POST_KEY: %s", error->message);
f325b2
+            g_clear_error(&error);
f325b2
+        }
f325b2
         g_object_unref(task);
f325b2
     }
f325b2
 
f325b2
@@ -950,6 +961,7 @@ lok_doc_view_signal_button(GtkWidget* pWidget, GdkEventButton* pEvent)
f325b2
 {
f325b2
     LOKDocView* pDocView = LOK_DOC_VIEW (pWidget);
f325b2
     LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
+    GError* error = NULL;
f325b2
 
f325b2
     g_info("LOKDocView_Impl::signalButton: %d, %d (in twips: %d, %d)",
f325b2
            (int)pEvent->x, (int)pEvent->y,
f325b2
@@ -992,7 +1004,12 @@ lok_doc_view_signal_button(GtkWidget* pWidget, GdkEventButton* pEvent)
f325b2
                 pLOEvent->m_nSetGraphicSelectionY = pixelToTwip(pEvent->y, priv->m_fZoom);
f325b2
                 g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
 
f325b2
-                g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+                g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+                if (error != NULL)
f325b2
+                {
f325b2
+                    g_warning("Unable to call LOK_SET_GRAPHIC_SELECTION: %s", error->message);
f325b2
+                    g_clear_error(&error);
f325b2
+                }
f325b2
                 g_object_unref(task);
f325b2
 
f325b2
                 return FALSE;
f325b2
@@ -1011,7 +1028,12 @@ lok_doc_view_signal_button(GtkWidget* pWidget, GdkEventButton* pEvent)
f325b2
             pLOEvent->m_nSetGraphicSelectionY = pixelToTwip(pEvent->y, priv->m_fZoom);
f325b2
             g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
 
f325b2
-            g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+            g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+            if (error != NULL)
f325b2
+            {
f325b2
+                g_warning("Unable to call LOK_SET_GRAPHIC_SELECTION: %s", error->message);
f325b2
+                g_clear_error(&error);
f325b2
+            }
f325b2
             g_object_unref(task);
f325b2
 
f325b2
             return FALSE;
f325b2
@@ -1060,7 +1082,12 @@ lok_doc_view_signal_button(GtkWidget* pWidget, GdkEventButton* pEvent)
f325b2
                     pLOEvent->m_nSetGraphicSelectionY = pixelToTwip(priv->m_aGraphicHandleRects[i].y + priv->m_aGraphicHandleRects[i].height / 2, priv->m_fZoom);
f325b2
                     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
 
f325b2
-                    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+                    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+                    if (error != NULL)
f325b2
+                    {
f325b2
+                        g_warning("Unable to call LOK_SET_GRAPHIC_SELECTION: %s", error->message);
f325b2
+                        g_clear_error(&error);
f325b2
+                    }
f325b2
                     g_object_unref(task);
f325b2
 
f325b2
                     return FALSE;
f325b2
@@ -1102,7 +1129,12 @@ lok_doc_view_signal_button(GtkWidget* pWidget, GdkEventButton* pEvent)
f325b2
         priv->m_nLastButtonPressed = pLOEvent->m_nPostMouseEventButton;
f325b2
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
 
f325b2
-        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+        if (error != NULL)
f325b2
+        {
f325b2
+            g_warning("Unable to call LOK_POST_MOUSE_EVENT: %s", error->message);
f325b2
+            g_clear_error(&error);
f325b2
+        }
f325b2
         g_object_unref(task);
f325b2
         break;
f325b2
     }
f325b2
@@ -1134,7 +1166,12 @@ lok_doc_view_signal_button(GtkWidget* pWidget, GdkEventButton* pEvent)
f325b2
         priv->m_nLastButtonPressed = pLOEvent->m_nPostMouseEventButton;
f325b2
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
 
f325b2
-        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+        if (error != NULL)
f325b2
+        {
f325b2
+            g_warning("Unable to call LOK_POST_MOUSE_EVENT: %s", error->message);
f325b2
+            g_clear_error(&error);
f325b2
+        }
f325b2
         g_object_unref(task);
f325b2
         break;
f325b2
     }
f325b2
@@ -1168,6 +1205,7 @@ lok_doc_view_signal_motion (GtkWidget* pWidget, GdkEventMotion* pEvent)
f325b2
     LOKDocView* pDocView = LOK_DOC_VIEW (pWidget);
f325b2
     LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
     GdkPoint aPoint;
f325b2
+    GError* error = NULL;
f325b2
 
f325b2
     priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
f325b2
     if (priv->m_bInDragMiddleHandle)
f325b2
@@ -1222,7 +1260,12 @@ lok_doc_view_signal_motion (GtkWidget* pWidget, GdkEventMotion* pEvent)
f325b2
         pLOEvent->m_nSetGraphicSelectionY = pixelToTwip(pEvent->y, priv->m_fZoom);
f325b2
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
 
f325b2
-        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+        if (error != NULL)
f325b2
+        {
f325b2
+            g_warning("Unable to call LOK_SET_GRAPHIC_SELECTION: %s", error->message);
f325b2
+            g_clear_error(&error);
f325b2
+        }
f325b2
         g_object_unref(task);
f325b2
 
f325b2
         return FALSE;
f325b2
@@ -1241,7 +1284,12 @@ lok_doc_view_signal_motion (GtkWidget* pWidget, GdkEventMotion* pEvent)
f325b2
 
f325b2
     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
 
f325b2
-    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+    if (error != NULL)
f325b2
+    {
f325b2
+        g_warning("Unable to call LOK_MOUSEEVENT_MOUSEMOVE: %s", error->message);
f325b2
+        g_clear_error(&error);
f325b2
+    }
f325b2
     g_object_unref(task);
f325b2
 
f325b2
     return FALSE;
f325b2
@@ -1986,6 +2034,7 @@ lok_doc_view_open_document (LOKDocView* pDocView,
f325b2
 {
f325b2
     GTask* task = g_task_new(pDocView, cancellable, callback, userdata);
f325b2
     LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
+    GError* error = NULL;
f325b2
 
f325b2
     LOEvent* pLOEvent = new LOEvent(LOK_LOAD_DOC);
f325b2
     pLOEvent->m_pPath = pPath;
f325b2
@@ -1993,7 +2042,12 @@ lok_doc_view_open_document (LOKDocView* pDocView,
f325b2
     priv->m_aDocPath = pPath;
f325b2
     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
 
f325b2
-    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+    if (error != NULL)
f325b2
+    {
f325b2
+        g_warning("Unable to call LOK_LOAD_DOC: %s", error->message);
f325b2
+        g_clear_error(&error);
f325b2
+    }
f325b2
     g_object_unref(task);
f325b2
 }
f325b2
 
f325b2
@@ -2051,11 +2105,17 @@ lok_doc_view_set_part (LOKDocView* pDocView, int nPart)
f325b2
     LOKDocViewPrivate* priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
     GTask* task = g_task_new(pDocView, NULL, NULL, NULL);
f325b2
     LOEvent* pLOEvent = new LOEvent(LOK_SET_PART);
f325b2
+    GError* error = NULL;
f325b2
 
f325b2
     pLOEvent->m_nPart = nPart;
f325b2
     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
 
f325b2
-    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+    if (error != NULL)
f325b2
+    {
f325b2
+        g_warning("Unable to call LOK_SET_PART: %s", error->message);
f325b2
+        g_clear_error(&error);
f325b2
+    }
f325b2
     g_object_unref(task);
f325b2
 }
f325b2
 
f325b2
@@ -2074,10 +2134,16 @@ lok_doc_view_set_partmode(LOKDocView* pDocView,
f325b2
     LOKDocViewPrivate* priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
     GTask* task = g_task_new(pDocView, NULL, NULL, NULL);
f325b2
     LOEvent* pLOEvent = new LOEvent(LOK_SET_PARTMODE);
f325b2
+    GError* error = NULL;
f325b2
     pLOEvent->m_nPartMode = nPartMode;
f325b2
     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
 
f325b2
-    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+    if (error != NULL)
f325b2
+    {
f325b2
+        g_warning("Unable to call LOK_SET_PARTMODE: %s", error->message);
f325b2
+        g_clear_error(&error);
f325b2
+    }
f325b2
     g_object_unref(task);
f325b2
 }
f325b2
 
f325b2
@@ -2133,10 +2199,16 @@ lok_doc_view_set_edit(LOKDocView* pDocView,
f325b2
     LOKDocViewPrivate* priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
     GTask* task = g_task_new(pDocView, NULL, NULL, NULL);
f325b2
     LOEvent* pLOEvent = new LOEvent(LOK_SET_EDIT);
f325b2
+    GError* error = NULL;
f325b2
     pLOEvent->m_bEdit = bEdit;
f325b2
     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
 
f325b2
-    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+    if (error != NULL)
f325b2
+    {
f325b2
+        g_warning("Unable to call LOK_SET_EDIT: %s", error->message);
f325b2
+        g_clear_error(&error);
f325b2
+    }
f325b2
     g_object_unref(task);
f325b2
 }
f325b2
 
f325b2
@@ -2156,11 +2228,17 @@ lok_doc_view_post_command (LOKDocView* pDocView,
f325b2
     LOKDocViewPrivate* priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
     GTask* task = g_task_new(pDocView, NULL, NULL, NULL);
f325b2
     LOEvent* pLOEvent = new LOEvent(LOK_POST_COMMAND);
f325b2
+    GError* error = NULL;
f325b2
     pLOEvent->m_pCommand = pCommand;
f325b2
     pLOEvent->m_pArguments  = g_strdup(pArguments);
f325b2
 
f325b2
     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
-    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
f325b2
+    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
f325b2
+    if (error != NULL)
f325b2
+    {
f325b2
+        g_warning("Unable to call LOK_POST_COMMAND: %s", error->message);
f325b2
+        g_clear_error(&error);
f325b2
+    }
f325b2
     g_object_unref(task);
f325b2
 }
f325b2
 
f325b2
diff --git a/libreofficekit/source/gtk/tilebuffer.cxx b/libreofficekit/source/gtk/tilebuffer.cxx
f325b2
index 992f06cd5e00..2f4e6cf123c1 100644
f325b2
--- a/libreofficekit/source/gtk/tilebuffer.cxx
f325b2
+++ b/libreofficekit/source/gtk/tilebuffer.cxx
f325b2
@@ -61,6 +61,7 @@ void TileBuffer::setInvalid(int x, int y, float fZoom, GTask* task,
f325b2
                             GThreadPool* lokThreadPool)
f325b2
 {
f325b2
     int index = x * m_nWidth + y;
f325b2
+    GError* error = NULL;
f325b2
     if (m_mTiles.find(index) != m_mTiles.end())
f325b2
     {
f325b2
         m_mTiles[index].valid = false;
f325b2
@@ -70,7 +71,12 @@ void TileBuffer::setInvalid(int x, int y, float fZoom, GTask* task,
f325b2
         pLOEvent->m_nPaintTileY = y;
f325b2
         pLOEvent->m_fPaintTileZoom = fZoom;
f325b2
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
-        g_thread_pool_push(lokThreadPool, g_object_ref(task), NULL);
f325b2
+        g_thread_pool_push(lokThreadPool, g_object_ref(task), &error);
f325b2
+        if (error != NULL)
f325b2
+        {
f325b2
+            g_warning("Unable to call LOK_PAINT_TILE: %s", error->message);
f325b2
+            g_clear_error(&error);
f325b2
+        }
f325b2
     }
f325b2
 }
f325b2
 
f325b2
@@ -78,6 +84,7 @@ Tile& TileBuffer::getTile(int x, int y, float fZoom, GTask* task,
f325b2
                           GThreadPool* lokThreadPool)
f325b2
 {
f325b2
     int index = x * m_nWidth + y;
f325b2
+    GError* error = NULL;
f325b2
 
f325b2
     if (m_mTiles.find(index) != m_mTiles.end() && !m_mTiles[index].valid)
f325b2
     {
f325b2
@@ -86,7 +93,12 @@ Tile& TileBuffer::getTile(int x, int y, float fZoom, GTask* task,
f325b2
         pLOEvent->m_nPaintTileY = y;
f325b2
         pLOEvent->m_fPaintTileZoom = fZoom;
f325b2
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
-        g_thread_pool_push(lokThreadPool, g_object_ref(task), NULL);
f325b2
+        g_thread_pool_push(lokThreadPool, g_object_ref(task), &error);
f325b2
+        if (error != NULL)
f325b2
+        {
f325b2
+            g_warning("Unable to call LOK_PAINT_TILE: %s", error->message);
f325b2
+            g_clear_error(&error);
f325b2
+        }
f325b2
         return m_mTiles[index];
f325b2
     }
f325b2
     else if(m_mTiles.find(index) == m_mTiles.end())
f325b2
@@ -96,7 +108,12 @@ Tile& TileBuffer::getTile(int x, int y, float fZoom, GTask* task,
f325b2
         pLOEvent->m_nPaintTileY = y;
f325b2
         pLOEvent->m_fPaintTileZoom = fZoom;
f325b2
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
f325b2
-        g_thread_pool_push(lokThreadPool, g_object_ref(task), NULL);
f325b2
+        g_thread_pool_push(lokThreadPool, g_object_ref(task), &error);
f325b2
+        if (error != NULL)
f325b2
+        {
f325b2
+            g_warning("Unable to call LOK_PAINT_TILE: %s", error->message);
f325b2
+            g_clear_error(&error);
f325b2
+        }
f325b2
         return m_DummyTile;
f325b2
     }
f325b2
 
f325b2
-- 
f325b2
2.12.0
f325b2