Bug 165249 - LibreOffice sometimes waits for a few seconds while showing a black fill on startup using gen UI until tipoftheday dialog or Welcome dialog loads image
Summary: LibreOffice sometimes waits for a few seconds while showing a black fill on s...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All Linux (All)
: low minor
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Tip-Of-The-Day
  Show dependency treegraph
 
Reported: 2025-02-14 08:26 UTC by Hossein
Modified: 2025-10-29 11:09 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hossein 2025-02-14 08:26:25 UTC
Description:
While using LibreOffice with gen backend and tip of the day dialog enabled, I sometimes face black screen on the tip of the day dialog. It goes away after a few seconds.

Steps to Reproduce:
1. Use LibreOffice gen UI:
$ export SAL_USE_VCLPLUGIN=gen

2. Open LibreOffice in safe mode, and reset to factory settings. Apply changes and restart. Then, quite LibreOffice

$ libreoffice25.2 --safe-mode

3. Open Writer and look into the tip of the day dialog.
$ libreoffice25.2 --writer

Actual Results:
LibreOffice hangs and the tipoftheday dialog goes black for a few seconds

Expected Results:
LibreOffice tipoftheday dialog should not hang, and should not go black


Reproducible: Always


User Profile Reset: Yes

Additional Info:
Version: 25.2.0.3 (X86_64) / LibreOffice Community
Build ID: e1cf4a87eb02d755bce1a01209907ea5ddc8f069
CPU threads: 12; OS: Linux 6.2; UI render: default; VCL: x11
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: CL threaded

While using LibreOffice UI file cui/uiconfig/ui/tipofthedaydialog.ui in a minimal example, I found that it goes black for some reason. Here is a description of the example:

VCL weld: create LibreOffice GUI from design files
https://dev.blog.documentfoundation.org/2024/11/22/vcl-weld-create-libreoffice-gui-from-design-files/

Running the example this way, it hangs and the window goes black, while it works normally in other UI back-ends like gtk3, kf5, etc:

$ export SAL_USE_VCLPLUGIN=gen
$ ./bin/run minweld

Then, I tried editing the UI file with Glade. After removing the "imPreview" GtkDrawingArea, the minweld example runs smoothly with gen UI.
Comment 1 Buovjaga 2025-10-28 11:58:55 UTC
This seems to also be true for the new Welcome dialog? You can force it with `--safe-mode --writer`, so easier than tip of the day, which is only shown once per day without profile reset. Not sure, if "hangs" is the right term here.
Comment 2 Heiko Tietze 2025-10-28 15:16:25 UTC
(In reply to Hossein from comment #0)
> I sometimes face black screen...
This "sometimes" could be interesting when it depends on the tip itself. Besides, nothing special in this dialog. Maybe the amodal state resp. StartExecuteAsync() introduced for bug 127533.
Comment 3 Hossein 2025-10-29 11:09:09 UTC
@Heiko: You may see the problem easier with minweld example:

$ SAL_USE_VCLPLUGIN=gen ./bin/run minweld

The above command lead to hang, but with other UI plugins like gtk3, qt5, win, etc., it works just fine:

$ SAL_USE_VCLPLUGIN=gtk3 ./bin/run minweld

The issue comes from the fact that the "imPreview" GtkDrawingArea is not handled in this example which uses cui/ui/tipofthedaydialog.ui. The underlying gen UI VCL implementation keeps window blocked until this widget is initialized properly.

This translates to a few seconds of UI hang before that element gets initialized.