summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2020-12-25 17:30:42 -0400
committerHenry Castro <hcastro@collabora.com>2021-01-04 18:38:20 +0100
commit04211e7ca1c0caec9aa72ac70112842a1f2f1a50 (patch)
treeb35ed8a10a8fb682d019c1b7b6e27a2dcad6031c /desktop
parentff3ce4f389083fba206e752e09f6b60ca003f625 (diff)
lok: add lo_sendDialogEvent to post dialog events
When the "Macro Security Warning" is shown in client side, the model/view/controller are not created yet. It is necessary to create a function to posts a dialog event. Change-Id: I2bfc9edecc708dc79da575ea515e3144e78c10e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108293 Tested-by: Jenkins Reviewed-by: Henry Castro <hcastro@collabora.com>
Diffstat (limited to 'desktop')
-rw-r--r--desktop/source/lib/init.cxx19
1 files changed, 18 insertions, 1 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index a512f33868ac..2682f3cf6e1a 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -2068,6 +2068,10 @@ static void lo_runLoop(LibreOfficeKit* pThis,
LibreOfficeKitWakeCallback pWakeCallback,
void* pData);
+static void lo_sendDialogEvent(LibreOfficeKit* pThis,
+ unsigned long long int nLOKWindowId,
+ const char* pArguments);
+
LibLibreOffice_Impl::LibLibreOffice_Impl()
: m_pOfficeClass( gOfficeClass.lock() )
, maThread(nullptr)
@@ -2092,6 +2096,7 @@ LibLibreOffice_Impl::LibLibreOffice_Impl()
m_pOfficeClass->runMacro = lo_runMacro;
m_pOfficeClass->signDocument = lo_signDocument;
m_pOfficeClass->runLoop = lo_runLoop;
+ m_pOfficeClass->sendDialogEvent = lo_sendDialogEvent;
gOfficeClass = m_pOfficeClass;
}
@@ -3692,7 +3697,8 @@ public:
} // anonymous namespace
-static void doc_sendDialogEvent(LibreOfficeKitDocument* /*pThis*/, unsigned long long int nWindowId, const char* pArguments)
+
+static void lcl_sendDialogEvent(unsigned long long int nWindowId, const char* pArguments)
{
SolarMutexGuard aGuard;
@@ -3775,6 +3781,17 @@ static void doc_sendDialogEvent(LibreOfficeKitDocument* /*pThis*/, unsigned long
pWindow->Resize();
}
+
+static void doc_sendDialogEvent(LibreOfficeKitDocument* /*pThis*/, unsigned long long int nWindowId, const char* pArguments)
+{
+ lcl_sendDialogEvent(nWindowId, pArguments);
+}
+
+static void lo_sendDialogEvent(LibreOfficeKit* /*pThis*/, unsigned long long int nWindowId, const char* pArguments)
+{
+ lcl_sendDialogEvent(nWindowId, pArguments);
+}
+
static void doc_postUnoCommand(LibreOfficeKitDocument* pThis, const char* pCommand, const char* pArguments, bool bNotifyWhenFinished)
{
comphelper::ProfileZone aZone("doc_postUnoCommand");