[UI] Use game icon as the app icon -- fix regression introduced by Qt

This commit is contained in:
Herman S.
2025-10-05 00:32:48 +09:00
parent 49a172d4c0
commit ad47dcd0a3
2 changed files with 26 additions and 0 deletions
+24
View File
@@ -13,9 +13,11 @@
#include <QCloseEvent>
#include <QCursor>
#include <QGuiApplication>
#include <QIcon>
#include <QKeyEvent>
#include <QMenuBar>
#include <QMouseEvent>
#include <QPixmap>
#include <QResizeEvent>
#include <QThread>
#include <QTimer>
@@ -282,6 +284,28 @@ void QtWindow::ApplyNewTitle() {
}
}
void QtWindow::LoadAndApplyIcon(const void* buffer, size_t size,
bool can_apply_state_in_current_phase) {
if (!qwindow_) {
return;
}
bool reset = !buffer || !size;
if (reset) {
// Reset to default/no icon
qwindow_->setWindowIcon(QIcon());
} else {
// Load icon from buffer (typically from game executable)
QPixmap pixmap;
if (pixmap.loadFromData(static_cast<const uchar*>(buffer),
static_cast<uint>(size))) {
QIcon icon(pixmap);
qwindow_->setWindowIcon(icon);
}
}
}
void QtWindow::ApplyNewMainMenu(MenuItem* old_main_menu) {
if (!qwindow_) return;
+2
View File
@@ -50,6 +50,8 @@ class QtWindow : public Window {
void ApplyNewFullscreen() override;
void ApplyNewTitle() override;
void LoadAndApplyIcon(const void* buffer, size_t size,
bool can_apply_state_in_current_phase) override;
void ApplyNewMainMenu(MenuItem* old_main_menu) override;
void ApplyNewCursorVisibility(
CursorVisibility old_cursor_visibility) override;