[LyX/master] Fix dark/light mode setting and run-time switch with Qt 6.8

Yu Jin technikmagma at gmail.com
Sun Oct 27 14:29:29 UTC 2024


Am Do., 24. Okt. 2024 um 19:06 Uhr schrieb Jürgen Spitzmüller <
jspitzm at gmail.com>:

> Am Donnerstag, dem 24.10.2024 um 16:45 +0200 schrieb Yu Jin:
> > Not really. What I notice though is that the preferences dialog is
> > broken only once, if I close and reopen ist it is better, but still
> > not perfect. But the freezes are worse, while LyX is frozen I would
> > be able to close and relaunch it like 10 times...
>
> Are you able to do some profiling?
>

Yes, I did. There seems nothing suspicious though, I get this screenshot:
[image: image.png]
As you can see there are a lot of small green (execution) blocks on the
main thread, in the screenshot the biggest one is marked, as you can see it
took 236 ms. I checked the call stacks and they all look similar, there is
a getIcon function call here and there, but I can't make any sense of it.
Here is the callstack of the marked green block:

Time: 18515.1899 ms
ucrtbased.dll!__acrt_unlock+0x21 -
minkernel\crts\ucrt\src\appcrt\internal\locks.cpp(59, 59)
ucrtbased.dll!_free_dbg+0x5d -
minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp(1036, 1036)
lyx.exe!operator delete+0x18 -
D:\a\_work\1\s\src\vctools\crt\vcstartup\src\heap\delete_scalar.cpp(34, 34)
lyx.exe!operator delete+0x18 -
D:\a\_work\1\s\src\vctools\crt\vcstartup\src\heap\delete_scalar_size.cpp(31,
31)
lyx.exe!std::_Deallocate<16>+0x52 - C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Tools\MSVC\14.40.33807\include\xmemory(258, 258)
lyx.exe!std::_Default_allocator_traits<std::allocator<std::_Container_proxy>
>::deallocate+0x4a - C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Tools\MSVC\14.40.33807\include\xmemory(691, 691)
lyx.exe!std::_Deallocate_plain<std::allocator<std::_Container_proxy> >+0x24
- C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Tools\MSVC\14.40.33807\include\xmemory(1104, 1104)
lyx.exe!std::_Delete_plain_internal<std::allocator<std::_Container_proxy>
>+0x1e - C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Tools\MSVC\14.40.33807\include\xmemory(1116, 1116)
lyx.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char>
>::~basic_string<char,std::char_traits<char>,std::allocator<char> >+0x73 -
C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Tools\MSVC\14.40.33807\include\xstring(3185, 3185)
lyx.exe!lyx::fromqstr+0x15f -
C:\lyx\master\src\support\qstring_helpers.cpp(78, 78)
lyx.exe!lyx::support::FileName::set+0x126 -
C:\lyx\master\src\support\FileName.cpp(204, 204)
lyx.exe!lyx::support::FileName::changeExtension+0x1a0 -
C:\lyx\master\src\support\FileName.cpp(808, 808)
lyx.exe!lyx::support::fileSearch+0x5f4 -
C:\lyx\master\src\support\filetools.cpp(329, 329)
lyx.exe!lyx::support::libFileSearch+0x275 -
C:\lyx\master\src\support\filetools.cpp(353, 353)
lyx.exe!lyx::support::imageLibFileSearch+0x163 -
C:\lyx\master\src\support\filetools.cpp(407, 407)
lyx.exe!lyx::imageLibFileSearch+0x10c -
C:\lyx\master\src\frontends\qt\qt_helpers.cpp(73, 73)
lyx.exe!lyx::frontend::iconInfo+0xd45 -
C:\lyx\master\src\frontends\qt\GuiApplication.cpp(620, 620)
lyx.exe!lyx::frontend::getIcon+0x26a -
C:\lyx\master\src\frontends\qt\GuiApplication.cpp(713, 713)
lyx.exe!lyx::frontend::GuiToolbar::addItem+0x2f9 -
C:\lyx\master\src\frontends\qt\GuiToolbar.cpp(171, 171)
lyx.exe!lyx::frontend::GuiToolbar::add+0x970 -
C:\lyx\master\src\frontends\qt\GuiToolbar.cpp(585, 585)
lyx.exe!lyx::frontend::GuiToolbar::fill+0xc8 -
C:\lyx\master\src\frontends\qt\GuiToolbar.cpp(123, 123)
lyx.exe!lyx::frontend::GuiToolbar::refill+0x28 -
C:\lyx\master\src\frontends\qt\GuiToolbar.cpp(132, 132)
lyx.exe!lyx::frontend::GuiView::refillToolbars+0x9d -
C:\lyx\master\src\frontends\qt\GuiView.cpp(2117, 2117)
lyx.exe!lyx::frontend::GuiView::event+0xc56 -
C:\lyx\master\src\frontends\qt\GuiView.cpp(1803, 1803)
qt6widgetsd.dll!0x7611b
qt6widgetsd.dll!0x73529
lyx.exe!lyx::frontend::GuiApplication::notify+0x60 -
C:\lyx\master\src\frontends\qt\GuiApplication.cpp(3019, 3019)
qt6cored.dll!0x2156a7
qt6cored.dll!0x215744
qt6widgetsd.dll!0x1b50e7
qt6widgetsd.dll!0x7611b
qt6widgetsd.dll!0x7354c
lyx.exe!lyx::frontend::GuiApplication::notify+0x60 -
C:\lyx\master\src\frontends\qt\GuiApplication.cpp(3019, 3019)
qt6cored.dll!0x2156a7
qt6cored.dll!0x21553b
qt6guid.dll!0x1fcb9c
qt6guid.dll!0x1fc172
qt6guid.dll!0x32cef6
qt6guid.dll!0x324694
qt6guid.dll!0x330204
qwindowsd.dll!0x10bbff
qwindowsd.dll!0x3c400
qwindowsd.dll!0x2e00e
user32.dll!UserCallWinProcCheckWow+0x2d1
user32.dll!DispatchClientMessage+0x9c
user32.dll!__fnINSTRINGNULL+0x6a
ntdll.dll!KiUserCallbackDispatcherContinue
ntoskrnl.exe!KeUserModeCallback+0x216
win32kfull.sys!SfnINSTRINGNULL+0x4fa
win32kfull.sys!xxxSendMessageToClient+0x156
win32kfull.sys!xxxSendTransformableMessageTimeout+0x919
win32kfull.sys!xxxSendMessage+0x2c
win32kfull.sys!xxxProcessEventMessage+0x555
win32kfull.sys!xxxScanSysQueue+0xff7
win32kfull.sys!xxxRealInternalGetMessage+0xad9
win32kfull.sys!NtUserPeekMessage+0xaa
win32k.sys!NtUserPeekMessage+0x2a
ntoskrnl.exe!KiSystemServiceCopyEnd+0x25
win32u.dll!NtUserPeekMessage+0x14
user32.dll!_PeekMessage+0x3f
user32.dll!PeekMessageW+0x9c
qt6cored.dll!0x66492a
qt6guid.dll!0xa03f4b
qt6cored.dll!0x23447c
qt6cored.dll!0x234784
qt6cored.dll!0x21296a
qt6guid.dll!0x1f33ca
qt6widgetsd.dll!0x701ac
lyx.exe!lyx::frontend::GuiApplication::exec+0x34 -
C:\lyx\master\src\frontends\qt\GuiApplication.cpp(2783, 2783)
lyx.exe!lyx::LyX::exec+0x5a2 - C:\lyx\master\src\LyX.cpp(375, 375)
lyx.exe!main+0xc2 - C:\lyx\master\src\main.cpp(55, 55)
lyx.exe!invoke_main+0x39 -
D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(79, 79)
lyx.exe!__scrt_common_main_seh+0x132 -
D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(288,
288)
lyx.exe!__scrt_common_main+0xe -
D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(331,
331)
lyx.exe!mainCRTStartup+0xe -
D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp(17, 17)

I don't know if I can export all of this from the concurrency visualizer,
it gathers 500MB of data in 30 seconds, if you know something that I can do
that would help, let me know.

-- 
  Eugene
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20241027/aac98d09/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 149859 bytes
Desc: not available
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20241027/aac98d09/attachment-0001.png>


More information about the lyx-devel mailing list