vcl/unx/gtk3/gtk3gtkinst.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
New commits: commit e754591fc13cf29c21fbbe4fb05146dbf4b60679 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Tue Jun 29 12:13:19 2021 +0100 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Thu Jul 1 11:09:09 2021 +0200 Related: tdf#143088 listen to DefaultWindow for Settings changed having multiple Application::EventListener are expensive while a Window::EventListener is cheap and in this document there are thousands of comments so having thousands of EventListeners is problematic. Change-Id: I64fd12e4bcb8e4fd131effe94e6882e54cfcaf19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118084 Tested-by: Michael Stahl <michael.st...@allotropia.de> Reviewed-by: Michael Stahl <michael.st...@allotropia.de> diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 2d4dc36ce5fe..6b2e557c35bf 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -13642,7 +13642,7 @@ private: GtkInstanceDrawingArea* pThis = static_cast<GtkInstanceDrawingArea*>(widget); return pThis->signal_scroll(pEvent); } - DECL_LINK(SettingsChangedHdl, VclSimpleEvent&, void); + DECL_LINK(SettingsChangedHdl, VclWindowEvent&, void); public: GtkInstanceDrawingArea(GtkDrawingArea* pDrawingArea, GtkInstanceBuilder* pBuilder, const a11yref& rA11y, bool bTakeOwnership) : GtkInstanceWidget(GTK_WIDGET(pDrawingArea), pBuilder, bTakeOwnership) @@ -13660,7 +13660,7 @@ public: g_object_set_data(G_OBJECT(m_pDrawingArea), "g-lo-GtkInstanceDrawingArea", this); m_xDevice->EnableRTL(get_direction()); - Application::AddEventListener(LINK(this, GtkInstanceDrawingArea, SettingsChangedHdl)); + ImplGetDefaultWindow()->AddEventListener(LINK(this, GtkInstanceDrawingArea, SettingsChangedHdl)); } AtkObject* GetAtkObject(AtkObject* pDefaultAccessible) @@ -13798,7 +13798,7 @@ public: virtual ~GtkInstanceDrawingArea() override { - Application::RemoveEventListener(LINK(this, GtkInstanceDrawingArea, SettingsChangedHdl)); + ImplGetDefaultWindow()->RemoveEventListener(LINK(this, GtkInstanceDrawingArea, SettingsChangedHdl)); g_object_steal_data(G_OBJECT(m_pDrawingArea), "g-lo-GtkInstanceDrawingArea"); if (m_pAccessible) @@ -13830,12 +13830,12 @@ public: } }; -IMPL_LINK(GtkInstanceDrawingArea, SettingsChangedHdl, VclSimpleEvent&, rEvent, void) +IMPL_LINK(GtkInstanceDrawingArea, SettingsChangedHdl, VclWindowEvent&, rEvent, void) { - if (rEvent.GetId() != VclEventId::ApplicationDataChanged) + if (rEvent.GetId() != VclEventId::WindowDataChanged) return; - DataChangedEvent* pData = static_cast<DataChangedEvent*>(static_cast<VclWindowEvent&>(rEvent).GetData()); + DataChangedEvent* pData = static_cast<DataChangedEvent*>(rEvent.GetData()); if (pData->GetType() == DataChangedEventType::SETTINGS) signal_style_updated(); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits