-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qt GUI Improvements #876
Qt GUI Improvements #876
Conversation
MediaInfoLib, ZenLib and zlib should be built with Control Flow Guard (CFG) enabled as well.
This reverts commit 18b6e3c because it is not cross-platform.
Use newer theme icon for 'Close' buttons when on Qt > 6.7 so that it is visible in Windows dark mode.
Prefer Cascadia Mono font as monospaced font for text view and sheet view.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A collection of improvements made while I was exploring the Qt version of MediaInfo.
Thank you so much, we didn't yet have the time to focus on such improvement and it is great that a third party uses the possibilities of open source for improving MediaInfo, and that you take the time to deeply test the results, we know that it is a lot of time.
Use MSVC2022 for building the x86_64 Windows build
I prefer to keep a coherence so to change that everywhere.
About $$PWD
, what is the issue without it? It seems to work well without it.
Enable Control Flow Guard (CFG) for x86_64 Windows build
Beside Qt project, if you don't mind, please check, enable if needed, test and send another PR for VS2022 as well as VS2019 (we didn't yet upgraded VS on our build farm), for all repositories. Nothing mandatory if you don't want to do that, just a wish.
As we are there, you may be curious about CET, and try CET option. As we don't have a CPU supporting CET, we didn't try but it would be great if it is doable.
I can change for others as well but it will be untested.
Without this I get many linker errors of things not found during the linking stage.
I'll see what I can do when I'm free.
My CPU seems supported. I'll check it out. There is also Spectre mitigations but I'm not sure if relevant for MediaInfo. This one is known to affect performance. This one is enabled in my Windows 11 context menu PoC. |
Similar update so I take the risk :).
Weird, Fedora uses it and seems fine, @g-maxime can you check that
IMO the "cost" of this option is higher than the benefit we may have with it, so I wouldn't add it until they find a less impacting mitigation. |
Only affects Windows MSVC as far as I know. It built fine on Ubuntu without any changes. |
Oops, true, so @g-maxime no need to test. |
Enable Control-flow Enforcement Technology (CET) / Hardware-enforced Stack Protection on Windows.
PRs created for MediaInfoLib, ZenLib and zlib. Also for MediaInfo CLI. There are probably other MSVC Projects which I did not touch because I do not know their purpose. |
@JeromeMartinez |
A collection of improvements made while I was exploring the Qt version of MediaInfo.
/guard:cf
enabled inProject | Properties | Configuration Properties | C/C++ | Code Generation
of their respective Visual Studio Projects.QIcon::fromTheme(QIcon::ThemeIcon::WindowClose)
when built with Qt > 6.7mainwindow.cpp
.mainwindow.cpp
.Tested with Qt 6.7.2 and MSVC2022.
Windows 11 screenshots:
Process Explorer showing 64-bit Qt version with DEP, ASLR, CFG and Per-monitor DPI Awareness enabled
Ubuntu screenshots:
Previous screenshots for comparison:
#857 (comment)
#857 (comment)