diff options
author | Bayram Çiçek <bayramcicek2125@gmail.com> | 2023-09-20 14:37:08 +0300 |
---|---|---|
committer | Andreas Heinisch <andreas.heinisch@yahoo.de> | 2023-09-25 11:05:25 +0200 |
commit | 0eb05b47a6d89fdfc533515483584fc739962b65 (patch) | |
tree | a2a3d0e2708999e1865eb0ba56ecfb3836aa4f28 /sd/source | |
parent | a499a3f2486b44c8b1918e69490f9d26bdb0e1f5 (diff) |
tdf#49895: search in Options: check if label exists (related to tdf#157266)
- since ids in ui files can be changed or removed,
we have to check if they are exits or not, to prevent
any crash or misbehavior.
- Proper solution will be iterating over the
widget ids and collecting their strings without
based on a list of identifiers.
Change-Id: I2088af6842ad0acd00838a37295dc2e6140096f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157103
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Tested-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Diffstat (limited to 'sd/source')
-rw-r--r-- | sd/source/ui/dlg/prntopts.cxx | 15 | ||||
-rw-r--r-- | sd/source/ui/dlg/tpoption.cxx | 20 |
2 files changed, 28 insertions, 7 deletions
diff --git a/sd/source/ui/dlg/prntopts.cxx b/sd/source/ui/dlg/prntopts.cxx index 4c56e703815f..8b17ae6d59ab 100644 --- a/sd/source/ui/dlg/prntopts.cxx +++ b/sd/source/ui/dlg/prntopts.cxx @@ -75,20 +75,29 @@ OUString SdPrintOptions::GetAllStrings() OUString labels[] = { "label3", "label2", "printlbl", "contentlbl" }; for (const auto& label : labels) - sAllStrings += m_xBuilder->weld_label(label)->get_label() + " "; + { + if (const auto& pString = m_xBuilder->weld_label(label)) + sAllStrings += pString->get_label() + " "; + } OUString checkButton[] = { "frontcb", "backcb", "papertryfrmprntrcb", "pagenmcb", "datecb", "timecb", "hiddenpgcb", "drawingcb", "notecb", "handoutcb", "outlinecb" }; for (const auto& check : checkButton) - sAllStrings += m_xBuilder->weld_check_button(check)->get_label() + " "; + { + if (const auto& pString = m_xBuilder->weld_check_button(check)) + sAllStrings += pString->get_label() + " "; + } OUString radioButton[] = { "pagedefaultrb", "fittopgrb", "tilepgrb", "brouchrb", "defaultrb", "grayscalerb", "blackwhiterb" }; for (const auto& radio : radioButton) - sAllStrings += m_xBuilder->weld_radio_button(radio)->get_label() + " "; + { + if (const auto& pString = m_xBuilder->weld_radio_button(radio)) + sAllStrings += pString->get_label() + " "; + } return sAllStrings.replaceAll("_", ""); } diff --git a/sd/source/ui/dlg/tpoption.cxx b/sd/source/ui/dlg/tpoption.cxx index 0715a41eca8b..b1fc4bd18d55 100644 --- a/sd/source/ui/dlg/tpoption.cxx +++ b/sd/source/ui/dlg/tpoption.cxx @@ -125,12 +125,18 @@ OUString SdTpOptionsContents::GetAllStrings() OUString labels[] = { "label1" }; for (const auto& label : labels) - sAllStrings += m_xBuilder->weld_label(label)->get_label() + " "; + { + if (const auto& pString = m_xBuilder->weld_label(label)) + sAllStrings += pString->get_label() + " "; + } OUString checkButton[] = { "ruler", "dragstripes", "handlesbezier", "moveoutline" }; for (const auto& check : checkButton) - sAllStrings += m_xBuilder->weld_check_button(check)->get_label() + " "; + { + if (const auto& pString = m_xBuilder->weld_check_button(check)) + sAllStrings += pString->get_label() + " "; + } return sAllStrings.replaceAll("_", ""); } @@ -350,7 +356,10 @@ OUString SdTpOptionsMisc::GetAllStrings() "label5", "label8", "widthlbl", "info1", "heightlbl", "info2" }; for (const auto& label : labels) - sAllStrings += m_xBuilder->weld_label(label)->get_label() + " "; + { + if (const auto& pString = m_xBuilder->weld_label(label)) + sAllStrings += pString->get_label() + " "; + } OUString checkButton[] = { "startwithwizard", "copywhenmove", "backgroundback", "objalwymov", "distortcb", "cbCompatibility", @@ -358,7 +367,10 @@ OUString SdTpOptionsMisc::GetAllStrings() "qickedit", "textselected" }; for (const auto& check : checkButton) - sAllStrings += m_xBuilder->weld_check_button(check)->get_label() + " "; + { + if (const auto& pString = m_xBuilder->weld_check_button(check)) + sAllStrings += pString->get_label() + " "; + } return sAllStrings.replaceAll("_", ""); } |