Update bundled libdecor to last upstream version (August 15, 2025)

This commit is contained in:
ManoloFLTK 2025-09-13 11:46:22 +02:00
parent 5387fec9d9
commit afeaf12934
2 changed files with 22 additions and 10 deletions

View File

@ -23,14 +23,14 @@ The nanosvg library is not affected.
\section bundled-status Current status \section bundled-status Current status
\code \code
Current versions of bundled libraries (as of Sept 7, 2025): Current versions of bundled libraries (as of Sept 13, 2025):
Library Version/git commit Release date FLTK Version Library Version/git commit Release date FLTK Version
-------------------------------------------------------------------------- --------------------------------------------------------------------------
jpeg jpeg-9f 2024-01-14 1.4.0 jpeg jpeg-9f 2024-01-14 1.4.0
nanosvg 7aeda550a8 [1] 2023-12-02 1.4.0 nanosvg 7aeda550a8 [1] 2023-12-02 1.4.0
png libpng-1.6.50 2025-07-01 1.5.0 png libpng-1.6.50 2025-07-01 1.5.0
zlib zlib-1.3.1 2024-01-22 1.4.0 zlib zlib-1.3.1 2024-01-22 1.4.0
libdecor 42f7a53a [2] 2025-05-14 1.5.0 libdecor c4540b4a [2] 2025-08-15 1.5.0
-------------------------------------------------------------------------- --------------------------------------------------------------------------
Previous versions of bundled libraries (FLTK 1.3.x): Previous versions of bundled libraries (FLTK 1.3.x):

View File

@ -924,6 +924,11 @@ ensure_title_bar_surfaces(struct libdecor_frame_gtk *frame_gtk)
frame_gtk->headerbar.opaque = false; frame_gtk->headerbar.opaque = false;
ensure_component(frame_gtk, &frame_gtk->headerbar); ensure_component(frame_gtk, &frame_gtk->headerbar);
if (frame_gtk->shadow.wl_surface) {
wl_subsurface_place_above(frame_gtk->headerbar.wl_subsurface,
frame_gtk->shadow.wl_surface);
}
/* create an offscreen window with a header bar */ /* create an offscreen window with a header bar */
/* TODO: This should only be done once at frame consutrction, but then /* TODO: This should only be done once at frame consutrction, but then
* the window and headerbar would not change style (e.g. backdrop) * the window and headerbar would not change style (e.g. backdrop)
@ -1761,6 +1766,8 @@ libdecor_plugin_gtk_frame_get_border_size(struct libdecor_plugin *plugin,
int *top, int *top,
int *bottom) int *bottom)
{ {
struct libdecor_frame_gtk *frame_gtk =
(struct libdecor_frame_gtk *) frame;
enum libdecor_window_state window_state; enum libdecor_window_state window_state;
if (configuration) { if (configuration) {
@ -1778,17 +1785,22 @@ libdecor_plugin_gtk_frame_get_border_size(struct libdecor_plugin *plugin,
if (bottom) if (bottom)
*bottom = 0; *bottom = 0;
if (top) { if (top) {
GtkWidget *header = ((struct libdecor_frame_gtk *)frame)->header;
enum decoration_type type = window_state_to_decoration_type(window_state); enum decoration_type type = window_state_to_decoration_type(window_state);
/* avoid warnings after decoration has been turned off */ switch (type) {
if (GTK_IS_WIDGET(header) && (type != DECORATION_TYPE_NONE)) { case DECORATION_TYPE_NONE:
/* Redraw title bar to ensure size will be up-to-date */
if (configuration && type == DECORATION_TYPE_TITLE_ONLY)
draw_title_bar((struct libdecor_frame_gtk *) frame);
*top = gtk_widget_get_allocated_height(header);
} else {
*top = 0; *top = 0;
break;
case DECORATION_TYPE_ALL:
ensure_border_surfaces(frame_gtk);
//draw_border(frame_gtk);
G_GNUC_FALLTHROUGH;
case DECORATION_TYPE_TITLE_ONLY:
if (!frame_gtk->header)
ensure_title_bar_surfaces(frame_gtk);
gtk_widget_show_all(frame_gtk->window);
gtk_widget_get_preferred_height(frame_gtk->header, NULL, top);
break;
} }
} }