Blame SOURCES/0303-lokdocview-support-LOK_CALLBACK_MOUSE_POINTER.patch

135360
From b077183a4d3005427949a6b60fa8aafda4d088c8 Mon Sep 17 00:00:00 2001
135360
From: Andrzej Hunt <andrzej@ahunt.org>
135360
Date: Tue, 10 Nov 2015 11:40:41 +0100
135360
Subject: [PATCH 303/398] lokdocview: support LOK_CALLBACK_MOUSE_POINTER
135360
135360
Change-Id: I2052e39fa2e25988a40f293389d5a183a625acd4
135360
Reviewed-on: https://gerrit.libreoffice.org/19903
135360
Reviewed-by: Andrzej Hunt <andrzej@ahunt.org>
135360
Tested-by: Andrzej Hunt <andrzej@ahunt.org>
135360
(cherry picked from commit cc920bc27a0c37233d65ee1b20712e3ac6896c9a)
135360
---
135360
 libreofficekit/source/gtk/lokdocview.cxx | 11 +++++++++++
135360
 1 file changed, 11 insertions(+)
135360
135360
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
135360
index 0d1dec1ddb05..687323d6ca11 100644
135360
--- a/libreofficekit/source/gtk/lokdocview.cxx
135360
+++ b/libreofficekit/source/gtk/lokdocview.cxx
135360
@@ -282,6 +282,8 @@ callbackTypeToString (int nType)
135360
         return "LOK_CALLBACK_CELL_CURSOR";
135360
     case LOK_CALLBACK_HYPERLINK_CLICKED:
135360
         return "LOK_CALLBACK_HYPERLINK_CLICKED";
135360
+    case LOK_CALLBACK_MOUSE_POINTER:
135360
+        return "LOK_CALLBACK_MOUSE_POINTER";
135360
     case LOK_CALLBACK_STATE_CHANGED:
135360
         return "LOK_CALLBACK_STATE_CHANGED";
135360
     case LOK_CALLBACK_STATUS_INDICATOR_START:
135360
@@ -736,6 +738,15 @@ callback (gpointer pData)
135360
         priv->m_bCursorVisible = pCallback->m_aPayload == "true";
135360
     }
135360
     break;
135360
+    case LOK_CALLBACK_MOUSE_POINTER:
135360
+    {
135360
+        // The gtk docs claim that most css cursors should be supported, however
135360
+        // on my system at least this is not true and many cursors are unsupported.
135360
+        // In this case pCursor = null, which results in the default cursor being set.
135360
+        GdkCursor* pCursor = gdk_cursor_new_from_name(gtk_widget_get_display(GTK_WIDGET(pDocView)), pCallback->m_aPayload.c_str());
135360
+        gdk_window_set_cursor(gtk_widget_get_window(GTK_WIDGET(pDocView)), pCursor);
135360
+    }
135360
+    break;
135360
     case LOK_CALLBACK_GRAPHIC_SELECTION:
135360
     {
135360
         if (pCallback->m_aPayload != "EMPTY")
135360
-- 
135360
2.12.0
135360