sc/source/ui/view/tabvwsh4.cxx |   14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

New commits:
commit ecee3285eaeb6bf6ae6695a81cd80177439c73df
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Sat Dec 9 12:36:28 2023 +0300
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Sat Dec 9 13:23:28 2023 +0100

    Fix checking for relevant change
    
    The event can contain multiple changes, and the wanted change may be
    not the first one. Additionally, now it's safe even if Changes would
    be empty (is this possible?).
    
    Change-Id: Icde844961a492bc02a6b9dd3d6ca04f57a5f4e94
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160506
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx
index 986be06b4041..b7258e86e36e 100644
--- a/sc/source/ui/view/tabvwsh4.cxx
+++ b/sc/source/ui/view/tabvwsh4.cxx
@@ -1712,11 +1712,15 @@ void ScViewOptiChangesListener::stopListening()
 // virtual
 void SAL_CALL ScViewOptiChangesListener::changesOccurred(const 
util::ChangesEvent& rEvent)
 {
-    OUString sChangedEntry;
-    rEvent.Changes[0].Accessor >>= sChangedEntry;
-
-    if (sChangedEntry == "Display/ColumnRowHighlighting")
-        mrViewShell.GetViewData().GetView()->HighlightOverlay();
+    for (const auto& change : rEvent.Changes)
+    {
+        if (OUString sChangedEntry;
+            (change.Accessor >>= sChangedEntry) && sChangedEntry == 
"Display/ColumnRowHighlighting")
+        {
+            mrViewShell.GetViewData().GetView()->HighlightOverlay();
+            break;
+        }
+    }
 }
 
 // virtual

Reply via email to