Steps to reproduce: export SAL_USE_VCLPLUGIN=gen Run soffice, select some text (this is important) and insert a bookmark for it. Unselect the text Open the bookmarks dialog again. The bookmark appears in the list. The third column "Text" is not editable. But there is a "edit text" button which works around this issue :-) I submitted patch 180450 on gerrit to fix this. The relevant code is in bookmark.cxx : m_xBookmarksBox->set_column_editables({ false, false, true, false, false });
Right now I can't reproduce the bug any more Need to research more. Sorry
So now I hunted it down. Steps to reproduce: export SAL_USE_VCLPLUGIN=gen Run soffice, select some text (this is important) and insert a bookmark for it. Unselect the text Open the bookmarks dialog again. The bookmark appears in the list. The third column "Text is editable, until you a) Click the header on any column to change the sor torder b) Try to re-arrange the headers by dragging After doing a) or b), instead column 1 becomes editable. IMHO the reason is that SvTabListBox::SetTabs(sal_uInt16, tools::Long, MapUnit) resets all tab flags to MYTABMASK and sets the flag of the first column to EDITABLE. It shouldn't do this because it is only modifying the tabs. There is another method SvTabListBox::SetTabs() which is used to initialize the tabs. But I may be wrong. This bug is connected with patch 180450 on gerrit, which I know think is only a partial solution of the problem.
Hi Jan, With: Version: 25.8.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 1b14b6cd69124c604edabce742e95c89053b3b12 CPU threads: 4; OS: Linux 5.15; UI render: default; VCL: x11 Locale: en-US (en_US.UTF-8); UI: en-US Calc: threaded I was able to reproduce this bug. I found the patch you submitted here: https://gerrit.libreoffice.org/c/core/+/180450
(In reply to Jan Rheinländer from comment #2) > IMHO the reason is that SvTabListBox::SetTabs(sal_uInt16, tools::Long, > MapUnit) resets all tab flags to MYTABMASK and sets the flag of the first > column to EDITABLE. It shouldn't do this because it is only modifying the > tabs. There is another method SvTabListBox::SetTabs() which is used to > initialize the tabs. > > But I may be wrong. That sounds very plausible and matches my first impression (but I'm not very familiar with that code, so can't give a definitive statement at this point either), s.a. comment in your Gerrit change https://gerrit.libreoffice.org/c/core/+/180450 .
Earlier commit that sounds somewhat related and mentions the issue: commit fe38553aef2121f358fb58e450ec69314aad851e Author: Michael Stahl Date: Fri Jul 22 16:19:02 2022 +0200 vcl: allow editing a column other than the first one in SvTabListBox There are 2 members mvTabList and aTabs in SvTabListBox and SvTreeListBox, and only aTabs is evaluated to determine which column should be edited when calling start_editing(). This solution is probably not ideal; it would be better to have a parameter to select the column because one might want multiple editable columns with multiple buttons... Also, the native GTK implementation has the same bug (but there double-clicking the column works). Change-Id: I727792e635d3b610a2132ee5f4155e3ee610aaf2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137362 Tested-by: Jenkins Reviewed-by: Caolán McNamara CC'ing Michael Stahl, in case he still remembers anything that might be useful input here.
I changed the gerrit commit to reflect the discussion: The problem seems to be solved by removing three lines from SetTab() The solution is not complete, though. If you add a second call to set_column_editables() somewhere, e.g. in bookmark.cxx SwInsertBookmarkDlg::ModifyHdl at the end: m_xBookmarksBox->set_column_editables({ false, false, true, false, false }); then the 2nd column is now editable instead of the third. Very confusing. Steps to reproduce after inserting this line: Insert two bookmarks Open the dialog Delete one of the bookmarks Try to edit in the 2nd and 3rd columns
> The solution is not complete, though. If you add a second call to > set_column_editables() somewhere, e.g. in bookmark.cxx > SwInsertBookmarkDlg::ModifyHdl at the end: > Sorry, that's DeleteHdl() of course
(In reply to Jan Rheinländer from comment #7) > > The solution is not complete, though. If you add a second call to > > set_column_editables() somewhere, e.g. in bookmark.cxx > > SwInsertBookmarkDlg::ModifyHdl at the end: > > > > Sorry, that's DeleteHdl() of course I didn't notice any difference when testing the patch and adding a second call to set_columns_editables at the end of ModifyHdl or DeleteHdl. I have filed a separate bug report that may be what you are getting at. Please see Bug 164985.
(In reply to Jim Raykowski from comment #8) > (In reply to Jan Rheinländer from comment #7) > > > The solution is not complete, though. If you add a second call to > > > set_column_editables() somewhere, e.g. in bookmark.cxx > > > SwInsertBookmarkDlg::ModifyHdl at the end: > > > > > > > Sorry, that's DeleteHdl() of course > > I didn't notice any difference when testing the patch and adding a second > call to set_columns_editables at the end of ModifyHdl or DeleteHdl. > > I have filed a separate bug report that may be what you are getting at. > Please see Bug 164985. Did you test with export SAL_USE_VCLPLUGIN=gen ?
(In reply to Jan Rheinländer from comment #9) > (In reply to Jim Raykowski from comment #8) > > (In reply to Jan Rheinländer from comment #7) > > > > The solution is not complete, though. If you add a second call to > > > > set_column_editables() somewhere, e.g. in bookmark.cxx > > > > SwInsertBookmarkDlg::ModifyHdl at the end: > > > > > > > > > > Sorry, that's DeleteHdl() of course > > > > I didn't notice any difference when testing the patch and adding a second > > call to set_columns_editables at the end of ModifyHdl or DeleteHdl. > > > > I have filed a separate bug report that may be what you are getting at. > > Please see Bug 164985. > > Did you test with > > export SAL_USE_VCLPLUGIN=gen > > ? Yes I tested with SAL_USE_VCLPLUGIN=gen with the calls to set_columns_editables. Can you attach a video demonstration? It might help me understand what I may be doing wrong to not be able to reproduce this.
(In reply to Jim Raykowski from comment #8) > I didn't notice any difference when testing the patch and adding a second > call to set_columns_editables at the end of ModifyHdl or DeleteHdl. > Neither can I, now. Not sure whether that is reassuring or not...
Jan Rheinländer committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/d9eac4f95649f04e1ddbe5026d8bb323c1fc58d8 tdf#164850 Avoid resetting edit flags when resetting column widths It will be available in 25.8.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.