Blame SOURCES/0145-lokdocview-set-view-before-calling-lok-Document-memb.patch

f325b2
From 4cd8df4c0d923f5497ce8b860ed0eac64406cf9a Mon Sep 17 00:00:00 2001
f325b2
From: Miklos Vajna <vmiklos@collabora.co.uk>
f325b2
Date: Wed, 16 Sep 2015 14:46:39 +0200
f325b2
Subject: [PATCH 145/398] lokdocview: set view before calling lok::Document
f325b2
 member functions
f325b2
f325b2
getTextSelection() is still to be done, but has to be moved to the
f325b2
widget first.
f325b2
f325b2
Change-Id: I780a31f1dbce38b2b7398bfdacbbc1c40881229d
f325b2
(cherry picked from commit d3446bc860e2e41adbee5ad6c49f12991dd9087b)
f325b2
---
f325b2
 include/LibreOfficeKit/LibreOfficeKit.h  |  2 +-
f325b2
 libreofficekit/source/gtk/lokdocview.cxx | 11 +++++++++++
f325b2
 2 files changed, 12 insertions(+), 1 deletion(-)
f325b2
f325b2
diff --git a/include/LibreOfficeKit/LibreOfficeKit.h b/include/LibreOfficeKit/LibreOfficeKit.h
f325b2
index 97ae1363a136..4c3e1fa851d4 100644
f325b2
--- a/include/LibreOfficeKit/LibreOfficeKit.h
f325b2
+++ b/include/LibreOfficeKit/LibreOfficeKit.h
f325b2
@@ -158,7 +158,7 @@ struct _LibreOfficeKitDocumentClass
f325b2
     /// @see lok::Document::resetSelection
f325b2
     void (*resetSelection) (LibreOfficeKitDocument* pThis);
f325b2
 
f325b2
-    /// @see lok::Document:getStyles
f325b2
+    /// @see lok::Document::getCommandValues().
f325b2
     char* (*getCommandValues) (LibreOfficeKitDocument* pThis, const char* pCommand);
f325b2
 
f325b2
     /// @see lok::Document::createView().
f325b2
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
f325b2
index 366f39efd3ac..f8202c339587 100644
f325b2
--- a/libreofficekit/source/gtk/lokdocview.cxx
f325b2
+++ b/libreofficekit/source/gtk/lokdocview.cxx
f325b2
@@ -391,6 +391,7 @@ static gboolean postDocumentLoad(gpointer pData)
f325b2
     LOKDocView* pLOKDocView = static_cast<LOKDocView*>(pData);
f325b2
     LOKDocViewPrivate* priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private(pLOKDocView));
f325b2
 
f325b2
+    priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
f325b2
     priv->m_pDocument->pClass->initializeForRendering(priv->m_pDocument);
f325b2
     priv->m_pDocument->pClass->registerCallback(priv->m_pDocument, callbackWorker, pLOKDocView);
f325b2
     priv->m_pDocument->pClass->getDocumentSize(priv->m_pDocument, &priv->m_nDocumentWidthTwips, &priv->m_nDocumentHeightTwips);
f325b2
@@ -1101,6 +1102,7 @@ lok_doc_view_signal_motion (GtkWidget* pWidget, GdkEventMotion* pEvent)
f325b2
     LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
     GdkPoint aPoint;
f325b2
 
f325b2
+    priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
f325b2
     if (priv->m_bInDragMiddleHandle)
f325b2
     {
f325b2
         g_info("lcl_signalMotion: dragging the middle handle");
f325b2
@@ -1183,6 +1185,7 @@ setGraphicSelectionInThread(gpointer data)
f325b2
     LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
     LOEvent* pLOEvent = static_cast<LOEvent*>(g_task_get_task_data(task));
f325b2
 
f325b2
+    priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
f325b2
     priv->m_pDocument->pClass->setGraphicSelection(priv->m_pDocument,
f325b2
                                                    pLOEvent->m_nSetGraphicSelectionType,
f325b2
                                                    pLOEvent->m_nSetGraphicSelectionX,
f325b2
@@ -1243,6 +1246,7 @@ setPartInThread(gpointer data)
f325b2
     LOEvent* pLOEvent = static_cast<LOEvent*>(g_task_get_task_data(task));
f325b2
     int nPart = pLOEvent->m_nPart;
f325b2
 
f325b2
+    priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
f325b2
     priv->m_pDocument->pClass->setPart( priv->m_pDocument, nPart );
f325b2
 }
f325b2
 
f325b2
@@ -1255,6 +1259,7 @@ setPartmodeInThread(gpointer data)
f325b2
     LOEvent* pLOEvent = static_cast<LOEvent*>(g_task_get_task_data(task));
f325b2
     int nPartMode = pLOEvent->m_nPartMode;
f325b2
 
f325b2
+    priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
f325b2
     priv->m_pDocument->pClass->setPartMode( priv->m_pDocument, nPartMode );
f325b2
 }
f325b2
 
f325b2
@@ -1273,6 +1278,7 @@ setEditInThread(gpointer data)
f325b2
     else if (priv->m_bEdit && !bEdit)
f325b2
     {
f325b2
         g_info("lok_doc_view_set_edit: leaving edit mode");
f325b2
+        priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
f325b2
         priv->m_pDocument->pClass->resetSelection(priv->m_pDocument);
f325b2
     }
f325b2
     priv->m_bEdit = bEdit;
f325b2
@@ -1288,6 +1294,7 @@ postCommandInThread (gpointer data)
f325b2
     LOEvent* pLOEvent = static_cast<LOEvent*>(g_task_get_task_data(task));
f325b2
     LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
 
f325b2
+    priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
f325b2
     priv->m_pDocument->pClass->postUnoCommand(priv->m_pDocument, pLOEvent->m_pCommand, pLOEvent->m_pArguments);
f325b2
 }
f325b2
 
f325b2
@@ -1316,6 +1323,7 @@ paintTileInThread (gpointer data)
f325b2
     aTileRectangle.x = pixelToTwip(nTileSizePixels, pLOEvent->m_fPaintTileZoom) * pLOEvent->m_nPaintTileY;
f325b2
     aTileRectangle.y = pixelToTwip(nTileSizePixels, pLOEvent->m_fPaintTileZoom) * pLOEvent->m_nPaintTileX;
f325b2
 
f325b2
+    priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
f325b2
     g_test_timer_start();
f325b2
     priv->m_pDocument->pClass->paintTile(priv->m_pDocument,
f325b2
                                          pBuffer,
f325b2
@@ -1974,6 +1982,7 @@ SAL_DLLPUBLIC_EXPORT int
f325b2
 lok_doc_view_get_parts (LOKDocView* pDocView)
f325b2
 {
f325b2
     LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
+    priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
f325b2
     return priv->m_pDocument->pClass->getParts( priv->m_pDocument );
f325b2
 }
f325b2
 
f325b2
@@ -1981,6 +1990,7 @@ SAL_DLLPUBLIC_EXPORT int
f325b2
 lok_doc_view_get_part (LOKDocView* pDocView)
f325b2
 {
f325b2
     LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
+    priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
f325b2
     return priv->m_pDocument->pClass->getPart( priv->m_pDocument );
f325b2
 }
f325b2
 
f325b2
@@ -2002,6 +2012,7 @@ SAL_DLLPUBLIC_EXPORT char*
f325b2
 lok_doc_view_get_part_name (LOKDocView* pDocView, int nPart)
f325b2
 {
f325b2
     LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
f325b2
+    priv->m_pDocument->pClass->setView(priv->m_pDocument, priv->m_nViewId);
f325b2
     return priv->m_pDocument->pClass->getPartName( priv->m_pDocument, nPart );
f325b2
 }
f325b2
 
f325b2
-- 
f325b2
2.12.0
f325b2