d9d87d79ced23f8a770eaf94de7e59d59d8eb49e
14832
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b75d3c0dd5 |
tdf#46841 Keep SQL query format
When editing an SQL query in SQL view it is important to keep the formating. To secure this this fix implements a warning dialogue that fires in the case a query is last saved in SQL view and the user tries to open it in Design view and when the user switches from SQL view to Design view since editing in Design view may canonicalize and rewrite the query thus destroying its formatting. This is related to tdf#42713 that impements something similar but for queries with comments. Note that after this fix the mechanism implemented for tdf#42713 is only kept for backward compatibility and could be removed in the future. Change-Id: I47f46d8953dc4b1e7326413d6f97ca35eeaa3a22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208786 Reviewed-by: Vissarion Fisikopoulos <vfisikop@libreoffice.org> Tested-by: Jenkins |
||
|
|
7389be9f2d |
tdf#42713: new dialogues for maintaning sql comments
When the query has comments and the user clicks the "Edit..." button, a dialogue with message "The query contains SQL comments. If you edit it in Design View, the comments will be lost. Continue anyway or start editing in SQL View?" pops up. There are 3 choices "SQL View", "Continue", "Cancel"; the first opens SQL view, the second goes to design view and the last cancels the dialogue. Change-Id: I1ea59ff24243ab8e3aeb09282f3c32dcb9b167af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208198 Tested-by: Jenkins Reviewed-by: Vissarion Fisikopoulos <vfisikop@libreoffice.org> |
||
|
|
f1f6a505a0 |
weld: Pass weld::TextWidget& in text change callback/handler
Switch the weld::Entry and weld::TextView handlers
that are called when the text changes due to user
interaction to pass a weld::TextWidget& param
instead of a weld::Entry& and weld::TextView&
one respectively.
Adjust related methods across the code base accordingly.
This unifies the behavior for both of these
weld::TextWidget subclasses and prepares for
deduplicating the logic and moving it to the
common base class in an upcoming commit.
That will also ensure they stay in sync.
(Change also motivated by the fact that their behavior was
differing before
Change-Id: I03d2a13cd84d53d806eb9e363f49c4b6be28d938
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Jul 9 13:08:58 2026 +0200
tdf#130857 weld: Don't signal about programmatic TextView text change
.)
Change-Id: I5572fc88caf577fae9a23a39f1ec4f2179935a99
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207936
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
||
|
|
d93c67ef52 |
dbaccess: Use weld::Entry member directly in callback
Use OParameterDialog::m_xParam instead of the callback param, as the callback is only connected for that member. This prepares for an upcoming commit that will change the callback param to weld::TextWidget& to unify/deduplicate the weld::Entry and weld::TextView implementations. Change-Id: I6b933e2ec844bf163ac93839452b1d71c541de73 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207932 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
262b018267 |
dbaccess: clang-format OParameterDialog source code
This in particular gets rid of an extra level of indentation. Change-Id: Ic0f35fbbadceacfacb5b47bbc8304216cfca04ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207931 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
c595016047 |
Remove unused Reset buttons from various dialogs
These dialogs hide the standard Reset button that SfxTabDialogController adds to dialogs. Instead of doing that, let's just not create a button that has to be hidden in the first place. Dialogs can be accessed via: New Base doc -> Edit -> Database -> Advanced Settings... New Base doc -> Tools -> User Administration... New Base doc -> Edit -> Database -> Properties... New <any> doc -> Export as... -> Export as PDF... New Writer doc -> Insert -> Footnote and Endnote -> Footnote then right-click in the footnote area -> Footnote/Endnote Settings... Change-Id: I06ed3ff8f70db9eb081e654d2f73deda480c3322 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207236 Reviewed-by: Dan Williams <dcbw@libreoffice.org> Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins |
||
|
|
ef11378a8d |
tdf#42713 maintain comments format
If the query has comments then maintain the format when saving and warn the user when switching or start editing in design view that the comments could be lost. The user will have the choice to keep the formating as well as the placement of comments in the query. Change-Id: I3de2313f8808a0b1093ce38de3bc9aa775656067 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207198 Reviewed-by: Vissarion Fisikopoulos <vfisikop@libreoffice.org> Tested-by: Jenkins |
||
|
|
35e2a8f8c6 |
tdf#130857 weld: Add default param for TreeView::enable_toggle_buttons
Most callers use weld::ColumnToggleType::Check and only a few use weld::ColumnToggleType::Radio. Add a default param of weld::ColumnToggleType::Check and drop the explicit param for callers passing this. This prepares for moving setting the toggle button type to a separate method in an upcoming commit to clarify what it actually does. (It doesn't only set the toggle button type of the special "expander toggle column" enabled by weld::TreeView::enable_toggle_buttons, but of *all* toggle buttons used in any of the cells of the whole table.) Change-Id: I65edb7cd5f79c59222c1c415f118b8adbdec0271 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207249 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
60fdd8f4f8 |
Silence some more spurious -Werror=array-bounds=
seen at least with GCC 16 trunk and --enable-optimized,
> In file included from /usr/include/c++/16/bits/char_traits.h:59,
> from /usr/include/c++/16/ios:44,
> from /usr/include/c++/16/bits/ostream.h:43,
> from /usr/include/c++/16/ostream:42,
> from engine/include/rtl/ustring.hxx:30,
> from engine/include/vcl/ctrl.hxx:23,
> from engine/include/vcl/InterimItemWindow.hxx:13,
> from engine/include/svtools/scrolladaptor.hxx:24,
> from engine/dbaccess/source/ui/inc/JoinTableView.hxx:21,
> from engine/dbaccess/source/ui/inc/QueryTableView.hxx:21,
> from engine/dbaccess/source/ui/querydesign/QueryTableView.cxx:20:
> In function ‘constexpr void std::destroy_at(_Tp*) [with _Tp = dbaui::OQueryTableWindowData]’,
> inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = dbaui::OQueryTableWindowData]’ at /usr/include/c++/16/bits/stl_construct.h:164:22,
> inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = dbaui::OQueryTableWindowData]’ at /usr/include/c++/16/bits/alloc_traits.h:859:17,
> inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = dbaui::OQueryTableWindowData; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:682:35,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:423:18,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:392:5,
> inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1136:21,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = dbaui::OQueryTableConnectionData; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1610:7,
> inlined from ‘std::shared_ptr<dbaui::OQueryTableConnectionData>::~shared_ptr()’ at /usr/include/c++/16/bits/shared_ptr.h:175:11,
> inlined from ‘void {anonymous}::addConnections(dbaui::OQueryTableView*, const dbaui::OQueryTableWindow&, const dbaui::OQueryTableWindow&, const com::sun::star::uno::Reference<com::sun::star::container::XNameAccess>&)’ at engine/dbaccess/source/ui/querydesign/QueryTableView.cxx:174:5:
> /usr/include/c++/16/bits/stl_construct.h:88:25: error: array subscript ‘dbaui::OQueryTableWindowData[0]’ is partly outside array bounds of ‘unsigned char [104]’ [-Werror=array-bounds=]
> 88 | __location->~_Tp();
> | ~~~~~~~~~~~~~~~~^~
> In file included from /usr/include/c++/16/x86_64-redhat-linux/bits/c++allocator.h:33,
> from /usr/include/c++/16/bits/allocator.h:46,
> from /usr/include/c++/16/string:46,
> from /usr/include/c++/16/bits/locale_classes.h:43,
> from /usr/include/c++/16/bits/ios_base.h:43,
> from /usr/include/c++/16/ios:46:
> In member function ‘constexpr _Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::_Sp_counted_ptr_inplace<dbaui::OQueryTableConnectionData, std::allocator<void>, __gnu_cxx::_S_atomic>]’,
> inlined from ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = std::_Sp_counted_ptr_inplace<dbaui::OQueryTableConnectionData, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/allocator.h:206:40,
> inlined from ‘static constexpr _Tp* std::allocator_traits<std::allocator<_CharT> >::allocate(allocator_type&, size_type) [with _Tp = std::_Sp_counted_ptr_inplace<dbaui::OQueryTableConnectionData, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/alloc_traits.h:638:28,
> inlined from ‘std::__allocated_ptr<_Alloc> std::__allocate_guarded(_Alloc&) [with _Alloc = allocator<_Sp_counted_ptr_inplace<dbaui::OQueryTableConnectionData, allocator<void>, __gnu_cxx::_S_atomic> >]’ at /usr/include/c++/16/bits/allocated_ptr.h:103:69,
> inlined from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = dbaui::OQueryTableConnectionData; _Alloc = std::allocator<void>; _Args = {const std::shared_ptr<dbaui::OTableWindowData>&, const std::shared_ptr<dbaui::OTableWindowData>&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1034:9,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {const std::shared_ptr<dbaui::OTableWindowData>&, const std::shared_ptr<dbaui::OTableWindowData>&}; _Tp = dbaui::OQueryTableConnectionData; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1812:14,
> inlined from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {const std::shared_ptr<dbaui::OTableWindowData>&, const std::shared_ptr<dbaui::OTableWindowData>&}; _Tp = dbaui::OQueryTableConnectionData]’ at /usr/include/c++/16/bits/shared_ptr.h:463:59,
> inlined from ‘std::shared_ptr<std::_NonArray<_Tp> > std::make_shared(_Args&& ...) [with _Tp = dbaui::OQueryTableConnectionData; _Args = {const shared_ptr<dbaui::OTableWindowData>&, const shared_ptr<dbaui::OTableWindowData>&}]’ at /usr/include/c++/16/bits/shared_ptr.h:1066:39,
> inlined from ‘void {anonymous}::addConnections(dbaui::OQueryTableView*, const dbaui::OQueryTableWindow&, const dbaui::OQueryTableWindow&, const com::sun::star::uno::Reference<com::sun::star::container::XNameAccess>&)’ at engine/dbaccess/source/ui/querydesign/QueryTableView.cxx:127:111:
> /usr/include/c++/16/bits/new_allocator.h:162:75: note: at offset 16 into object of size 104 allocated by ‘operator new’
> 162 | return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
> | ^
> In function ‘constexpr void std::destroy_at(_Tp*) [with _Tp = dbaui::OQueryTableWindowData]’,
> inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = dbaui::OQueryTableWindowData]’ at /usr/include/c++/16/bits/stl_construct.h:164:22,
> inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = dbaui::OQueryTableWindowData]’ at /usr/include/c++/16/bits/alloc_traits.h:859:17,
> inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = dbaui::OQueryTableWindowData; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:682:35,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:423:18,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:392:5,
> inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1136:21,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = dbaui::OQueryTableConnectionData; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1610:7,
> inlined from ‘std::shared_ptr<dbaui::OQueryTableConnectionData>::~shared_ptr()’ at /usr/include/c++/16/bits/shared_ptr.h:175:11,
> inlined from ‘virtual void dbaui::OQueryTableView::AddConnection(const dbaui::OJoinExchangeData&, const dbaui::OJoinExchangeData&)’ at engine/dbaccess/source/ui/querydesign/QueryTableView.cxx:558:5:
> /usr/include/c++/16/bits/stl_construct.h:88:25: error: array subscript ‘dbaui::OQueryTableWindowData[0]’ is partly outside array bounds of ‘unsigned char [104]’ [-Werror=array-bounds=]
> 88 | __location->~_Tp();
> | ~~~~~~~~~~~~~~~~^~
> In member function ‘constexpr _Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::_Sp_counted_ptr_inplace<dbaui::OQueryTableConnectionData, std::allocator<void>, __gnu_cxx::_S_atomic>]’,
> inlined from ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = std::_Sp_counted_ptr_inplace<dbaui::OQueryTableConnectionData, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/allocator.h:206:40,
> inlined from ‘static constexpr _Tp* std::allocator_traits<std::allocator<_CharT> >::allocate(allocator_type&, size_type) [with _Tp = std::_Sp_counted_ptr_inplace<dbaui::OQueryTableConnectionData, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/alloc_traits.h:638:28,
> inlined from ‘std::__allocated_ptr<_Alloc> std::__allocate_guarded(_Alloc&) [with _Alloc = allocator<_Sp_counted_ptr_inplace<dbaui::OQueryTableConnectionData, allocator<void>, __gnu_cxx::_S_atomic> >]’ at /usr/include/c++/16/bits/allocated_ptr.h:103:69,
> inlined from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = dbaui::OQueryTableConnectionData; _Alloc = std::allocator<void>; _Args = {const std::shared_ptr<dbaui::OTableWindowData>&, const std::shared_ptr<dbaui::OTableWindowData>&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1034:9,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {const std::shared_ptr<dbaui::OTableWindowData>&, const std::shared_ptr<dbaui::OTableWindowData>&}; _Tp = dbaui::OQueryTableConnectionData; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1812:14,
> inlined from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {const std::shared_ptr<dbaui::OTableWindowData>&, const std::shared_ptr<dbaui::OTableWindowData>&}; _Tp = dbaui::OQueryTableConnectionData]’ at /usr/include/c++/16/bits/shared_ptr.h:463:59,
> inlined from ‘std::shared_ptr<std::_NonArray<_Tp> > std::make_shared(_Args&& ...) [with _Tp = dbaui::OQueryTableConnectionData; _Args = {const shared_ptr<dbaui::OTableWindowData>&, const shared_ptr<dbaui::OTableWindowData>&}]’ at /usr/include/c++/16/bits/shared_ptr.h:1066:39,
> inlined from ‘virtual void dbaui::OQueryTableView::AddConnection(const dbaui::OJoinExchangeData&, const dbaui::OJoinExchangeData&)’ at engine/dbaccess/source/ui/querydesign/QueryTableView.cxx:539:121:
> /usr/include/c++/16/bits/new_allocator.h:162:75: note: at offset 16 into object of size 104 allocated by ‘operator new’
> 162 | return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
> | ^
> In file included from /usr/include/c++/16/bits/stl_tempbuf.h:61,
> from /usr/include/c++/16/memory:68,
> from engine/include/dbaccess/dataview.hxx:22,
> from engine/reportdesign/source/ui/inc/DesignView.hxx:22,
> from engine/reportdesign/source/ui/inc/ReportController.hxx:22,
> from engine/reportdesign/source/ui/report/ReportController.cxx:20:
> In function ‘constexpr void std::destroy_at(_Tp*) [with _Tp = rptui::OGroupsSortingDialog]’,
> inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = rptui::OGroupsSortingDialog]’ at /usr/include/c++/16/bits/stl_construct.h:164:22,
> inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = rptui::OGroupsSortingDialog]’ at /usr/include/c++/16/bits/alloc_traits.h:859:17,
> inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = rptui::OGroupsSortingDialog; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:682:35,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:423:18,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:392:5,
> inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1136:21,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = rptui::AnyConverter; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1610:7,
> inlined from ‘std::shared_ptr<rptui::AnyConverter>::~shared_ptr()’ at /usr/include/c++/16/bits/shared_ptr.h:175:11,
> inlined from ‘const com::sun::star::uno::Reference<com::sun::star::sdbc::XRowSet>& rptui::OReportController::getRowSet()’ at engine/reportdesign/source/ui/report/ReportController.cxx:2983:5:
> /usr/include/c++/16/bits/stl_construct.h:88:25: error: array subscript ‘rptui::OGroupsSortingDialog[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Werror=array-bounds=]
> 88 | __location->~_Tp();
> | ~~~~~~~~~~~~~~~~^~
> In file included from /usr/include/c++/16/x86_64-redhat-linux/bits/c++allocator.h:33,
> from /usr/include/c++/16/bits/allocator.h:46,
> from /usr/include/c++/16/memory:67:
> In member function ‘constexpr _Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::_Sp_counted_ptr_inplace<rptui::AnyConverter, std::allocator<void>, __gnu_cxx::_S_atomic>]’,
> inlined from ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = std::_Sp_counted_ptr_inplace<rptui::AnyConverter, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/allocator.h:206:40,
> inlined from ‘static constexpr _Tp* std::allocator_traits<std::allocator<_Up> >::allocate(allocator_type&, size_type) [with _Tp = std::_Sp_counted_ptr_inplace<rptui::AnyConverter, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/alloc_traits.h:638:28,
> inlined from ‘std::__allocated_ptr<_Alloc> std::__allocate_guarded(_Alloc&) [with _Alloc = allocator<_Sp_counted_ptr_inplace<rptui::AnyConverter, allocator<void>, __gnu_cxx::_S_atomic> >]’ at /usr/include/c++/16/bits/allocated_ptr.h:103:69,
> inlined from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = rptui::AnyConverter; _Alloc = std::allocator<void>; _Args = {}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1034:9,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {}; _Tp = rptui::AnyConverter; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1812:14,
> inlined from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {}; _Tp = rptui::AnyConverter]’ at /usr/include/c++/16/bits/shared_ptr.h:463:59,
> inlined from ‘std::shared_ptr<std::_NonArray<_Tp> > std::make_shared(_Args&& ...) [with _Tp = rptui::AnyConverter; _Args = {}]’ at /usr/include/c++/16/bits/shared_ptr.h:1066:39,
> inlined from ‘const com::sun::star::uno::Reference<com::sun::star::sdbc::XRowSet>& rptui::OReportController::getRowSet()’ at engine/reportdesign/source/ui/report/ReportController.cxx:2974:60:
> /usr/include/c++/16/bits/new_allocator.h:162:75: note: at offset 16 into object of size 24 allocated by ‘operator new’
> 162 | return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
> | ^
> In file included from /usr/include/c++/16/bits/unordered_map.h:33,
> from /usr/include/c++/16/unordered_map:43,
> from /usr/include/c++/16/functional:80,
> from engine/include/rtl/ref.hxx:27,
> from engine/include/vcl/vclptr.hxx:26,
> from engine/sc/inc/document.hxx:25,
> from engine/sc/source/core/data/document10.cxx:11:
> In destructor ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::~_Hashtable() [with _Key = short int; _Value = std::pair<const short int, std::unordered_map<short int, sc::ColumnBlockPosition> >; _Alloc = std::allocator<std::pair<const short int, std::unordered_map<short int, sc::ColumnBlockPosition> > >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<short int>; _Hash = std::hash<short int>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<false, false, true>]’,
> inlined from ‘std::unordered_map<short int, std::unordered_map<short int, sc::ColumnBlockPosition> >::~unordered_map()’ at /usr/include/c++/16/bits/unordered_map.h:112:11,
> inlined from ‘sc::ColumnBlockPositionSet::~ColumnBlockPositionSet()’ at engine/sc/inc/mtvelements.hxx:179:7,
> inlined from ‘constexpr void std::destroy_at(_Tp*) [with _Tp = sc::ColumnBlockPositionSet]’ at /usr/include/c++/16/bits/stl_construct.h:88:18,
> inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = sc::ColumnBlockPositionSet]’ at /usr/include/c++/16/bits/stl_construct.h:164:22,
> inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = sc::ColumnBlockPositionSet]’ at /usr/include/c++/16/bits/alloc_traits.h:859:17,
> inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = sc::ColumnBlockPositionSet; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:682:35,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:423:18,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:392:5,
> inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1136:21,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = sc::StartListeningContext; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1610:7,
> inlined from ‘std::shared_ptr<sc::StartListeningContext>::~shared_ptr()’ at /usr/include/c++/16/bits/shared_ptr.h:175:11,
> inlined from ‘{anonymous}::StartNeededListenersHandler::~StartNeededListenersHandler()’ at engine/sc/source/core/data/document10.cxx:552:7,
> inlined from ‘void ScDocument::StartNeededListeners()’ at engine/sc/source/core/data/document10.cxx:574:18:
> /usr/include/c++/16/bits/hashtable.h:1904:5: error: array subscript ‘std::_Hashtable<short int, std::pair<const short int, std::unordered_map<short int, sc::ColumnBlockPosition> >, std::allocator<std::pair<const short int, std::unordered_map<short int, sc::ColumnBlockPosition> > >, std::__detail::_Select1st, std::equal_to<short int>, std::hash<short int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >[0]’ is partly outside array bounds of ‘unsigned char [56]’ [-Werror=array-bounds=]
> 1904 | }
> | ^
> In file included from /usr/include/c++/16/x86_64-redhat-linux/bits/c++allocator.h:33,
> from /usr/include/c++/16/bits/allocator.h:46,
> from /usr/include/c++/16/memory:67,
> from engine/sc/source/core/data/document10.cxx:10:
> In member function ‘constexpr _Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::_Sp_counted_ptr_inplace<sc::StartListeningContext, std::allocator<void>, __gnu_cxx::_S_atomic>]’,
> inlined from ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = std::_Sp_counted_ptr_inplace<sc::StartListeningContext, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/allocator.h:206:40,
> inlined from ‘static constexpr _Tp* std::allocator_traits<std::allocator<_Up> >::allocate(allocator_type&, size_type) [with _Tp = std::_Sp_counted_ptr_inplace<sc::StartListeningContext, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/alloc_traits.h:638:28,
> inlined from ‘std::__allocated_ptr<_Alloc> std::__allocate_guarded(_Alloc&) [with _Alloc = allocator<_Sp_counted_ptr_inplace<sc::StartListeningContext, allocator<void>, __gnu_cxx::_S_atomic> >]’ at /usr/include/c++/16/bits/allocated_ptr.h:103:69,
> inlined from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = sc::StartListeningContext; _Alloc = std::allocator<void>; _Args = {ScDocument&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1034:9,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {ScDocument&}; _Tp = sc::StartListeningContext; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1812:14,
> inlined from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {ScDocument&}; _Tp = sc::StartListeningContext]’ at /usr/include/c++/16/bits/shared_ptr.h:463:59,
> inlined from ‘std::shared_ptr<std::_NonArray<_Tp> > std::make_shared(_Args&& ...) [with _Tp = sc::StartListeningContext; _Args = {ScDocument&}]’ at /usr/include/c++/16/bits/shared_ptr.h:1066:39,
> inlined from ‘{anonymous}::StartNeededListenersHandler::StartNeededListenersHandler(ScDocument&)’ at engine/sc/source/core/data/document10.cxx:556:64,
> inlined from ‘void ScDocument::StartNeededListeners()’ at engine/sc/source/core/data/document10.cxx:574:82:
> /usr/include/c++/16/bits/new_allocator.h:162:75: note: at offset 24 into object of size 56 allocated by ‘operator new’
> 162 | return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
> | ^
> In file included from engine/sc/inc/column.hxx:28,
> from engine/sc/inc/table.hxx:25,
> from engine/sc/source/core/data/document10.cxx:14:
> In destructor ‘sc::ColumnBlockPositionSet::~ColumnBlockPositionSet()’,
> inlined from ‘constexpr void std::destroy_at(_Tp*) [with _Tp = sc::ColumnBlockPositionSet]’ at /usr/include/c++/16/bits/stl_construct.h:88:18,
> inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = sc::ColumnBlockPositionSet]’ at /usr/include/c++/16/bits/stl_construct.h:164:22,
> inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = sc::ColumnBlockPositionSet]’ at /usr/include/c++/16/bits/alloc_traits.h:859:17,
> inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = sc::ColumnBlockPositionSet; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:682:35,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:423:18,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:392:5,
> inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1136:21,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = sc::StartListeningContext; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1610:7,
> inlined from ‘std::shared_ptr<sc::StartListeningContext>::~shared_ptr()’ at /usr/include/c++/16/bits/shared_ptr.h:175:11,
> inlined from ‘{anonymous}::StartNeededListenersHandler::~StartNeededListenersHandler()’ at engine/sc/source/core/data/document10.cxx:552:7,
> inlined from ‘void ScDocument::StartNeededListeners()’ at engine/sc/source/core/data/document10.cxx:574:18:
> engine/sc/inc/mtvelements.hxx:179:7: error: array subscript ‘sc::ColumnBlockPositionSet[0]’ is partly outside array bounds of ‘unsigned char [56]’ [-Werror=array-bounds=]
> 179 | class ColumnBlockPositionSet
> | ^~~~~~~~~~~~~~~~~~~~~~
> In member function ‘constexpr _Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::_Sp_counted_ptr_inplace<sc::StartListeningContext, std::allocator<void>, __gnu_cxx::_S_atomic>]’,
> inlined from ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = std::_Sp_counted_ptr_inplace<sc::StartListeningContext, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/allocator.h:206:40,
> inlined from ‘static constexpr _Tp* std::allocator_traits<std::allocator<_Up> >::allocate(allocator_type&, size_type) [with _Tp = std::_Sp_counted_ptr_inplace<sc::StartListeningContext, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/alloc_traits.h:638:28,
> inlined from ‘std::__allocated_ptr<_Alloc> std::__allocate_guarded(_Alloc&) [with _Alloc = allocator<_Sp_counted_ptr_inplace<sc::StartListeningContext, allocator<void>, __gnu_cxx::_S_atomic> >]’ at /usr/include/c++/16/bits/allocated_ptr.h:103:69,
> inlined from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = sc::StartListeningContext; _Alloc = std::allocator<void>; _Args = {ScDocument&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1034:9,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {ScDocument&}; _Tp = sc::StartListeningContext; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1812:14,
> inlined from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {ScDocument&}; _Tp = sc::StartListeningContext]’ at /usr/include/c++/16/bits/shared_ptr.h:463:59,
> inlined from ‘std::shared_ptr<std::_NonArray<_Tp> > std::make_shared(_Args&& ...) [with _Tp = sc::StartListeningContext; _Args = {ScDocument&}]’ at /usr/include/c++/16/bits/shared_ptr.h:1066:39,
> inlined from ‘{anonymous}::StartNeededListenersHandler::StartNeededListenersHandler(ScDocument&)’ at engine/sc/source/core/data/document10.cxx:556:64,
> inlined from ‘void ScDocument::StartNeededListeners()’ at engine/sc/source/core/data/document10.cxx:574:82:
> /usr/include/c++/16/bits/new_allocator.h:162:75: note: at offset 16 into object of size 56 allocated by ‘operator new’
> 162 | return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
> | ^
> In destructor ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::~_Hashtable() [with _Key = short int; _Value = std::pair<const short int, std::unordered_map<short int, sc::ColumnBlockPosition> >; _Alloc = std::allocator<std::pair<const short int, std::unordered_map<short int, sc::ColumnBlockPosition> > >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<short int>; _Hash = std::hash<short int>; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<false, false, true>]’,
> inlined from ‘std::unordered_map<short int, std::unordered_map<short int, sc::ColumnBlockPosition> >::~unordered_map()’ at /usr/include/c++/16/bits/unordered_map.h:112:11,
> inlined from ‘sc::ColumnBlockPositionSet::~ColumnBlockPositionSet()’ at engine/sc/inc/mtvelements.hxx:179:7,
> inlined from ‘constexpr void std::destroy_at(_Tp*) [with _Tp = sc::ColumnBlockPositionSet]’ at /usr/include/c++/16/bits/stl_construct.h:88:18,
> inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = sc::ColumnBlockPositionSet]’ at /usr/include/c++/16/bits/stl_construct.h:164:22,
> inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = sc::ColumnBlockPositionSet]’ at /usr/include/c++/16/bits/alloc_traits.h:859:17,
> inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = sc::ColumnBlockPositionSet; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:682:35,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:423:18,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:392:5,
> inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1136:21,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = sc::StartListeningContext; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1610:7,
> inlined from ‘std::shared_ptr<sc::StartListeningContext>::~shared_ptr()’ at /usr/include/c++/16/bits/shared_ptr.h:175:11,
> inlined from ‘{anonymous}::StartNeededListenersHandler::~StartNeededListenersHandler()’ at engine/sc/source/core/data/document10.cxx:552:7,
> inlined from ‘void ScDocument::StartNeededListeners(const std::shared_ptr<const sc::ColumnSet>&)’ at engine/sc/source/core/data/document10.cxx:579:18:
> /usr/include/c++/16/bits/hashtable.h:1904:5: error: array subscript ‘std::_Hashtable<short int, std::pair<const short int, std::unordered_map<short int, sc::ColumnBlockPosition> >, std::allocator<std::pair<const short int, std::unordered_map<short int, sc::ColumnBlockPosition> > >, std::__detail::_Select1st, std::equal_to<short int>, std::hash<short int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >[0]’ is partly outside array bounds of ‘unsigned char [56]’ [-Werror=array-bounds=]
> 1904 | }
> | ^
> In member function ‘constexpr _Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::_Sp_counted_ptr_inplace<sc::StartListeningContext, std::allocator<void>, __gnu_cxx::_S_atomic>]’,
> inlined from ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = std::_Sp_counted_ptr_inplace<sc::StartListeningContext, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/allocator.h:206:40,
> inlined from ‘static constexpr _Tp* std::allocator_traits<std::allocator<_Up> >::allocate(allocator_type&, size_type) [with _Tp = std::_Sp_counted_ptr_inplace<sc::StartListeningContext, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/alloc_traits.h:638:28,
> inlined from ‘std::__allocated_ptr<_Alloc> std::__allocate_guarded(_Alloc&) [with _Alloc = allocator<_Sp_counted_ptr_inplace<sc::StartListeningContext, allocator<void>, __gnu_cxx::_S_atomic> >]’ at /usr/include/c++/16/bits/allocated_ptr.h:103:69,
> inlined from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = sc::StartListeningContext; _Alloc = std::allocator<void>; _Args = {ScDocument&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1034:9,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {ScDocument&}; _Tp = sc::StartListeningContext; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1812:14,
> inlined from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {ScDocument&}; _Tp = sc::StartListeningContext]’ at /usr/include/c++/16/bits/shared_ptr.h:463:59,
> inlined from ‘std::shared_ptr<std::_NonArray<_Tp> > std::make_shared(_Args&& ...) [with _Tp = sc::StartListeningContext; _Args = {ScDocument&}]’ at /usr/include/c++/16/bits/shared_ptr.h:1066:39,
> inlined from ‘{anonymous}::StartNeededListenersHandler::StartNeededListenersHandler(ScDocument&, const std::shared_ptr<const sc::ColumnSet>&)’ at engine/sc/source/core/data/document10.cxx:558:9,
> inlined from ‘void ScDocument::StartNeededListeners(const std::shared_ptr<const sc::ColumnSet>&)’ at engine/sc/source/core/data/document10.cxx:579:92:
> /usr/include/c++/16/bits/new_allocator.h:162:75: note: at offset 24 into object of size 56 allocated by ‘operator new’
> 162 | return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
> | ^
> In destructor ‘sc::ColumnBlockPositionSet::~ColumnBlockPositionSet()’,
> inlined from ‘constexpr void std::destroy_at(_Tp*) [with _Tp = sc::ColumnBlockPositionSet]’ at /usr/include/c++/16/bits/stl_construct.h:88:18,
> inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = sc::ColumnBlockPositionSet]’ at /usr/include/c++/16/bits/stl_construct.h:164:22,
> inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = sc::ColumnBlockPositionSet]’ at /usr/include/c++/16/bits/alloc_traits.h:859:17,
> inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = sc::ColumnBlockPositionSet; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:682:35,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:423:18,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:392:5,
> inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1136:21,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = sc::StartListeningContext; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1610:7,
> inlined from ‘std::shared_ptr<sc::StartListeningContext>::~shared_ptr()’ at /usr/include/c++/16/bits/shared_ptr.h:175:11,
> inlined from ‘{anonymous}::StartNeededListenersHandler::~StartNeededListenersHandler()’ at engine/sc/source/core/data/document10.cxx:552:7,
> inlined from ‘void ScDocument::StartNeededListeners(const std::shared_ptr<const sc::ColumnSet>&)’ at engine/sc/source/core/data/document10.cxx:579:18:
> engine/sc/inc/mtvelements.hxx:179:7: error: array subscript ‘sc::ColumnBlockPositionSet[0]’ is partly outside array bounds of ‘unsigned char [56]’ [-Werror=array-bounds=]
> 179 | class ColumnBlockPositionSet
> | ^~~~~~~~~~~~~~~~~~~~~~
> In member function ‘constexpr _Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::_Sp_counted_ptr_inplace<sc::StartListeningContext, std::allocator<void>, __gnu_cxx::_S_atomic>]’,
> inlined from ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = std::_Sp_counted_ptr_inplace<sc::StartListeningContext, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/allocator.h:206:40,
> inlined from ‘static constexpr _Tp* std::allocator_traits<std::allocator<_Up> >::allocate(allocator_type&, size_type) [with _Tp = std::_Sp_counted_ptr_inplace<sc::StartListeningContext, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at /usr/include/c++/16/bits/alloc_traits.h:638:28,
> inlined from ‘std::__allocated_ptr<_Alloc> std::__allocate_guarded(_Alloc&) [with _Alloc = allocator<_Sp_counted_ptr_inplace<sc::StartListeningContext, allocator<void>, __gnu_cxx::_S_atomic> >]’ at /usr/include/c++/16/bits/allocated_ptr.h:103:69,
> inlined from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = sc::StartListeningContext; _Alloc = std::allocator<void>; _Args = {ScDocument&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1034:9,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {ScDocument&}; _Tp = sc::StartListeningContext; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1812:14,
> inlined from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {ScDocument&}; _Tp = sc::StartListeningContext]’ at /usr/include/c++/16/bits/shared_ptr.h:463:59,
> inlined from ‘std::shared_ptr<std::_NonArray<_Tp> > std::make_shared(_Args&& ...) [with _Tp = sc::StartListeningContext; _Args = {ScDocument&}]’ at /usr/include/c++/16/bits/shared_ptr.h:1066:39,
> inlined from ‘{anonymous}::StartNeededListenersHandler::StartNeededListenersHandler(ScDocument&, const std::shared_ptr<const sc::ColumnSet>&)’ at engine/sc/source/core/data/document10.cxx:558:9,
> inlined from ‘void ScDocument::StartNeededListeners(const std::shared_ptr<const sc::ColumnSet>&)’ at engine/sc/source/core/data/document10.cxx:579:92:
> /usr/include/c++/16/bits/new_allocator.h:162:75: note: at offset 16 into object of size 56 allocated by ‘operator new’
> 162 | return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
> | ^
> In file included from engine/include/vcl/weld.hxx:13,
> from engine/include/sfx2/basedlgs.hxx:25,
> from engine/sw/source/uibase/inc/contentcontroldlg.hxx:21,
> from engine/sw/source/ui/misc/contentcontroldlg.cxx:20:
> In destructor ‘constexpr rtl::OUString::~OUString()’,
> inlined from ‘constexpr SwContentControlListItem::~SwContentControlListItem()’ at engine/sw/inc/formatcontentcontrol.hxx:90:20,
> inlined from ‘constexpr void std::destroy_at(_Tp*) [with _Tp = SwContentControlListItem]’ at /usr/include/c++/16/bits/stl_construct.h:88:18,
> inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = SwContentControlListItem]’ at /usr/include/c++/16/bits/stl_construct.h:164:22,
> inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = SwContentControlListItem]’ at /usr/include/c++/16/bits/alloc_traits.h:859:17,
> inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = SwContentControlListItem; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:682:35,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:423:18,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:392:5,
> inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1136:21,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = SvxCharacterMap; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1610:7,
> inlined from ‘std::shared_ptr<SvxCharacterMap>::~shared_ptr()’ at /usr/include/c++/16/bits/shared_ptr.h:175:11,
> inlined from ‘void SwContentControlDlg::SelectCharHdl(weld::Button&)’ at engine/sw/source/ui/misc/contentcontroldlg.cxx:332:1:
> engine/include/rtl/ustring.hxx:540:32: error: array subscript 3 is outside array bounds of ‘void [24]’ [-Werror=array-bounds=]
> 540 | rtl_uString_release( pData );
> | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~
> In file included from /usr/include/c++/16/bits/shared_ptr.h:53,
> from /usr/include/c++/16/memory:82,
> from engine/include/sfx2/basedlgs.hxx:22:
> In constructor ‘std::__shared_count<_Lp>::__shared_count(_Ptr) [with _Ptr = SvxCharacterMap*; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’,
> inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, std::false_type) [with _Ptr = SvxCharacterMap*; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:992:22,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Yp*) [with _Yp = SvxCharacterMap; <template-parameter-2-2> = void; _Tp = SvxCharacterMap; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1555:17,
> inlined from ‘std::shared_ptr<_Tp>::shared_ptr(_Yp*) [with _Yp = SvxCharacterMap; <template-parameter-2-2> = void; _Tp = SvxCharacterMap]’ at /usr/include/c++/16/bits/shared_ptr.h:213:46,
> inlined from ‘void SwContentControlDlg::SelectCharHdl(weld::Button&)’ at engine/sw/source/ui/misc/contentcontroldlg.cxx:305:97:
> /usr/include/c++/16/bits/shared_ptr_base.h:981:23: note: at offset 24 into object of size 24 allocated by ‘operator new’
> 981 | _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In destructor ‘constexpr rtl::OUString::~OUString()’,
> inlined from ‘constexpr SwContentControlListItem::~SwContentControlListItem()’ at engine/sw/inc/formatcontentcontrol.hxx:90:20,
> inlined from ‘constexpr void std::destroy_at(_Tp*) [with _Tp = SwContentControlListItem]’ at /usr/include/c++/16/bits/stl_construct.h:88:18,
> inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = SwContentControlListItem]’ at /usr/include/c++/16/bits/stl_construct.h:164:22,
> inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = SwContentControlListItem]’ at /usr/include/c++/16/bits/alloc_traits.h:859:17,
> inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = SwContentControlListItem; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:682:35,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:423:18,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:392:5,
> inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1136:21,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = SvxCharacterMap; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1610:7,
> inlined from ‘std::shared_ptr<SvxCharacterMap>::~shared_ptr()’ at /usr/include/c++/16/bits/shared_ptr.h:175:11,
> inlined from ‘void SwContentControlDlg::SelectCharHdl(weld::Button&)’ at engine/sw/source/ui/misc/contentcontroldlg.cxx:332:1:
> engine/include/rtl/ustring.hxx:541:5: error: array subscript 3 is outside array bounds of ‘void [24]’ [-Werror=array-bounds=]
> 541 | }
> | ^
> In constructor ‘std::__shared_count<_Lp>::__shared_count(_Ptr) [with _Ptr = SvxCharacterMap*; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’,
> inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, std::false_type) [with _Ptr = SvxCharacterMap*; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:992:22,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Yp*) [with _Yp = SvxCharacterMap; <template-parameter-2-2> = void; _Tp = SvxCharacterMap; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1555:17,
> inlined from ‘std::shared_ptr<_Tp>::shared_ptr(_Yp*) [with _Yp = SvxCharacterMap; <template-parameter-2-2> = void; _Tp = SvxCharacterMap]’ at /usr/include/c++/16/bits/shared_ptr.h:213:46,
> inlined from ‘void SwContentControlDlg::SelectCharHdl(weld::Button&)’ at engine/sw/source/ui/misc/contentcontroldlg.cxx:305:97:
> /usr/include/c++/16/bits/shared_ptr_base.h:981:23: note: at offset 24 into object of size 24 allocated by ‘operator new’
> 981 | _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from engine/sw/inc/txatbase.hxx:32,
> from engine/sw/inc/textcontentcontrol.hxx:21,
> from engine/sw/source/ui/misc/contentcontroldlg.cxx:29:
> In destructor ‘constexpr SwContentControlListItem::~SwContentControlListItem()’,
> inlined from ‘constexpr void std::destroy_at(_Tp*) [with _Tp = SwContentControlListItem]’ at /usr/include/c++/16/bits/stl_construct.h:88:18,
> inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = SwContentControlListItem]’ at /usr/include/c++/16/bits/stl_construct.h:164:22,
> inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = SwContentControlListItem]’ at /usr/include/c++/16/bits/alloc_traits.h:859:17,
> inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = SwContentControlListItem; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:682:35,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:423:18,
> inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:392:5,
> inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1136:21,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = SvxCharacterMap; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1610:7,
> inlined from ‘std::shared_ptr<SvxCharacterMap>::~shared_ptr()’ at /usr/include/c++/16/bits/shared_ptr.h:175:11,
> inlined from ‘void SwContentControlDlg::SelectCharHdl(weld::Button&)’ at engine/sw/source/ui/misc/contentcontroldlg.cxx:332:1:
> engine/sw/inc/formatcontentcontrol.hxx:90:20: error: array subscript ‘SwContentControlListItem[1]’ is partly outside array bounds of ‘unsigned char [24]’ [-Werror=array-bounds=]
> 90 | class SW_DLLPUBLIC SwContentControlListItem
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> In constructor ‘std::__shared_count<_Lp>::__shared_count(_Ptr) [with _Ptr = SvxCharacterMap*; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’,
> inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, std::false_type) [with _Ptr = SvxCharacterMap*; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:992:22,
> inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Yp*) [with _Yp = SvxCharacterMap; <template-parameter-2-2> = void; _Tp = SvxCharacterMap; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1555:17,
> inlined from ‘std::shared_ptr<_Tp>::shared_ptr(_Yp*) [with _Yp = SvxCharacterMap; <template-parameter-2-2> = void; _Tp = SvxCharacterMap]’ at /usr/include/c++/16/bits/shared_ptr.h:213:46,
> inlined from ‘void SwContentControlDlg::SelectCharHdl(weld::Button&)’ at engine/sw/source/ui/misc/contentcontroldlg.cxx:305:97:
> /usr/include/c++/16/bits/shared_ptr_base.h:981:23: note: at offset 16 into object of size 24 allocated by ‘operator new’
> 981 | _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: I59db4d41d745ac2bab8b0712fb2145a333fe5f42
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1155
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
(cherry picked from commit 3e690ff02e2de8aeb052bf5a2d1f302134b907b1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207168
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
||
|
|
83bad60d1a |
tdf#130857 dbaccess: Merge checkbox/text cols in "assign columns" page
This is similar to
commit
|
||
|
|
c9c63e71e0 |
dbaccess: Resave namematchingpage.ui with glade 3.40
The UI using this ui file can be triggered as described in tdf#130915 comment 4): * Open sample file attachment 158173 [1] from tdf#130915 * Go to tables * Select the table and copy * Select the table and paste * Next [1] https://bugs.documentfoundation.org/attachment.cgi?id=158173 Change-Id: If5ff08642d9d2e8df9c4e6a2ea5122241b4e0cba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207122 Tested-by: Jenkins Reviewed-by: Dan Williams <dcbw@libreoffice.org> |
||
|
|
d15faeb965 |
tdf#130857 dbaccess: Show checkbox in front of icon in "Tables Filter" dlg
This is similar to previous commit
Change-Id: I3a959d71cd91d5bfc20ba8abe50a3c7b1c189df3
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Jun 18 17:58:49 2026 +0200
tdf#130857 dbaccess: Have special toggle before pixbuf col in dbtreelist.ui
and makes the order in which checkbox and icon are shown in
the Base "Tables Filter" dialog consistent between the gtk3
vcl plugin and other vcl plugins using the vcl
(SalInstanceTreeView) implementation, e.g. the gen vcl
plugin on Linux.
See the commit message of the above-mentioned commit for
more background.
Without this commit in place, gtk3 would show the
icons in front of the checkboxes to select which
tables to use while e.g. gen would show it the
other way around.
Sample steps to trigger the dialog:
* start Base
* create a new database
* switch to the "Tables" tab in Base
* create 2 tables, e.g. using "Create Table in Design View..."
* "Tools" -> "Table Filter..."
Now, gtk3 also shows the checkboxes in front
of the icons.
Mismatch in order was found by the ui-rules-enforcer
with upcoming commit
Change-Id: I1f7c8c6456ed2e8ba4d8018d69fb12b40204536a
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Jun 18 17:25:19 2026 +0200
ui-rules-enforcer: Check special treeview expander column order
in place:
$ for a in `git ls-files "*.ui"`; do bin/ui-rules-enforcer.py $a; done
Traceback (most recent call last):
File "/home/michi/development/git/libreoffice/bin/ui-rules-enforcer.py", line 700, in <module>
enforce_treeview_column_rules(root)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/home/michi/development/git/libreoffice/bin/ui-rules-enforcer.py", line 652, in enforce_treeview_column_rules
enforce_treeview_column_rules(child)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
File "/home/michi/development/git/libreoffice/bin/ui-rules-enforcer.py", line 652, in enforce_treeview_column_rules
enforce_treeview_column_rules(child)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
File "/home/michi/development/git/libreoffice/bin/ui-rules-enforcer.py", line 652, in enforce_treeview_column_rules
enforce_treeview_column_rules(child)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
[Previous line repeated 4 more times]
File "/home/michi/development/git/libreoffice/bin/ui-rules-enforcer.py", line 665, in enforce_treeview_column_rules
raise Exception(sys.argv[1] + ": treeview has special toggle and pixbuf columns/renderers in wrong order: ", current.attrib.get("id"))
Exception: ('dbaccess/uiconfig/ui/tablesfilterpage.ui: treeview has special toggle and pixbuf columns/renderers in wrong order: ', 'treeview')
This is in preparation of reworking the handling
of the special expander columns a bit, also to prepare
support for more dialogs using them with
native Qt widgets as well.
Change-Id: Ie1bd0a96a79a9818f3aa573edb29e76363dbfe44
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206985
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
||
|
|
371650fa5a |
tdf#130857 dbaccess: Have special toggle before pixbuf col in dbtreelist.ui
As the weld::TreeView doc says, two special expander columns
for toggle buttons and images can be used that can be accessed
by index -1 in the weld::TreeView API:
/* Model column indexes are considered to begin at 0, but with special columns
before index 0. A expander image column (and an additional optional toggle
button column when enable_toggle_buttons is used). Column index -1 is
reserved to access those columns.
*/
class VCL_DLLPUBLIC TreeView : virtual public ItemView
While the vcl implementation in SalInstanceTreeView doesn't
currently take into account the .ui file at all, the gtk3
vcl implementation (GtkInstanceTreeView) does (and the
native Qt implementation in QtInstanceTreeView also does).
The vcl implementation always shows the toggle button/column
before the image/pixbuf one.
(See e.g. how SvTreeListBox::SetTabs calls
AddTab( nStartPos, TABFLAGS_CHECKBTN );
before
AddTab(nStartPos, TABFLAGS_CONTEXTBMP);
and how SalInstanceTreeView::do_insert also first
inserts an item if the SvTreeFlags::CHKBTN flag
is set before inserting a SvLBoxContextBmp for the
special bitmap/expander column.)
For consistency with the vcl implementation,
also have the toggle renderer first
in the .ui file, which means it will be rendered
first when using gtk3 as well.
This .ui file is used e.g. for the "Tables"
section on the "Tables" tab in Base where
a list of the existing tables is shown.
Sample steps:
* start Base
* create a new database
* switch to the "Tables" tab in Base
* create 2 tables, e.g. using "Create Table in Design View..."
* see how both are displayed with a table icon in the "Tables"
section at the bottom left of that tab page.
Mismatch in order was found by the ui-rules-enforcer
with upcoming commit
Change-Id: I1f7c8c6456ed2e8ba4d8018d69fb12b40204536a
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Jun 18 17:25:19 2026 +0200
ui-rules-enforcer: Check special treeview expander column order
in place:
$ for a in `git ls-files "*.ui"`; do bin/ui-rules-enforcer.py $a; done
Traceback (most recent call last):
File "/home/michi/development/git/libreoffice/bin/ui-rules-enforcer.py", line 700, in <module>
enforce_treeview_column_rules(root)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/home/michi/development/git/libreoffice/bin/ui-rules-enforcer.py", line 652, in enforce_treeview_column_rules
enforce_treeview_column_rules(child)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
File "/home/michi/development/git/libreoffice/bin/ui-rules-enforcer.py", line 652, in enforce_treeview_column_rules
enforce_treeview_column_rules(child)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
File "/home/michi/development/git/libreoffice/bin/ui-rules-enforcer.py", line 652, in enforce_treeview_column_rules
enforce_treeview_column_rules(child)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
[Previous line repeated 2 more times]
File "/home/michi/development/git/libreoffice/bin/ui-rules-enforcer.py", line 665, in enforce_treeview_column_rules
raise Exception(sys.argv[1] + ": treeview has special toggle and pixbuf columns/renderers in wrong order: ", current.attrib.get("id"))
This is in preparation of reworking the handling
of the special expander columns a bit, also to prepare
support for more dialogs using them with
native Qt widgets as well.
Change-Id: I3a959d71cd91d5bfc20ba8abe50a3c7b1c189df3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206984
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
||
|
|
7bf8bcbd21 |
dbaccess a11y: Drop unnecessary "translatable" attr for a11y role
"AtkObject::accessible-role" isn't supposed to be translated anyway. Resaving the UI file with glade 3.40 drops that attribute. Save the change before doing further changes, to reduce the unrelated diff in an upcoming commit. Change-Id: Idbc1b8b64fece0dc0b0d0d945f4cad0b5c50a4ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206983 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
dd79eebe34 |
Commit result of running ui-rules-enforcer
Commit changes automatically done when running
the the UI rules enforcer:
for a in `git ls-files "*.ui"`; do bin/ui-rules-enforcer.py $a; done
Change-Id: I9c9bed95fc30fb1ba66056fc2508d96fa0d778f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206972
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
||
|
|
a14a19a83c |
a11y: Drop unused AccessibleBrowseBox includes
Directly include the OAccessible header where the code was previously depending on transitive includes. Change-Id: I83750f8db6f843e9afc0a2b95bd7969667550992 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206727 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
6ac93e562a |
normalize some namespace declarations
Change-Id: I4cc17f852dd58d95e97cdc673d1f1ca0c6de6c03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206636 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins |
||
|
|
67b51abd65 |
tdf#42713: maintain SQL comments in design view
When an SQL query has comments then those were deleted when switching to design view. This is fixed and the comments are maintained. In the case the query is edited in design view then the comments are inevitably lost. Change-Id: Ibcf6e36fce88a526c7340d352aca9859b1b3714e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205441 Tested-by: Jenkins Reviewed-by: Vissarion Fisikopoulos <vfisikop@libreoffice.org> |
||
|
|
f1c0f94229 |
msvc: remove obsolete warning suppressors
Change-Id: I4128ab5ac0494d515d84d8208bf8d8065d2359c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206014 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> |
||
|
|
f26084217a |
weld: Move weld::Button to own header/Rename weld.hxx
In the past, weld.hxx used to contain the class definitions for weld::Widget and all subclasses. By now, weld::Widget and almost all subclasses have been moved to separate headers, to make it easier to keep the overview and to avoid having to recompile ~all UI code when one class changes. By now, only weld::Button is left in weld.hxx. Rename the header to Button.hxx. Drop weld.hxx includes and instead add Button.hxx includes (or weld::Button forward declarations) where weld::Button is used. (Don't simply replace all weld.hxx includes with Button.hxx ones, since many of them were for the use of other widgets that have since been moved to their own headers.) Add further includes where needed now that the (direct or transitive) includes of weld.hxx were removed. Change-Id: I8ea6201446a418d5e38b46337059dcd517ee29d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205937 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins |
||
|
|
8b5a46a0e0 |
weld: Move weld::toId and weld::fromId to weldutils.hxx
In the past, weld.hxx used to contain the class definitions for weld::Widget and all subclasses, as well as a few helpers. By now, weld::Widget and almost all subclasses have been moved to separate headers, to make it easier to keep the overview and to avoid having to recompile ~all UI code when anything in weld.hxx changes. Move the weld::toId and weld::fromId helpers from weld.hxx to weldutils.hxx, in preparation of getting rid of weld.hxx altogether in an upcomcing commit. Change-Id: I408fe20a74ff104cbfe07bde3105317a1922ff61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205936 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
8f7cf9c32c |
weld: Move weld::CheckButton to own header
Move the class out of weld.hxx into its own header, in order to make it easier to keep an overview and to avoid having to recompile ~all UI code when the class is modified. Add missing includes/forward declarations in places previously depending on transitive includes that are now dropped. Change-Id: I3215b358e0fa45ffce08756218c386e1a4d7ebc6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205928 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins |
||
|
|
ba7331747f |
weld: Drop not directly used includes/fwd-decls from weld.hxx
These are not needed inside weld.hxx itself. Instead add the required includes/forward-declarations to those files actually needing them, instead of relying on the now dropped ones. Change-Id: I5e4cea030867d14057b2bdcc2a2a4cd98843651d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205906 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
8d9ae67bdf |
dbaccess: Drop unused 'using namespace'
Change-Id: Ibcfb8bb6a9149723bb6f96c77c91ea963b148ac7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205905 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
da1c7a5459 |
weld: Move weld::RadioButton to own header
Move the class out of weld.hxx into its own header, in order to make it easier to keep an overview and to avoid having to recompile ~all UI code when the class is modified. Change-Id: I34876c5bef75e30e758029b0fe5afeecc92d509d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205903 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
911a89ddeb |
weld: Move weld::WaitObject to own header/source
Move the class out of weld.hxx into its own header and source file, in order to make it easier to keep an overview and to avoid having to recompile ~all UI code when the class is modified. Change-Id: I91bae842e5b18a83db45de12150c21f75e537fb9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205900 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
243bb112ec |
weld: Move weld::Container to own header
Move the class out of weld.hxx into its own header, in order to make it easier to keep an overview and to avoid having to recompile ~all UI code when the class is modified. Adjust includes in files that were implicitly depending on transitive includes that are no longer present because the more specific include/weld/Container.hxx is included further down now instead of include/weld/weld.hxx. Change-Id: I04e6bb72ce446b746dfdf88b45c7df9d0ccda473 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205899 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins |
||
|
|
336f70f966 |
weld: Move weld::Label to own header
Move the class out of weld.hxx into its own header, in order to make it easier to keep an overview and to avoid having to recompile ~all UI code when the class is modified. Change-Id: Ide86f35543468a88288a068cc9f89eaf381ac52f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205763 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
315349828a |
Fix --enable-werror gcc build on Linux
Commit 8ed30e4a243a3efdfe380852d20910bc4a02e181 (Move ToolboxController
to use OPropertyContainerImplHelper, 2026-04-10) introduced cases similar
to the problem handled in commit 3917b082b9f4530d305cd947ab47658f6883c4f1
(Fix --enable-werror gcc build on Linux, 2026-04-09).
In file included from /home/mk/core/framework/inc/uielement/complextoolbarcontroller.hxx:28,
from /home/mk/core/framework/inc/uielement/comboboxtoolbarcontroller.hxx:24,
from /home/mk/core/framework/source/uielement/comboboxtoolbarcontroller.cxx:20:
/home/mk/core/include/svtools/toolboxcontroller.hxx:86:31: error: ‘virtual void svt::ToolboxController::disposing(const com::sun::star::lang::EventObject&)’ was hidden [-Werror=overloaded-virtual=]
86 | virtual void SAL_CALL disposing( const css::lang::EventObject& Source ) override;
| ^~~~~~~~~
/home/mk/core/framework/inc/uielement/comboboxtoolbarcontroller.hxx:44:22: note: by ‘virtual void framework::ComboboxToolbarController::disposing(std::unique_lock<std::mutex>&)’
44 | virtual void disposing(std::unique_lock<std::mutex>& rGuard) override;
| ^~~~~~~~~
Change-Id: Ic41be4d39b032864c3427d17a85502e36f31dce9
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/757
Reviewed-by: Justin Luth <justin.luth@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit e95308f8dc2e5c1088686eaa1552126eea9745d0)
(cherry picked from commit d6a555ec61272006e801764dd46a493bbbf3e90a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205689
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
||
|
|
bce4bc55f9 |
Move ToolboxController to use OPropertyContainerImplHelper
Quite a large inheritance chain, which all needed replace dispose with disposing, and make sure the locking is correct. Introduce comphelper::unique_unlock, RAII class for scoped release of std::unique_lock, to help ensure the invariant established in commit 4fc1ab0ca8d9bb0f0b8344d0537882aab1d6d2c0 (add assert to keep WeakComponentImplHelperBase::disposing callees honest, 2026-04-04). Change-Id: I72c98c25c01b8042428ef2376c6aba3c6b15ec87 Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/248 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CPCI <releng@collaboraoffice.com> (cherry picked from commit 8ed30e4a243a3efdfe380852d20910bc4a02e181) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205688 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> |
||
|
|
caf583e1a3 |
tdf#157664 Drop operator != where respective == is defined
Change-Id: Ib958689984c20c4f28e078e056c752cb4deb5cf2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205507 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org> |
||
|
|
1a3d6d5cdf |
weld: Move weld::Frame to own header
Move the class out of weld.hxx into its own header, in order to make it easier to keep an overview and to avoid having to recompile ~all UI code when the class is modified. Change-Id: Ia7bc570fcd463d9adcbcdad070250cec5bc3b949 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205488 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
b2ce99c623 |
weld: Move weld::Image to own header
Move the class out of weld.hxx into its own header, in order to make it easier to keep an overview and to avoid having to recompile ~all UI code when the class is modified. Change-Id: I2eb564b2483b052f01d4af55fd4feb00b5ed6031 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205472 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins |
||
|
|
3f1fb9d4b0 |
weld: Move weld::Window to own header
Move the class out of weld.hxx into its own header, in order to make it easier to keep an overview and to avoid having to recompile ~all UI code when the class is modified. Change-Id: If7cb4403f1861c465f44a1cae4065b0bf8dfad48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205323 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
49904fa438 |
Revert partly 1c890385b8
Open Base, then Tools/Table Filter...
gives:
soffice.bin: /home/julien/lo/libreoffice/vcl/unx/gtk3/gtkinst.cxx:14618:
(anonymous namespace)::GtkInstanceTreeView::GtkInstanceTreeView(GtkTreeView *, GtkInstanceBuilder *, bool):
Assertion `!gtk_tree_view_get_show_expanders(m_pTreeView) && "a liststore can only be used if no tree structure is needed"' failed.
part of bt when asserting
4 0x00007ff19ec30424 in __assert_fail_base
(fmt=<optimized out>, assertion=<optimized out>, file=<optimized out>, line=<optimized out>, function=0x7ff18c553d4f "(anonymous namespace)::GtkInstanceTreeView::GtkInstanceTreeView(GtkTreeView *, GtkInstanceBuilder *, bool)") at ./assert/assert.c:118
5 0x00007ff18c6d6341 in (anonymous namespace)::GtkInstanceTreeView::GtkInstanceTreeView (this=0x556ee931d0b0, pTreeView=0x556eea917940, pBuilder=0x556ee93149c0, bTakeOwnership=false)
at /home/julien/lo/libreoffice/vcl/unx/gtk3/gtkinst.cxx:14618
6 0x00007ff18c6d5814 in std::make_unique<(anonymous namespace)::GtkInstanceTreeView, _GtkTreeView*&, (anonymous namespace)::GtkInstanceBuilder*, bool>
(__args=@0x7ffd2853c190: 0x556eea917940, __args=@0x7ffd2853c178: 0x556ee93149c0, __args=@0x7ffd2853c177: false) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/unique_ptr.h:1084
7 0x00007ff18c69ed9a in (anonymous namespace)::GtkInstanceBuilder::weld_tree_view (this=0x556ee93149c0, id="treeview") at /home/julien/lo/libreoffice/vcl/unx/gtk3/gtkinst.cxx:24074
8 0x00007ff118cee620 in dbaui::OTableSubscriptionPage::OTableSubscriptionPage
(this=0x556ee9f2bba0, pPage=0x556eea92a460, pTablesDlg=0x556ee894b490, _rCoreAttrs=SfxItemSet of pool 0x556ee92f4e00 with parent 0x0 and Which ranges: [(1, 61)] = {...})
at /home/julien/lo/libreoffice/dbaccess/source/ui/dlg/tablespage.cxx:56
9 0x00007ff118cf2c8e in std::make_unique<dbaui::OTableSubscriptionPage, weld::Container*, dbaui::OTableSubscriptionDialog*, SfxItemSet&>
(__args=@0x7ffd2853c410: 0x556eea92a460, __args=@0x7ffd2853c408: 0x556ee894b490, __args=SfxItemSet of pool 0x556ee92f4e00 with parent 0x0 and Which ranges: [(1, 61)] = {...})
Change-Id: I629acb671ce0d1baaa83f3740109487ffdef2d8e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205025
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
||
|
|
ec73986ca7 |
tdf#153057 enable Base to filter date and time values with firebird embedded db
Add cases for date, time and timestamp data types in prepared statement of firebird embedded database. Add unit tests for this particular case and for testing the DBTypeConversion functions toDate, toTime, toDateTime that used in the fix. Change-Id: I91fd2322598b14f84a96f071ed029c9b3e64d51e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204841 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins |
||
|
|
9ab4e14b44 |
Capitalize your initialisms
Change-Id: I144d90daffcac560677d1553205612091d4806e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204552 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> |
||
|
|
b0b90ec05c |
svtools: Convert EditBrowseBox::RowStatus to enum class
Also drop the explicit int values, as they are irrelevant. Change-Id: I407ffe3c6a3c6d8e2f05ce57434da32db75acc5d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204452 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
1364f3246c |
dbaccess: Drop ORelationControl_Base typedef
It's just an alias for svt::EditBrowseBox. Use the latter directly instead. Change-Id: Iffe957e35b5763564e040313bb37383c06ad6bbe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204450 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins |
||
|
|
2f9b26c31c |
svt: Return more specific subclass in EditBrowseBox::imp_CreateHeaderBar
The return value is always a EditBrowserHeader or subclass, so return that more specific type instead of only the BrowserHeader base class. Change-Id: Ifa01f640d9909063e9609e1106d832d0a96872a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204448 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins |
||
|
|
6ea49cb1bd |
weld: Pass col index in TreeView::signal_editing_done
In addition to the weld::TreeIter and the new text,
also pass the column index of the cell that was edited
in the callback that gets called when a cell was edited.
This will allow callbacks to take that into account as
well when deciding whether to accept or reject the
editor operation.
One case that will make use of this in an upcoming
commit is Math's MatrixCreatorDialog, which currently
implements its own logic based on mouse clicks to
(try to) identify the column that is edited.
That is relatively complicated and won't work in the
case of keyboard-only interaction.
For the vcl implementation, this makes use of the
SvLBoxItem available in the callback since
Change-Id: Iad2866d8fcc710d82f4f0dc0661a3b1f0bebaeab
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri Apr 24 13:17:15 2026 +0200
vcl: Also pass the item in treeview callback when entry edited
to retrieve the column index of the modified
item/cell.
For GTK, GtkInstanceTreeView::signal_cell_toggled
already contains similar logic.
For Qt, the column index is available via the
QModelIndex.
Change-Id: I36fa296d72ef2ff853da03037151cc060634d2a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204305
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
||
|
|
675d216886 |
Use existing weld::TreeView::iter_string typedef
Use the existing typedef instead of having multiple versions that are all the same. Change-Id: I7bc99a641ce5e7aa8237968b8b88fa4835917cd8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204288 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
5fab2d8f24 |
tdf#170269 Use std::ranges::any_of to simplify loops
in indexdialog.cxx and paramdialog.cxx Change-Id: I440ea336e107ea7b1f7199c4d2437ce447f3d6fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203418 Tested-by: Jenkins Reviewed-by: David Gilbert <freedesktop@treblig.org> |
||
|
|
1c890385b8 |
Fix GtkTreeView <various cases> could use GtkListStore for better performance
Change-Id: Iecfab642ba889af305a1121cd55a93f9037c9907 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203439 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr> |
||
|
|
03d5d803c4 |
weld: Switch TreeView selection changed signal param to ItemView
Switch the param for the signal and handlers used when the selection in a weld::TreeView changes from weld::TreeView& to the base class, weld::ItemView&. This is in preparation of moving the logic to the weld::ItemView base class in an upcoming commit. Handler implementations that require a weld::TreeView instance can use the one that the signal is connected to, e.g. use the class member directly inside of the implementation instead of using the param (as is done in most of the places anyway). Change-Id: I0bbf8fe1dbd95906a5224155d48d832bcd144532 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203366 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
8ff8ad952e |
weld: Rename row activation related TreeView members to match IconView
Rename methods and field related to signalling activation of a weld::TreeView row to use the same names as the equivalent ones for signalling activation of an entry in weld::IconView: * weld::TreeView::m_aRowActivatedHdl -> weld::TreeView::m_aItemActivatedHdl * weld::TreeView::signal_row_activated -> weld::TreeView::signal_item_activated * weld::TreeView::connect_row_activated -> weld::TreeView::connect_item_activated This is in preparation of deduplicating the weld::TreeView and weld::IconView implementations for these by moving them to the common weld::ItemView base class in an upcoming commit. Change-Id: I4ca4dec1295c57cea574b68fd41b89c12144c4f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203350 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
11789e47ac |
weld: Pass activated row in TreeView::signal_row_activated
This is basically the weld::TreeView version of earlier
commit
Change-Id: I8ca62ac32108f01e2055d5ef9301de22eb5b1931
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed Apr 8 12:35:25 2026 +0200
weld: Pass activated item in IconView::signal_item_activated
applying an equivalent change for weld::IconView instead
of weld::TreeView. See that commit for more details/background.
For weld::TreeView, the weld::TreeIter refers to
a full row (and columns are handled separately
by a column index in the weld::TreeView API).
As for the above commit:
Initially, leave the logic of the existing signal handlers/callbackes
(in dialog implementations) unchanged. At least some of them
will be simplified in upcoming commits to use the
newly passed weld::TreeIter param directly instead of
determining the current/activated row a different
way.
Change-Id: Ie6a962702d4f7f069b2f7b77a22a78722b2a6408
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203331
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
||
|
|
3a9e93563b |
dbaccess: Extract OAddTableDlg::Add helper not requiring widget
OAddTableDlg::AddClickHdl passes a widget to OAddTableDlg::TableListDoubleClickHdl but that param is actually unused. Extract a helper method OAddTableDlg::Add that doesn't require a widget param and use that one instead. This also prepares for adjusting weld::TreeView::m_aRowActivatedHdl to pass the weld::TreeIter of the activated entry instead of just the weld::TreeView itself. Change-Id: Id3c38b0633dc8d3efc1faadcc4ad79c91cf84318 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203320 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
5f7a27917d |
weld: Move TreeIter to own header
Move the class out of weld.hxx into its own header, in order to make it easier to keep an overview and to avoid having to recompile ~all UI code when the class is modified. Change-Id: Id2c40f0fa57a18b797079bf2a1aa8b6f03c77f44 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203314 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> |
||
|
|
fdcd1880cb |
dbaccess: Use ODatasourceSelectDialog member instead of TreeView param in hdl
Use ODatasourceSelectDialog::m_xDatasource directly instead of the weld::TreeView& param passed to the handler. That is the weld::TreeView that the handler is connected to. This also prepares for adjusting weld::TreeView::m_aRowActivatedHdl to pass the weld::TreeIter of the activated entry instead of just the weld::TreeView itself. Change-Id: If190e3f54a96e90c6669275d67d9158a587b7b74 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203299 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins |