diff --git a/meta-xfce/recipes-xfce/xfce4-panel/files/0001-build-Be-sure-to-generate-sub-headers-before-includi.patch b/meta-xfce/recipes-xfce/xfce4-panel/files/0001-build-Be-sure-to-generate-sub-headers-before-includi.patch
new file mode 100644
index 0000000000..67d2b4eaa8
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-panel/files/0001-build-Be-sure-to-generate-sub-headers-before-includi.patch
@@ -0,0 +1,311 @@
+From c259dfbbb8e139b43af179acec9824ecf849d34d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= <gael@xfce.org>
+Date: Thu, 19 Feb 2026 11:44:35 +0100
+Subject: [PATCH 1/2] build: Be sure to generate sub-headers before including
+ libxfce4panel.h
+
+Fixes: #969
+
+Upstream-Status: Backport [https://gitlab.xfce.org/xfce/xfce4-panel/-/commit/c259dfbbb8e139b43af179acec9824ecf849d34d]
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ common/meson.build                              |  3 +++
+ .../{libxfce4panel.h => libxfce4panel.h.in}     |  0
+ libxfce4panel/meson.build                       | 17 +++++++++++++++--
+ migrate/meson.build                             |  3 +++
+ panel/meson.build                               |  1 +
+ plugins/actions/meson.build                     |  5 ++++-
+ plugins/applicationsmenu/meson.build            |  5 ++++-
+ plugins/clock/meson.build                       |  5 ++++-
+ plugins/directorymenu/meson.build               |  5 ++++-
+ plugins/launcher/meson.build                    |  5 ++++-
+ plugins/pager/meson.build                       |  5 ++++-
+ plugins/separator/meson.build                   |  5 ++++-
+ plugins/showdesktop/meson.build                 |  5 ++++-
+ plugins/systray/meson.build                     |  5 ++++-
+ plugins/tasklist/meson.build                    |  5 ++++-
+ plugins/windowmenu/meson.build                  |  5 ++++-
+ wrapper/meson.build                             |  3 +++
+ 17 files changed, 69 insertions(+), 13 deletions(-)
+ rename libxfce4panel/{libxfce4panel.h => libxfce4panel.h.in} (100%)
+
+diff --git a/common/meson.build b/common/meson.build
+index ce7f3a98c..d880455ac 100644
+--- a/common/meson.build
++++ b/common/meson.build
+@@ -8,6 +8,9 @@ libpanel_common = static_library(
+     'panel-xfconf.c',
+     'panel-xfconf.h',
+   ],
++  sources: [
++    libxfce4panel_h,
++  ],
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('libpanel-common'),
+   ],
+diff --git a/libxfce4panel/libxfce4panel.h b/libxfce4panel/libxfce4panel.h.in
+similarity index 100%
+rename from libxfce4panel/libxfce4panel.h
+rename to libxfce4panel/libxfce4panel.h.in
+diff --git a/libxfce4panel/meson.build b/libxfce4panel/meson.build
+index bb66b1534..150319388 100644
+--- a/libxfce4panel/meson.build
++++ b/libxfce4panel/meson.build
+@@ -6,7 +6,6 @@ libpanel_install_dir = get_option('prefix') / get_option('includedir') / libpane
+ 
+ libpanel_headers = [
+   'libxfce4panel-enums.h',
+-  'libxfce4panel.h',
+   'xfce-arrow-button.h',
+   'xfce-panel-convenience.h',
+   'xfce-panel-image.h',
+@@ -16,7 +15,7 @@ libpanel_headers = [
+ 
+ # do not add this header to GI sources, it creates unsolvable conflicts with other
+ # libs whose identifier prefix is Xfce, e.g. libxfce4ui and libxfce4util
+-configure_file(
++libpanel_config_h = configure_file(
+   configuration: configuration_data({
+     'LIBXFCE4PANEL_VERSION': meson.project_version(),
+     'LIBXFCE4PANEL_VERSION_MAJOR': version_parts[0],
+@@ -84,6 +83,20 @@ libpanel_enums += gnome.mkenums(
+   ftail: '\n#define __LIBXFCE4PANEL_ENUM_TYPES_C__\n#include "libxfce4panel-visibility.c"\n',
+ )
+ 
++libxfce4panel_h = custom_target(
++  'libxfce4panel.h',
++  input: 'libxfce4panel.h.in',
++  output: 'libxfce4panel.h',
++  command: ['cp', '@INPUT@', '@OUTPUT@'],
++  depends: [
++    libpanel_enums,
++  ],
++  depend_files: [
++    libpanel_config_h,
++  ],
++)
++libpanel_sources += libxfce4panel_h
++
+ libpanel_deps = [
+   glib,
+   gmodule,
+diff --git a/migrate/meson.build b/migrate/meson.build
+index 8159f6336..19d95a2eb 100644
+--- a/migrate/meson.build
++++ b/migrate/meson.build
+@@ -21,6 +21,9 @@ migrate_sources = [
+ executable(
+   'migrate',
+   migrate_sources,
++  sources: [
++    libxfce4panel_h,
++  ],
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('xfce4-panel-migrate'),
+     '-DXDGCONFIGDIR="@0@"'.format(xdgconfdir),
+diff --git a/panel/meson.build b/panel/meson.build
+index 78e2d8d15..6c2fd4e1e 100644
+--- a/panel/meson.build
++++ b/panel/meson.build
+@@ -73,6 +73,7 @@ executable(
+   sources: [
+     xfce_revision_h,
+     xfce4_panel_resources_c,
++    libxfce4panel_h,
+   ],
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('xfce4-panel'),
+diff --git a/plugins/actions/meson.build b/plugins/actions/meson.build
+index 55dcd2e1f..c3d824d41 100644
+--- a/plugins/actions/meson.build
++++ b/plugins/actions/meson.build
+@@ -8,7 +8,10 @@ plugin_install_subdir = 'xfce4' / 'panel' / 'plugins'
+ shared_module(
+   'actions',
+   plugin_sources,
+-  sources: xfce4_panel_resources_c,
++  sources: [
++    xfce4_panel_resources_c,
++    libxfce4panel_h,
++  ],
+   gnu_symbol_visibility: 'hidden',
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('libactions'),
+diff --git a/plugins/applicationsmenu/meson.build b/plugins/applicationsmenu/meson.build
+index efa825f00..15e06af0f 100644
+--- a/plugins/applicationsmenu/meson.build
++++ b/plugins/applicationsmenu/meson.build
+@@ -8,7 +8,10 @@ plugin_install_subdir = 'xfce4' / 'panel' / 'plugins'
+ shared_module(
+   'applicationsmenu',
+   plugin_sources,
+-  sources: xfce4_panel_resources_c,
++  sources: [
++    xfce4_panel_resources_c,
++    libxfce4panel_h,
++  ],
+   gnu_symbol_visibility: 'hidden',
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('libapplicationsmenu'),
+diff --git a/plugins/clock/meson.build b/plugins/clock/meson.build
+index b08f3c39c..8e005f486 100644
+--- a/plugins/clock/meson.build
++++ b/plugins/clock/meson.build
+@@ -22,7 +22,10 @@ plugin_install_subdir = 'xfce4' / 'panel' / 'plugins'
+ shared_module(
+   'clock',
+   plugin_sources,
+-  sources: xfce4_panel_resources_c,
++  sources: [
++    xfce4_panel_resources_c,
++    libxfce4panel_h,
++  ],
+   gnu_symbol_visibility: 'hidden',
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('libclock'),
+diff --git a/plugins/directorymenu/meson.build b/plugins/directorymenu/meson.build
+index 43e81abf3..0bf48bae6 100644
+--- a/plugins/directorymenu/meson.build
++++ b/plugins/directorymenu/meson.build
+@@ -8,7 +8,10 @@ plugin_install_subdir = 'xfce4' / 'panel' / 'plugins'
+ shared_module(
+   'directorymenu',
+   plugin_sources,
+-  sources: xfce4_panel_resources_c,
++  sources: [
++    xfce4_panel_resources_c,
++    libxfce4panel_h,
++  ],
+   gnu_symbol_visibility: 'hidden',
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('libdirectorymenu'),
+diff --git a/plugins/launcher/meson.build b/plugins/launcher/meson.build
+index d228eca54..8815b5baa 100644
+--- a/plugins/launcher/meson.build
++++ b/plugins/launcher/meson.build
+@@ -10,7 +10,10 @@ plugin_install_subdir = 'xfce4' / 'panel' / 'plugins'
+ shared_module(
+   'launcher',
+   plugin_sources,
+-  sources: xfce4_panel_resources_c,
++  sources: [
++    xfce4_panel_resources_c,
++    libxfce4panel_h,
++  ],
+   gnu_symbol_visibility: 'hidden',
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('liblauncher'),
+diff --git a/plugins/pager/meson.build b/plugins/pager/meson.build
+index 30fcbdef6..45e34c62b 100644
+--- a/plugins/pager/meson.build
++++ b/plugins/pager/meson.build
+@@ -10,7 +10,10 @@ plugin_install_subdir = 'xfce4' / 'panel' / 'plugins'
+ shared_module(
+   'pager',
+   plugin_sources,
+-  sources: xfce4_panel_resources_c,
++  sources: [
++    xfce4_panel_resources_c,
++    libxfce4panel_h,
++  ],
+   gnu_symbol_visibility: 'hidden',
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('libpager'),
+diff --git a/plugins/separator/meson.build b/plugins/separator/meson.build
+index 9de0289b3..26581e90e 100644
+--- a/plugins/separator/meson.build
++++ b/plugins/separator/meson.build
+@@ -8,7 +8,10 @@ plugin_install_subdir = 'xfce4' / 'panel' / 'plugins'
+ shared_module(
+   'separator',
+   plugin_sources,
+-  sources: xfce4_panel_resources_c,
++  sources: [
++    xfce4_panel_resources_c,
++    libxfce4panel_h,
++  ],
+   gnu_symbol_visibility: 'hidden',
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('libseparator'),
+diff --git a/plugins/showdesktop/meson.build b/plugins/showdesktop/meson.build
+index 2e4812de4..c599138c2 100644
+--- a/plugins/showdesktop/meson.build
++++ b/plugins/showdesktop/meson.build
+@@ -8,7 +8,10 @@ plugin_install_subdir = 'xfce4' / 'panel' / 'plugins'
+ shared_module(
+   'showdesktop',
+   plugin_sources,
+-  sources: xfce4_panel_resources_c,
++  sources: [
++    xfce4_panel_resources_c,
++    libxfce4panel_h,
++  ],
+   gnu_symbol_visibility: 'hidden',
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('libshowdesktop'),
+diff --git a/plugins/systray/meson.build b/plugins/systray/meson.build
+index 2efa088d4..ea364ccff 100644
+--- a/plugins/systray/meson.build
++++ b/plugins/systray/meson.build
+@@ -52,7 +52,10 @@ plugin_install_subdir = 'xfce4' / 'panel' / 'plugins'
+ shared_module(
+   'systray',
+   plugin_sources,
+-  sources: xfce4_panel_resources_c,
++  sources: [
++    xfce4_panel_resources_c,
++    libxfce4panel_h,
++  ],
+   gnu_symbol_visibility: 'hidden',
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('libsystray'),
+diff --git a/plugins/tasklist/meson.build b/plugins/tasklist/meson.build
+index 333e91c21..61b889536 100644
+--- a/plugins/tasklist/meson.build
++++ b/plugins/tasklist/meson.build
+@@ -10,7 +10,10 @@ plugin_install_subdir = 'xfce4' / 'panel' / 'plugins'
+ shared_module(
+   'tasklist',
+   plugin_sources,
+-  sources: xfce4_panel_resources_c,
++  sources: [
++    xfce4_panel_resources_c,
++    libxfce4panel_h,
++  ],
+   gnu_symbol_visibility: 'hidden',
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('libtasklist'),
+diff --git a/plugins/windowmenu/meson.build b/plugins/windowmenu/meson.build
+index 71125ffc7..07a6d767a 100644
+--- a/plugins/windowmenu/meson.build
++++ b/plugins/windowmenu/meson.build
+@@ -8,7 +8,10 @@ plugin_install_subdir = 'xfce4' / 'panel' / 'plugins'
+ shared_module(
+   'windowmenu',
+   plugin_sources,
+-  sources: xfce4_panel_resources_c,
++  sources: [
++    xfce4_panel_resources_c,
++    libxfce4panel_h,
++  ],
+   gnu_symbol_visibility: 'hidden',
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('libwindowmenu'),
+diff --git a/wrapper/meson.build b/wrapper/meson.build
+index 4f33fd89a..e88644c1f 100644
+--- a/wrapper/meson.build
++++ b/wrapper/meson.build
+@@ -31,6 +31,9 @@ wrapper_sources += gnome.gdbus_codegen(
+ executable(
+   'wrapper-2.0',
+   wrapper_sources,
++  sources: [
++    libxfce4panel_h,
++  ],
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('xfce4-panel-wrapper'),
+   ],
+-- 
+2.43.0
+
diff --git a/meta-xfce/recipes-xfce/xfce4-panel/files/0002-build-Install-missing-libxfce4panel.h.patch b/meta-xfce/recipes-xfce/xfce4-panel/files/0002-build-Install-missing-libxfce4panel.h.patch
new file mode 100644
index 0000000000..ee1f48086a
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-panel/files/0002-build-Install-missing-libxfce4panel.h.patch
@@ -0,0 +1,30 @@
+From 151fec5f91fcb3dc5d55aee82a6d717dad77e877 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= <gael@xfce.org>
+Date: Sun, 22 Feb 2026 17:11:05 +0100
+Subject: [PATCH 2/2] build: Install missing libxfce4panel.h
+
+Fixes: c259dfbbb8e139b43af179acec9824ecf849d34d
+
+Upstream-Status: Backport [https://gitlab.xfce.org/xfce/xfce4-panel/-/commit/151fec5f91fcb3dc5d55aee82a6d717dad77e877]
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ libxfce4panel/meson.build | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/libxfce4panel/meson.build b/libxfce4panel/meson.build
+index 150319388..38d8ad198 100644
+--- a/libxfce4panel/meson.build
++++ b/libxfce4panel/meson.build
+@@ -94,6 +94,8 @@ libxfce4panel_h = custom_target(
+   depend_files: [
+     libpanel_config_h,
+   ],
++  install: true,
++  install_dir: libpanel_install_dir,
+ )
+ libpanel_sources += libxfce4panel_h
+ 
+-- 
+2.43.0
+
diff --git a/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.21.1.bb b/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.21.1.bb
index 00c9352dec..350784e083 100644
--- a/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.21.1.bb
+++ b/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.21.1.bb
@@ -15,6 +15,8 @@ SRC_URI += " \
     file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \
     file://0002-use-lxdm-to-replace-dm-tool.patch \
     file://0001-build-Do-not-display-full-path-in-generated-headers.patch \
+    file://0001-build-Be-sure-to-generate-sub-headers-before-includi.patch \
+    file://0002-build-Install-missing-libxfce4panel.h.patch \
 "
 SRC_URI[sha256sum] = "c940dae515bef4af08a126011d2fd873ce99e815157ba8cef5332195bb60e51e"
 
