Blob Blame History Raw
From d70bb33567306d21142c13e0de8a1db91a5df5d2 Mon Sep 17 00:00:00 2001
From: Pranav Kant <pranavk@gnome.org>
Date: Tue, 20 Oct 2015 01:02:56 +0530
Subject: [PATCH 223/398] lokdocview: Emit a warning after error

Change-Id: Id8e20e6561239096438d420c65d0da6dcc7f5e2e
Reviewed-on: https://gerrit.libreoffice.org/19474
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
(cherry picked from commit 54409159b8a12ca3d387e2ff2a2e1ff9dad1a2a3)
---
 libreofficekit/source/gtk/lokdocview.cxx | 106 +++++++++++++++++++++++++++----
 libreofficekit/source/gtk/tilebuffer.cxx |  23 ++++++-
 2 files changed, 112 insertions(+), 17 deletions(-)

diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
index dc1ae5544558..bbb87115fa4f 100644
--- a/libreofficekit/source/gtk/lokdocview.cxx
+++ b/libreofficekit/source/gtk/lokdocview.cxx
@@ -266,6 +266,7 @@ signalKey (GtkWidget* pWidget, GdkEventKey* pEvent)
     LOKDocViewPrivate* priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
     int nCharCode = 0;
     int nKeyCode = 0;
+    GError* error = NULL;
 
     if (!priv->m_bEdit)
     {
@@ -339,7 +340,12 @@ signalKey (GtkWidget* pWidget, GdkEventKey* pEvent)
         pLOEvent->m_nCharCode = nCharCode;
         pLOEvent->m_nKeyCode  = nKeyCode;
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
-        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+        if (error != NULL)
+        {
+            g_warning("Unable to call LOK_POST_KEY: %s", error->message);
+            g_clear_error(&error);
+        }
         g_object_unref(task);
     }
     else
@@ -350,7 +356,12 @@ signalKey (GtkWidget* pWidget, GdkEventKey* pEvent)
         pLOEvent->m_nCharCode = nCharCode;
         pLOEvent->m_nKeyCode  = nKeyCode;
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
-        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+        if (error != NULL)
+        {
+            g_warning("Unable to call LOK_POST_KEY: %s", error->message);
+            g_clear_error(&error);
+        }
         g_object_unref(task);
     }
 
@@ -950,6 +961,7 @@ lok_doc_view_signal_button(GtkWidget* pWidget, GdkEventButton* pEvent)
 {
     LOKDocView* pDocView = LOK_DOC_VIEW (pWidget);
     LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
+    GError* error = NULL;
 
     g_info("LOKDocView_Impl::signalButton: %d, %d (in twips: %d, %d)",
            (int)pEvent->x, (int)pEvent->y,
@@ -992,7 +1004,12 @@ lok_doc_view_signal_button(GtkWidget* pWidget, GdkEventButton* pEvent)
                 pLOEvent->m_nSetGraphicSelectionY = pixelToTwip(pEvent->y, priv->m_fZoom);
                 g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
 
-                g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+                g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+                if (error != NULL)
+                {
+                    g_warning("Unable to call LOK_SET_GRAPHIC_SELECTION: %s", error->message);
+                    g_clear_error(&error);
+                }
                 g_object_unref(task);
 
                 return FALSE;
@@ -1011,7 +1028,12 @@ lok_doc_view_signal_button(GtkWidget* pWidget, GdkEventButton* pEvent)
             pLOEvent->m_nSetGraphicSelectionY = pixelToTwip(pEvent->y, priv->m_fZoom);
             g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
 
-            g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+            g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+            if (error != NULL)
+            {
+                g_warning("Unable to call LOK_SET_GRAPHIC_SELECTION: %s", error->message);
+                g_clear_error(&error);
+            }
             g_object_unref(task);
 
             return FALSE;
@@ -1060,7 +1082,12 @@ lok_doc_view_signal_button(GtkWidget* pWidget, GdkEventButton* pEvent)
                     pLOEvent->m_nSetGraphicSelectionY = pixelToTwip(priv->m_aGraphicHandleRects[i].y + priv->m_aGraphicHandleRects[i].height / 2, priv->m_fZoom);
                     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
 
-                    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+                    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+                    if (error != NULL)
+                    {
+                        g_warning("Unable to call LOK_SET_GRAPHIC_SELECTION: %s", error->message);
+                        g_clear_error(&error);
+                    }
                     g_object_unref(task);
 
                     return FALSE;
@@ -1102,7 +1129,12 @@ lok_doc_view_signal_button(GtkWidget* pWidget, GdkEventButton* pEvent)
         priv->m_nLastButtonPressed = pLOEvent->m_nPostMouseEventButton;
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
 
-        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+        if (error != NULL)
+        {
+            g_warning("Unable to call LOK_POST_MOUSE_EVENT: %s", error->message);
+            g_clear_error(&error);
+        }
         g_object_unref(task);
         break;
     }
@@ -1134,7 +1166,12 @@ lok_doc_view_signal_button(GtkWidget* pWidget, GdkEventButton* pEvent)
         priv->m_nLastButtonPressed = pLOEvent->m_nPostMouseEventButton;
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
 
-        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+        if (error != NULL)
+        {
+            g_warning("Unable to call LOK_POST_MOUSE_EVENT: %s", error->message);
+            g_clear_error(&error);
+        }
         g_object_unref(task);
         break;
     }
@@ -1168,6 +1205,7 @@ lok_doc_view_signal_motion (GtkWidget* pWidget, GdkEventMotion* pEvent)
     LOKDocView* pDocView = LOK_DOC_VIEW (pWidget);
     LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
     GdkPoint aPoint;
+    GError* error = NULL;
 
     priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
     if (priv->m_bInDragMiddleHandle)
@@ -1222,7 +1260,12 @@ lok_doc_view_signal_motion (GtkWidget* pWidget, GdkEventMotion* pEvent)
         pLOEvent->m_nSetGraphicSelectionY = pixelToTwip(pEvent->y, priv->m_fZoom);
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
 
-        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+        g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+        if (error != NULL)
+        {
+            g_warning("Unable to call LOK_SET_GRAPHIC_SELECTION: %s", error->message);
+            g_clear_error(&error);
+        }
         g_object_unref(task);
 
         return FALSE;
@@ -1241,7 +1284,12 @@ lok_doc_view_signal_motion (GtkWidget* pWidget, GdkEventMotion* pEvent)
 
     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
 
-    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+    if (error != NULL)
+    {
+        g_warning("Unable to call LOK_MOUSEEVENT_MOUSEMOVE: %s", error->message);
+        g_clear_error(&error);
+    }
     g_object_unref(task);
 
     return FALSE;
@@ -1986,6 +2034,7 @@ lok_doc_view_open_document (LOKDocView* pDocView,
 {
     GTask* task = g_task_new(pDocView, cancellable, callback, userdata);
     LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
+    GError* error = NULL;
 
     LOEvent* pLOEvent = new LOEvent(LOK_LOAD_DOC);
     pLOEvent->m_pPath = pPath;
@@ -1993,7 +2042,12 @@ lok_doc_view_open_document (LOKDocView* pDocView,
     priv->m_aDocPath = pPath;
     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
 
-    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+    if (error != NULL)
+    {
+        g_warning("Unable to call LOK_LOAD_DOC: %s", error->message);
+        g_clear_error(&error);
+    }
     g_object_unref(task);
 }
 
@@ -2051,11 +2105,17 @@ lok_doc_view_set_part (LOKDocView* pDocView, int nPart)
     LOKDocViewPrivate* priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
     GTask* task = g_task_new(pDocView, NULL, NULL, NULL);
     LOEvent* pLOEvent = new LOEvent(LOK_SET_PART);
+    GError* error = NULL;
 
     pLOEvent->m_nPart = nPart;
     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
 
-    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+    if (error != NULL)
+    {
+        g_warning("Unable to call LOK_SET_PART: %s", error->message);
+        g_clear_error(&error);
+    }
     g_object_unref(task);
 }
 
@@ -2074,10 +2134,16 @@ lok_doc_view_set_partmode(LOKDocView* pDocView,
     LOKDocViewPrivate* priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
     GTask* task = g_task_new(pDocView, NULL, NULL, NULL);
     LOEvent* pLOEvent = new LOEvent(LOK_SET_PARTMODE);
+    GError* error = NULL;
     pLOEvent->m_nPartMode = nPartMode;
     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
 
-    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+    if (error != NULL)
+    {
+        g_warning("Unable to call LOK_SET_PARTMODE: %s", error->message);
+        g_clear_error(&error);
+    }
     g_object_unref(task);
 }
 
@@ -2133,10 +2199,16 @@ lok_doc_view_set_edit(LOKDocView* pDocView,
     LOKDocViewPrivate* priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
     GTask* task = g_task_new(pDocView, NULL, NULL, NULL);
     LOEvent* pLOEvent = new LOEvent(LOK_SET_EDIT);
+    GError* error = NULL;
     pLOEvent->m_bEdit = bEdit;
     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
 
-    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+    if (error != NULL)
+    {
+        g_warning("Unable to call LOK_SET_EDIT: %s", error->message);
+        g_clear_error(&error);
+    }
     g_object_unref(task);
 }
 
@@ -2156,11 +2228,17 @@ lok_doc_view_post_command (LOKDocView* pDocView,
     LOKDocViewPrivate* priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
     GTask* task = g_task_new(pDocView, NULL, NULL, NULL);
     LOEvent* pLOEvent = new LOEvent(LOK_POST_COMMAND);
+    GError* error = NULL;
     pLOEvent->m_pCommand = pCommand;
     pLOEvent->m_pArguments  = g_strdup(pArguments);
 
     g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
-    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), NULL);
+    g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+    if (error != NULL)
+    {
+        g_warning("Unable to call LOK_POST_COMMAND: %s", error->message);
+        g_clear_error(&error);
+    }
     g_object_unref(task);
 }
 
diff --git a/libreofficekit/source/gtk/tilebuffer.cxx b/libreofficekit/source/gtk/tilebuffer.cxx
index 992f06cd5e00..2f4e6cf123c1 100644
--- a/libreofficekit/source/gtk/tilebuffer.cxx
+++ b/libreofficekit/source/gtk/tilebuffer.cxx
@@ -61,6 +61,7 @@ void TileBuffer::setInvalid(int x, int y, float fZoom, GTask* task,
                             GThreadPool* lokThreadPool)
 {
     int index = x * m_nWidth + y;
+    GError* error = NULL;
     if (m_mTiles.find(index) != m_mTiles.end())
     {
         m_mTiles[index].valid = false;
@@ -70,7 +71,12 @@ void TileBuffer::setInvalid(int x, int y, float fZoom, GTask* task,
         pLOEvent->m_nPaintTileY = y;
         pLOEvent->m_fPaintTileZoom = fZoom;
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
-        g_thread_pool_push(lokThreadPool, g_object_ref(task), NULL);
+        g_thread_pool_push(lokThreadPool, g_object_ref(task), &error);
+        if (error != NULL)
+        {
+            g_warning("Unable to call LOK_PAINT_TILE: %s", error->message);
+            g_clear_error(&error);
+        }
     }
 }
 
@@ -78,6 +84,7 @@ Tile& TileBuffer::getTile(int x, int y, float fZoom, GTask* task,
                           GThreadPool* lokThreadPool)
 {
     int index = x * m_nWidth + y;
+    GError* error = NULL;
 
     if (m_mTiles.find(index) != m_mTiles.end() && !m_mTiles[index].valid)
     {
@@ -86,7 +93,12 @@ Tile& TileBuffer::getTile(int x, int y, float fZoom, GTask* task,
         pLOEvent->m_nPaintTileY = y;
         pLOEvent->m_fPaintTileZoom = fZoom;
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
-        g_thread_pool_push(lokThreadPool, g_object_ref(task), NULL);
+        g_thread_pool_push(lokThreadPool, g_object_ref(task), &error);
+        if (error != NULL)
+        {
+            g_warning("Unable to call LOK_PAINT_TILE: %s", error->message);
+            g_clear_error(&error);
+        }
         return m_mTiles[index];
     }
     else if(m_mTiles.find(index) == m_mTiles.end())
@@ -96,7 +108,12 @@ Tile& TileBuffer::getTile(int x, int y, float fZoom, GTask* task,
         pLOEvent->m_nPaintTileY = y;
         pLOEvent->m_fPaintTileZoom = fZoom;
         g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
-        g_thread_pool_push(lokThreadPool, g_object_ref(task), NULL);
+        g_thread_pool_push(lokThreadPool, g_object_ref(task), &error);
+        if (error != NULL)
+        {
+            g_warning("Unable to call LOK_PAINT_TILE: %s", error->message);
+            g_clear_error(&error);
+        }
         return m_DummyTile;
     }
 
-- 
2.12.0