summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2020-12-04 15:38:35 -0400
committerHenry Castro <hcastro@collabora.com>2020-12-18 16:27:46 +0100
commitc266dae3fbea14cdd29e590d9ec8f519813143b3 (patch)
tree26f79a67629dfc3acec97d636269bf58b1e57715
parent51ba81931518e17fe7c00481d7c230621415b728 (diff)
lok: jsbuilder: fix disable dialog tunneling
When a client side issue command to show the Macro Selector Dialog to the server side, it is not necessary the dialog sends window invalidate. I guess the dialog tunneling progressively will be deprecated in favor of JSDialog, that it will send JSON data to client side, then it will be constructed to html element using a javascript dialog builder. (I am wondering why sending JSON?, the server side can just send the HTML string, and no need for javascript dialog builder). Change-Id: Ia88f431ed9a860bb9bb30caaaf0f7f889d765115 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107240 Tested-by: Jenkins Reviewed-by: Henry Castro <hcastro@collabora.com>
-rw-r--r--include/vcl/toolkit/dialog.hxx1
-rw-r--r--vcl/source/window/dialog.cxx8
2 files changed, 9 insertions, 0 deletions
diff --git a/include/vcl/toolkit/dialog.hxx b/include/vcl/toolkit/dialog.hxx
index 922bb8e46164..cbda9ee4b6fc 100644
--- a/include/vcl/toolkit/dialog.hxx
+++ b/include/vcl/toolkit/dialog.hxx
@@ -109,6 +109,7 @@ public:
virtual void StateChanged( StateChangedType nStateChange ) override;
virtual void DataChanged( const DataChangedEvent& rDCEvt ) override;
virtual void Command( const CommandEvent& rCEvt ) override;
+ virtual void PixelInvalidate(const tools::Rectangle* pRectangle) override;
virtual void queue_resize(StateChangedType eReason = StateChangedType::Layout) override;
virtual bool set_property(const OString &rKey, const OUString &rValue) override;
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index cf240167d588..c3899483b0a4 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -396,6 +396,14 @@ void Dialog::ImplInitDialogData()
mpDialogImpl.reset(new DialogImpl);
}
+void Dialog::PixelInvalidate(const tools::Rectangle* pRectangle)
+{
+ if (!mpDialogImpl->m_bLOKTunneling)
+ return;
+
+ Window::PixelInvalidate(pRectangle);
+}
+
vcl::Window* Dialog::GetDefaultParent(WinBits nStyle)
{
vcl::Window* pParent = Application::GetDefDialogParent();