Bug 143758 - Content of listbox in table control will disappear when listbox is refreshed by macro (Windows and kf5)
Summary: Content of listbox in table control will disappear when listbox is refreshed ...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
6.3.0.4 release
Hardware: x86-64 (AMD64) All
: low minor
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Macro
  Show dependency treegraph
 
Reported: 2021-08-06 10:44 UTC by Robert Großkopf
Modified: 2024-10-19 07:06 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Database with form to test the described behavior (14.15 KB, application/vnd.oasis.opendocument.database)
2021-08-06 10:44 UTC, Robert Großkopf
Details
Screenshot: First row with content of listbox, second without showin content (gen) (56.44 KB, image/png)
2022-05-18 14:57 UTC, Robert Großkopf
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Großkopf 2021-08-06 10:44:47 UTC
Created attachment 174109 [details]
Database with form to test the described behavior

Don't know if this is a bug for Base or Basic or UI. 

Open the attached database.
Allow executing macros.
Open the form.
There is a table control with a list box for "Position". This list box will be refreshed every time the row has been changed. (There shouldn't a "Position" be available for a "Thing", which is used by another "Thing".)
Click in first row on "Position".
Click in second row on "Postion".
"Position" in first row will disappear.
Click in third row on "Position".
"Position" in second row won't disappear, because the whole content of the table control has been moved above while refreshing the list box.
Now move by scrollbar to the see first and second row. 
No "Position" would be shown for first row and second row …

Tested with
Version: 7.2.0.2 / LibreOffice Community
Build ID: 614be4f5c67816389257027dc5e56c801a547089
CPU threads: 6; OS: Linux 5.3; UI render: default; VCL: kf5 (cairo+xcb)
Locale: de-DE (de_DE.UTF-8); UI: de-DE
Calc: threadedTest for this bug 

on OpenSUSE 15.2 64bit rpm Linux
Comment 1 Buovjaga 2022-05-18 14:23:57 UTC
So I understood this in the way that the bad result is the Position value not clearing immediately from the second row. It is cleared using gtk3 and gen UIs. Already seen in 6.3.

Version: 7.4.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 172e208e6b0674f42c301c5ee5e280e9138ba1b4
CPU threads: 2; OS: Windows 10.0 Build 19044; UI render: Skia/Raster; VCL: win
Locale: fi-FI (fi_FI); UI: en-US
Calc: threaded Jumbo

Arch Linux 64-bit
Version: 7.3.3.2 / LibreOffice Community
Build ID: 30(Build:2)
CPU threads: 8; OS: Linux 5.17; UI render: default; VCL: kf5 (cairo+xcb)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
7.3.3-2
Calc: threaded
Comment 2 Robert Großkopf 2022-05-18 14:57:03 UTC
Created attachment 180187 [details]
Screenshot: First row with content of listbox, second without showin content (gen)

See the same buggy behavior here with LO 7.3.3.2 on OpenSUSE 15.3 64bit rpm Linux, Desktop KDE, when starting LO with 
SAL_USE_VCLPLUGIN=gen ./soffice
First row: Table control shows the content of the listbox 'Down'
Second row: Now content is shown
Switching to second row: 'Down' in first row will disappear, 'Left' in listbox of the second row appear.
Switching to new no value of the listbox in first and second row will appear.
Comment 3 Buovjaga 2022-05-18 15:57:58 UTC
To hopefully clarify, I will add my own results.

(In reply to Robert Großkopf from comment #2)
> Created attachment 180187 [details]
> Screenshot: First row with content of listbox, second without showin content
> (gen)
> 
> See the same buggy behavior here with LO 7.3.3.2 on OpenSUSE 15.3 64bit rpm
> Linux, Desktop KDE, when starting LO with 
> SAL_USE_VCLPLUGIN=gen ./soffice
> First row: Table control shows the content of the listbox 'Down'

gen, kf5, win: shows the list box, but no value is selected
gtk3: shows 'Up'

> Second row: Now content is shown

Maybe this is a typo and you meant to say "No content is shown".

> Switching to second row: 'Down' in first row will disappear, 'Left' in
> listbox of the second row appear.

all: listbox in first row disappears, 'Left' appears in second row.

> Switching to new no value of the listbox in first and second row will appear.

gen: 'Left' disappears immediately from second row. Third row shows the list box, but no value is selected
gtk3: 'Left' disappears from second row with a very slight delay. Third row shows 'Up'
kf5: 'Left' stays in second row. Third row shows the list box, but no value is selected. 'Left' disappears when zooming. Also, if I have zoomed to more than 100%, 'Left' does not stay when switching to third row.
win: same as kf5, except that initial zoom level does not affect 'Left' - it still stays
Comment 4 Robert Großkopf 2022-05-18 16:57:32 UTC
So there seem to be different behaviors when last row will be arrived. Let us focus to this bug:
The content of the list boxes will disappear, if content is different for every row. 'Left' of listbox in second row will appear, when cursor is set to this listbox. 'Left' will disappear when cursor will loose the row.
Expected behavior: 
Row 1 shouldn't show any content in listbox "Position", because there is no content chosen in table "Thing". Listbox should allow to choose all values except 'Left', because this value is chosen in row 2.
Row 2 should show "Left" directly when opening the form.

The different behavior with zoom-level will appear when there has been added a vertical scrollbar at the left. But showing 'Left' is the expected behavior. So this isn't a bug …
Comment 5 QA Administrators 2024-10-19 03:18:07 UTC Comment hidden (obsolete)
Comment 6 Robert Großkopf 2024-10-19 07:06:22 UTC
It's the same buggy behavior in LO 24.8.2.1: Content of a listbox in a tablecontrol wouldn't be shown when listbox will be refreshed and SQL for listboxes differs.