freeciv-3.2: Update to 3.2.2

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
This commit is contained in:
Marko Lindqvist
2026-01-08 17:47:46 +02:00
parent dd7479c971
commit 6e58a1213b
2 changed files with 1 additions and 94 deletions

View File

@@ -1,92 +0,0 @@
Upstream-Status: Backport
From 48875b712fe1b5009a80a1fb4280fe1904677012 Mon Sep 17 00:00:00 2001
From: Marko Lindqvist <cazfi74@gmail.com>
Date: Sun, 2 Nov 2025 09:14:58 +0200
Subject: [PATCH 19/20] Qt: Work around Qt-6.9 theming issue
See RM #1697
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
---
client/gui-qt/citydlg.cpp | 2 ++
client/gui-qt/gui_main.h | 2 ++
client/gui-qt/themes.cpp | 17 ++++++++++++++---
3 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/client/gui-qt/citydlg.cpp b/client/gui-qt/citydlg.cpp
index 1d569b8a8d..b2c6d5a6f7 100644
--- a/client/gui-qt/citydlg.cpp
+++ b/client/gui-qt/citydlg.cpp
@@ -2044,6 +2044,8 @@ city_dialog::city_dialog(QWidget *parent): qfc_dialog(parent)
installEventFilter(this);
::city_dlg_created = true;
+
+ set_theme_style();
}
/************************************************************************//**
diff --git a/client/gui-qt/gui_main.h b/client/gui-qt/gui_main.h
index d825cba768..94d3a0d20f 100644
--- a/client/gui-qt/gui_main.h
+++ b/client/gui-qt/gui_main.h
@@ -23,4 +23,6 @@ QApplication *current_app();
#define CAPTURE_DEFAULT_THIS [=]
#endif // FREECIV_HAVE_CXX20_CAPTURE_THIS
+void set_theme_style();
+
#endif // FC__GUI_MAIN_H
diff --git a/client/gui-qt/themes.cpp b/client/gui-qt/themes.cpp
index 79092d65b2..6e4e5bdf3c 100644
--- a/client/gui-qt/themes.cpp
+++ b/client/gui-qt/themes.cpp
@@ -38,6 +38,8 @@ extern QString current_theme;
static QString def_app_style;
static QString stylestring;
+static QStyle *current_style = nullptr;
+
/*************************************************************************//**
Loads a qt theme directory/theme_name
*****************************************************************************/
@@ -76,16 +78,17 @@ void qtg_gui_load_theme(const char *directory, const char *theme_name)
stylestring.replace(lnb, fake_dir + "/" + theme_name + "/");
if (QString(theme_name) == QString("System")) {
- QApplication::setStyle(QStyleFactory::create(def_app_style));
+ current_style = QStyleFactory::create(def_app_style);
} else {
QStyle *fstyle = QStyleFactory::create("Fusion");
if (fstyle != nullptr) {
- QApplication::setStyle(fstyle);
+ current_style = fstyle;
} else {
- QApplication::setStyle(QStyleFactory::create(def_app_style));
+ current_style = QStyleFactory::create(def_app_style);
}
}
+ QApplication::setStyle(current_style);
current_theme = theme_name;
QPixmapCache::clear();
@@ -98,6 +101,14 @@ void qtg_gui_load_theme(const char *directory, const char *theme_name)
QApplication::setPalette(pal);
}
+/*************************************************************************//**
+ Set theme style again, to work around Qt theming bug.
+*****************************************************************************/
+void set_theme_style()
+{
+ QApplication::setStyle(current_style);
+}
+
/*************************************************************************//**
Clears a theme (sets default system theme)
*****************************************************************************/
--
2.51.0

View File

@@ -6,7 +6,6 @@ DEPENDS += "lua"
SRC_URI += "\ SRC_URI += "\
${SOURCEFORGE_MIRROR}/freeciv/freeciv-${PV}.tar.xz \ ${SOURCEFORGE_MIRROR}/freeciv/freeciv-${PV}.tar.xz \
file://allow-root-S3_2.patch \ file://allow-root-S3_2.patch \
file://0019-Qt-Work-around-Qt-6.9-theming-issue.patch \
" "
SRC_URI[sha256sum] = "3fc01ef55bfc9b9c2d71432d22a9fc5ab5892285d15d3dc888ec4bb288d21caa" SRC_URI[sha256sum] = "ed230084e885d19d82170a8b39e43e3291ec446c37239bf2bee8e11245c88960"