diff --git a/documentation/src/bundled-libs.dox b/documentation/src/bundled-libs.dox index 4ea3276bc..90d0fb0d3 100644 --- a/documentation/src/bundled-libs.dox +++ b/documentation/src/bundled-libs.dox @@ -23,14 +23,14 @@ The nanosvg library is not affected. \section bundled-status Current status \code -Current versions of bundled libraries (as of September 13, 2023): +Current versions of bundled libraries (as of October 29, 2023): Library Version/git commit Release date FLTK Version -------------------------------------------------------------------------- jpeg jpeg-9e 2022-01-16 1.4.0 nanosvg abcd277ea4 [1] 2022-12-22 1.4.0 png libpng-1.6.40 2023-06-21 1.4.0 zlib zlib-1.3 2023-08-18 1.4.0 - libdecor 422abaf9 [2] 2023-09-07 1.4.0 + libdecor c6c780c1 [2] 2023-10-10 1.4.0 -------------------------------------------------------------------------- Previous versions of bundled libraries (FLTK 1.3.x): diff --git a/documentation/src/wayland.dox b/documentation/src/wayland.dox index 84b93f0e7..170ab10c7 100644 --- a/documentation/src/wayland.dox +++ b/documentation/src/wayland.dox @@ -59,13 +59,13 @@ Wayland differs also from X11 in that the position of a window in the display is completely hidden to the client app. This prevents function \c Fl_Window::position() from having any effect on a top-level window. Wayland also prevents a client app from knowing whether a window is minimized: \c Fl_Window::show() has no effect on a minimized window. -Subwindows can be positioned as usual relatively to their -parent window. FLTK uses that for the small, yellow windows that display -the new scale factor value when it's changed: these are created as short-lived subwindows -centered above \c Fl::first_window(). +Subwindows can be positioned as usual relatively to their parent window. Wayland allows to create popup windows positioned relatively to a previously mapped other -window. This allows FLTK to position adequately menu and tooltip windows, see -\ref menu-windows. +window. This allows FLTK to position adequately menu and tooltip windows +(see \ref menu-windows). +FLTK uses also popups for the small, yellow windows that display +the new scale factor value when it's changed: these are created as short-lived popups +centered above \c Fl::first_window(). Wayland uses a trick of its own to handle lists of linked records. It defines type struct wl_list and a few macros (\c wl_list_init(), \c wl_list_for_each(), \c wl_list_insert(), diff --git a/libdecor/src/plugins/gtk/libdecor-gtk.c b/libdecor/src/plugins/gtk/libdecor-gtk.c index bc8290f14..c510bc595 100644 --- a/libdecor/src/plugins/gtk/libdecor-gtk.c +++ b/libdecor/src/plugins/gtk/libdecor-gtk.c @@ -2548,15 +2548,12 @@ init_wl_seat(struct libdecor_plugin_gtk *plugin_gtk, struct seat *seat; if (version < 3) { - char *err_msg; - asprintf(&err_msg, - "%s version 3 required but only version %i is available\n", - wl_seat_interface.name, version); libdecor_notify_plugin_error( plugin_gtk->context, LIBDECOR_ERROR_COMPOSITOR_INCOMPATIBLE, - err_msg); - free(err_msg); + "%s version 3 required but only version %i is available\n", + wl_seat_interface.name, + version); } seat = zalloc(sizeof *seat); @@ -2640,15 +2637,12 @@ init_wl_output(struct libdecor_plugin_gtk *plugin_gtk, struct output *output; if (version < 2) { - char *err_msg; - asprintf(&err_msg, - "%s version 2 required but only version %i is available\n", - wl_output_interface.name, version); libdecor_notify_plugin_error( plugin_gtk->context, LIBDECOR_ERROR_COMPOSITOR_INCOMPATIBLE, - err_msg); - free(err_msg); + "%s version 2 required but only version %i is available\n", + wl_output_interface.name, + version); } output = zalloc(sizeof *output); @@ -2814,6 +2808,8 @@ libdecor_plugin_new(struct libdecor *context) /* setup GTK context */ gdk_set_allowed_backends("wayland"); + gtk_disable_setlocale(); + if (!gtk_init_check(NULL, NULL)) { libdecor_notify_plugin_error( plugin_gtk->context,