Forum > QT

30sec Freeze per click in GTK3 file dialog under QT5 widgetset

(1/17) > >>

AlexTP:
Please see, Zeljko:
https://github.com/Alexey-T/CudaText/issues/4674
Can you do something here?

zeljko:
No, sorry, I cannot follow / debug each theme for qt. It is known (from Qt bugtracker) that there are some issues with gtk2/3 themes since Qt uses gtk libs to paint controls and also gtk native dialogs. I've spotted that it might have something with our clipboard implementation (qtobjects.pas) since gtk dialog triggers enormous number of clipboard selection events when shown and maybe that could be the reason.
Open dialog does not have such problem, only saveDialog (if you provided filename). Try saveDialog without provided filename and see if it lags also and let me know.

AlexTP:
I told the user to test save-dialog without initial filename. He confirmed: click on filenames freezes there (not in open-dialog).
What can we do?

zeljko:
Debug our lclqt (4,5,6) clipboard selection implementation and create patch. qtobjects.pas
procedure TQtClipboard.signalSelectionChanged; cdecl;
function TQtClipboard.EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl;
That's what I remember that was bottleneck with gtk theme and gtk dialogs, but didn't have time to investigate and fix it.
Same routines are used in qt/qtobjects.pas , qt5/qtobjects.pas and qt6/qtobjects.pas.

dbannon:
Might help other users if we spell out what is, and is not, a problem.

[x] Debian Bullseye, Bookworm, Ubuntu 22.04 (Qt5 5.15)  not a problem.
[x] Ubuntu 20.04 (Qt5 5.12) with Mate or KDE Desktop is a problem with some dialogs (SaveAs, Font), even if no Qt5 theme is set.

I don't have any VMs at present with a Qt5 between 5.12 and 5.15, maybe everyone except the long termers have moved on and thats a really good thing.

So, a summary, probably best to avoid Qt5 if the underlying Qt5 is less that 5:15, thats especially so if you a Qt5 theme of gtk3. But the native Qt theme looks heaps better anyway !

Davo

Navigation

[0] Message Index

[#] Next page

Go to full version