Compare commits
7 Commits
428c6d8122
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dd7479c971 | ||
|
|
f7ad9b9b29 | ||
|
|
edd236da64 | ||
|
|
9a176fdc5a | ||
|
|
9f6a3d43f0 | ||
|
|
b952cced8a | ||
|
|
3e462aafc2 |
@@ -9,4 +9,4 @@ BBFILE_PATTERN_games-layer := "^${LAYERDIR}/"
|
||||
BBFILE_PRIORITY_games-layer = "15"
|
||||
|
||||
LAYERDEPENDS_games-layer = "core openembedded-layer filesystems-layer gnome-layer networking-layer multimedia-layer meta-python qt6-layer"
|
||||
LAYERSERIES_COMPAT_games-layer = "mickledore kirkstone langdale nanbield scarthgap styhead walnascar"
|
||||
LAYERSERIES_COMPAT_games-layer = "whinlatter"
|
||||
|
||||
@@ -16,7 +16,7 @@ SRC_URI = "\
|
||||
SRC_URI[md5sum] = "15f9866c6464ca298f28f62fe5b36d9f"
|
||||
SRC_URI[sha256sum] = "63e0e01addedc9df2f85b93a248f06e8a04affa014a835c2ea34bfe34e576262"
|
||||
|
||||
S = "${WORKDIR}/SDL2_gfx-${PV}"
|
||||
S = "${UNPACKDIR}/SDL2_gfx-${PV}"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ FREECIV_GUI = "gtk3.22,gtk4,qt,sdl2"
|
||||
|
||||
DEPENDS = "readline bzip2 curl xz zstd libsdl2-mixer gtk+3 gtk4 qtbase virtual/gettext qttools-native libsdl2-image libsdl2-ttf libsdl2-gfx freetype"
|
||||
|
||||
S = "${WORKDIR}/freeciv-${PV}"
|
||||
S = "${UNPACKDIR}/freeciv-${PV}"
|
||||
B = "${WORKDIR}/build-${PV}"
|
||||
|
||||
inherit autotools pkgconfig gettext
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
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
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 4fa608e29b..7f4b94166b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -793,6 +793,8 @@ if test "x$emscripten" = "xyes" ; then
|
||||
AC_DEFINE([ALWAYS_ROOT], [1], [Can execute program as root - emscripten])
|
||||
fi
|
||||
|
||||
+AC_DEFINE([ALWAYS_ROOT], [1], [Can execute program as root - OpenEmbedded])
|
||||
+
|
||||
dnl Settings specific to host OS
|
||||
case "$host_os" in
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index f746126902..7f50fc258e 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -120,6 +120,7 @@ else
|
||||
priv_conf_data.set('ALWAYS_ROOT', 1)
|
||||
else
|
||||
pub_conf_data.set('FREECIV_HAVE_PTHREAD', 1)
|
||||
+ priv_conf_data.set('ALWAYS_ROOT', 1)
|
||||
net_dep = []
|
||||
endif
|
||||
endif
|
||||
@@ -1,11 +0,0 @@
|
||||
|
||||
require freeciv-qt6.inc
|
||||
|
||||
DEPENDS += "lua"
|
||||
|
||||
SRC_URI += "\
|
||||
${SOURCEFORGE_MIRROR}/freeciv/freeciv-${PV}.tar.xz \
|
||||
file://allow-root-S3_1.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "0d9f687ff950a77a9fa0af66108a7f67da717fd40c3a0ca4c0a4f4a3f0214b33"
|
||||
@@ -1,13 +1,12 @@
|
||||
|
||||
require freeciv-qt6.inc
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
DEPENDS += "lua"
|
||||
|
||||
SRC_URI += "\
|
||||
${SOURCEFORGE_MIRROR}/freeciv/freeciv-${PV}.tar.xz \
|
||||
file://allow-root-S3_2.patch \
|
||||
file://0019-Qt-Work-around-Qt-6.9-theming-issue.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "425cce907e985cfe1b5a1815043bfc2b57c2e089d23f24be510921bd0d1ae7c3"
|
||||
SRC_URI[sha256sum] = "3fc01ef55bfc9b9c2d71432d22a9fc5ab5892285d15d3dc888ec4bb288d21caa"
|
||||
Reference in New Issue
Block a user