Bug 164353 - MessageDialog buttons don't respond to clicks (kf5/kf6)
Summary: MessageDialog buttons don't respond to clicks (kf5/kf6)
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
25.2.0.0 alpha0+
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Michael Weghorn (away)
URL:
Whiteboard: target:25.8.0 target:25.2.0.0.beta2
Keywords: bibisected, bisected, regression
Depends on:
Blocks: KDE, KF5 Qt6
  Show dependency treegraph
 
Reported: 2024-12-17 11:37 UTC by Buovjaga
Modified: 2024-12-18 21:27 UTC (History)
1 user (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 Buovjaga 2024-12-17 11:37:29 UTC
Sorry for not having easier steps, but I saw and bibisected this by running a currently broken query from Base's Queries view per steps in bug 144694 comment 27. Maybe you can find some easier test target, although the SQLite3 setup steps are quite straightforward.

After the message dialog is shown, OK and More buttons don't respond to clicks.

Bibisected with linux-64-25.2 to c392f12d3379d51d3f24d3f58a15518aef84f951
tdf#130857 qt weld: Add layout/widget for extra msg dialog controls

From what I see, this particular dialog is created in OSQLMessageBox::Construct() in dbaccess/source/ui/dlg/sqlmessage.cxx

In bibisecting, I used an .odb connected to the SQLite3 database with this query saved (with Run SQL command directly active):

DROP TABLE IF EXISTS org;
CREATE TABLE org(
  name TEXT PRIMARY KEY,
  boss TEXT REFERENCES org
) WITHOUT ROWID;
INSERT INTO org VALUES('Alice',NULL);
INSERT INTO org VALUES('Bob','Alice');
INSERT INTO org VALUES('Cindy','Alice');
INSERT INTO org VALUES('Dave','Bob');
INSERT INTO org VALUES('Emma','Bob');
INSERT INTO org VALUES('Fred','Cindy');
INSERT INTO org VALUES('Gail','Cindy');

WITH RECURSIVE
  under_alice(name,level) AS (
    VALUES('Alice',0)
    UNION ALL
    SELECT org.name, under_alice.level+1
      FROM org JOIN under_alice ON org.boss=under_alice.name
     ORDER BY 2 DESC
  )
SELECT substr('..........',1,level*3) || name FROM under_alice;

So it drops the table if it exists in the beginning.
Comment 1 Buovjaga 2024-12-17 11:39:23 UTC
Forgot to mention that SAL_VCL_QT_USE_WELDED_WIDGETS=1 does not help here.
Comment 2 Michael Weghorn (away) 2024-12-18 15:16:49 UTC
Thanks for the report - and in general for all your great contributions all over the project, both "directly" and "indirectly" (by mentoring others)! (My impression is that there's hardly any area where you're not active... :-) )

(In reply to Buovjaga from comment #0)
> Sorry for not having easier steps, but I saw and bibisected this by running
> a currently broken query from Base's Queries view per steps in bug 144694
> comment 27. Maybe you can find some easier test target, although the SQLite3
> setup steps are quite straightforward.

I'm not 100% sure how to finish the whole process, but IIUC, the button shown in the dialog seen after clicking the "Test Connection" button in step 3 of the database wizard already shows the same problem.

https://gerrit.libreoffice.org/c/core/+/178726 fixes that one for me. Could you please check whether it also fixes the specific dialog where you have the problem?

(In reply to Buovjaga from comment #1)
> Forgot to mention that SAL_VCL_QT_USE_WELDED_WIDGETS=1 does not help here.

In this case (simple message dialogs not created from .ui files), it's the other way around: Welding is enabled by default, and the workaround would be to explicitly disable welding for those as well:
SAL_VCL_QT_NO_WELDED_WIDGETS=1
Comment 3 Commit Notification 2024-12-18 19:37:21 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/ffbe93aa93c0300dd4ff5f4d55dfb33e4c7a394d

tdf#164353 tdf#130857 qt weld: Keep extra msg dialog widget in place

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.
Comment 4 Commit Notification 2024-12-18 21:27:34 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "libreoffice-25-2":

https://git.libreoffice.org/core/commit/d09d595347695315a3f909cdde74d7f64949f3ed

tdf#164353 tdf#130857 qt weld: Keep extra msg dialog widget in place

It will be available in 25.2.0.0.beta2.

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.