Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package wl-mirror for openSUSE:Factory 
checked in at 2025-04-29 16:40:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wl-mirror (Old)
 and      /work/SRC/openSUSE:Factory/.wl-mirror.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wl-mirror"

Tue Apr 29 16:40:13 2025 rev:4 rq:1273198 version:0.18.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/wl-mirror/wl-mirror.changes      2025-04-02 
17:17:36.628040313 +0200
+++ /work/SRC/openSUSE:Factory/.wl-mirror.new.30101/wl-mirror.changes   
2025-04-29 16:40:48.879284396 +0200
@@ -1,0 +2,7 @@
+Mon Apr 28 15:58:39 UTC 2025 - Lorenz Holzbauer <lorenzholzba...@ikmail.com>
+
+- Update to new upstream release v0.18.2:
+  * Fix a wlroots compositor warning with wlroots 0.19.0-rc1 and newer when 
compiling with libdecor
+  * Fix unused variable warnings when compiling without GBM
+
+-------------------------------------------------------------------

Old:
----
  wl-mirror-0.18.1.tar.gz

New:
----
  wl-mirror-0.18.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ wl-mirror.spec ++++++
--- /var/tmp/diff_new_pack.XGsOEL/_old  2025-04-29 16:40:49.543312287 +0200
+++ /var/tmp/diff_new_pack.XGsOEL/_new  2025-04-29 16:40:49.551312623 +0200
@@ -18,7 +18,7 @@
 
 
 Name:           wl-mirror
-Version:        0.18.1
+Version:        0.18.2
 Release:        0
 Summary:        A Wayland output mirror client
 License:        GPL-3.0-or-later

++++++ wl-mirror-0.18.1.tar.gz -> wl-mirror-0.18.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wl-mirror-0.18.1/include/wlm/egl.h 
new/wl-mirror-0.18.2/include/wlm/egl.h
--- old/wl-mirror-0.18.1/include/wlm/egl.h      2025-03-29 21:46:47.000000000 
+0100
+++ new/wl-mirror-0.18.2/include/wlm/egl.h      2025-04-24 11:52:32.000000000 
+0200
@@ -74,6 +74,7 @@
 bool wlm_egl_query_dmabuf_formats(struct ctx * ctx);
 bool wlm_egl_check_errors(struct ctx * ctx, const char * msg);
 
+void wlm_egl_draw_frame(struct ctx * ctx);
 void wlm_egl_draw_texture(struct ctx * ctx);
 void wlm_egl_resize_viewport(struct ctx * ctx);
 void wlm_egl_resize_window(struct ctx * ctx);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wl-mirror-0.18.1/include/wlm/wayland.h 
new/wl-mirror-0.18.2/include/wlm/wayland.h
--- old/wl-mirror-0.18.1/include/wlm/wayland.h  2025-03-29 21:46:47.000000000 
+0100
+++ new/wl-mirror-0.18.2/include/wlm/wayland.h  2025-04-24 11:52:32.000000000 
+0200
@@ -123,6 +123,7 @@
 } ctx_wl_t;
 
 void wlm_wayland_init(struct ctx * ctx);
+void wlm_wayland_configure_window(struct ctx * ctx);
 void wlm_wayland_window_close(struct ctx * ctx);
 void wlm_wayland_window_set_title(struct ctx * ctx, const char * title);
 void wlm_wayland_window_set_fullscreen(struct ctx * ctx);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wl-mirror-0.18.1/src/egl.c 
new/wl-mirror-0.18.2/src/egl.c
--- old/wl-mirror-0.18.1/src/egl.c      2025-03-29 21:46:47.000000000 +0100
+++ new/wl-mirror-0.18.2/src/egl.c      2025-04-24 11:52:32.000000000 +0200
@@ -262,13 +262,6 @@
     glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 4 * sizeof (float), (void 
*)(2 * sizeof (float)));
     glEnableVertexAttribArray(0);
     glEnableVertexAttribArray(1);
-
-    // draw initial frame
-    wlm_egl_draw_texture(ctx);
-    if (eglSwapBuffers(ctx->egl.display, ctx->egl.surface) != EGL_TRUE) {
-        wlm_log_error("egl::init(): failed to swap buffers\n");
-        wlm_exit_fail(ctx);
-    }
 }
 
 // --- query_dmabuf_formats ---
@@ -392,6 +385,18 @@
     (void)ctx;
 }
 
+// --- draw_frame ---
+
+void wlm_egl_draw_frame(struct ctx * ctx) {
+    // render frame, set swap interval to 0 to ensure nonblocking buffer swap
+    wlm_egl_draw_texture(ctx);
+    eglSwapInterval(ctx->egl.display, 0);
+    if (eglSwapBuffers(ctx->egl.display, ctx->egl.surface) != EGL_TRUE) {
+        wlm_log_error("egl::draw_frame(): failed to swap buffers\n");
+        wlm_exit_fail(ctx);
+    }
+}
+
 // --- draw_texture ---
 
 void wlm_egl_draw_texture(ctx_t *ctx) {
@@ -525,13 +530,6 @@
     // resize window, then trigger viewport recalculation
     wl_egl_window_resize(ctx->egl.window, width, height, 0, 0);
     wlm_egl_resize_viewport(ctx);
-
-    // redraw frame
-    wlm_egl_draw_texture(ctx);
-    if (eglSwapBuffers(ctx->egl.display, ctx->egl.surface) != EGL_TRUE) {
-        wlm_log_error("egl::resize_window(): failed to swap buffers\n");
-        wlm_exit_fail(ctx);
-    }
 }
 
 // --- update_uniforms ---
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wl-mirror-0.18.1/src/main.c 
new/wl-mirror-0.18.2/src/main.c
--- old/wl-mirror-0.18.1/src/main.c     2025-03-29 21:46:47.000000000 +0100
+++ new/wl-mirror-0.18.2/src/main.c     2025-04-24 11:52:32.000000000 +0200
@@ -50,6 +50,9 @@
     wlm_log_debug(&ctx, "main::main(): initializing EGL\n");
     wlm_egl_init(&ctx);
 
+    wlm_log_debug(&ctx, "main::main(): configuring wayland window\n");
+    wlm_wayland_configure_window(&ctx);
+
     wlm_log_debug(&ctx, "main::main(): initializing mirror\n");
     wlm_mirror_init(&ctx);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wl-mirror-0.18.1/src/mirror.c 
new/wl-mirror-0.18.2/src/mirror.c
--- old/wl-mirror-0.18.1/src/mirror.c   2025-03-29 21:46:47.000000000 +0100
+++ new/wl-mirror-0.18.2/src/mirror.c   2025-04-24 11:52:32.000000000 +0200
@@ -48,13 +48,7 @@
     // - screencapture events from backend
     wl_display_roundtrip(ctx->wl.display);
 
-    // render frame, set swap interval to 0 to ensure nonblocking buffer swap
-    wlm_egl_draw_texture(ctx);
-    eglSwapInterval(ctx->egl.display, 0);
-    if (eglSwapBuffers(ctx->egl.display, ctx->egl.surface) != EGL_TRUE) {
-        wlm_log_error("mirror::on_frame(): failed to swap buffers\n");
-        wlm_exit_fail(ctx);
-    }
+    wlm_egl_draw_frame(ctx);
 
     (void)frame_callback;
     (void)msec;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wl-mirror-0.18.1/src/wayland/dmabuf.c 
new/wl-mirror-0.18.2/src/wayland/dmabuf.c
--- old/wl-mirror-0.18.1/src/wayland/dmabuf.c   2025-03-29 21:46:47.000000000 
+0100
+++ new/wl-mirror-0.18.2/src/wayland/dmabuf.c   2025-04-24 11:52:32.000000000 
+0200
@@ -158,6 +158,10 @@
 #else
     wlm_log_error("wayland::dmabuf::open_device(): need libGBM for dmabuf 
allocation\n");
     cb(ctx, false);
+
+    (void)ctx;
+    (void)cb;
+    (void)linux_dmabuf_feedback_listener;
 #endif
 }
 
@@ -211,6 +215,9 @@
     return true;
 #else
     wlm_log_error("wayland::dmabuf::open_device(): need libGBM for dmabuf 
allocation\n");
+
+    (void)ctx;
+    (void)device;
     return false;
 #endif
 }
@@ -295,6 +302,14 @@
 #else
     wlm_log_error("wayland::dmabuf::open_device(): need libGBM for dmabuf 
allocation\n");
     cb(ctx, false);
+
+    (void)ctx;
+    (void)drm_format;
+    (void)width;
+    (void)height;
+    (void)modifiers;
+    (void)num_modifiers;
+    (void)linux_buffer_params_listener;
 #endif
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wl-mirror-0.18.1/src/wayland.c 
new/wl-mirror-0.18.2/src/wayland.c
--- old/wl-mirror-0.18.1/src/wayland.c  2025-03-29 21:46:47.000000000 +0100
+++ new/wl-mirror-0.18.2/src/wayland.c  2025-04-24 11:52:32.000000000 +0200
@@ -624,7 +624,12 @@
 #else
     xdg_surface_ack_configure(ctx->wl.xdg_surface, 
ctx->wl.last_surface_serial);
 #endif
-    wl_surface_commit(ctx->wl.surface);
+
+    // draw frame to attach and commit buffer
+    // reduces number of empty commits
+    // required if libdecor is used
+    // contains a surface commit, no second commit necessary
+    wlm_egl_draw_frame(ctx);
 
     // reset configure sequence state machine
 #ifndef WITH_LIBDECOR
@@ -707,9 +712,7 @@
         wp_viewport_set_destination(ctx->wl.viewport, width, height);
 
         // resize window to reflect new surface size
-        if (ctx->egl.initialized) {
-            wlm_egl_resize_window(ctx);
-        }
+        wlm_egl_resize_window(ctx);
     }
 
     // update configure sequence state machine
@@ -803,9 +806,7 @@
         wp_viewport_set_destination(ctx->wl.viewport, width, height);
 
         // resize window to reflect new surface size
-        if (ctx->egl.initialized) {
-            wlm_egl_resize_window(ctx);
-        }
+        wlm_egl_resize_window(ctx);
     }
 
     // update configure sequence state machine
@@ -1036,6 +1037,15 @@
 
         wp_fractional_scale_v1_add_listener(ctx->wl.fractional_scale, 
&fractional_scale_listener, (void *)ctx);
     }
+}
+
+// --- configure_window ---
+
+void wlm_wayland_configure_window(struct ctx * ctx) {
+    if (!ctx->egl.initialized) {
+        wlm_log_error("wayland::configure_window(): egl must be initialized 
first\n");
+        wlm_exit_fail(ctx);
+    }
 
 #if WITH_LIBDECOR
     // create libdecor context
@@ -1054,11 +1064,9 @@
     libdecor_frame_set_title(ctx->wl.libdecor_frame, "Wayland Output Mirror");
 
     // map libdecor frame
+    // commits surface and triggers configure sequence
     libdecor_frame_map(ctx->wl.libdecor_frame);
 
-    // commit surface to trigger configure sequence
-    wl_surface_commit(ctx->wl.surface);
-
     // wait for events
     // - expecting libdecor frame configure event
     wl_display_roundtrip(ctx->wl.display);
@@ -1102,13 +1110,13 @@
     // check if surface is configured
     // - expecting surface to be configured at this point
     if (!ctx->wl.configured) {
-        wlm_log_error("wayland::init(): surface not configured\n");
+        wlm_log_error("wayland::configure_window(): surface not configured\n");
         wlm_exit_fail(ctx);
     }
 
     // set fullscreen on target output if requested by initial options
     if (ctx->opt.fullscreen && ctx->opt.fullscreen_output != NULL) {
-        wlm_log_debug(ctx, "wayland::init(): fullscreening on target 
output\n");
+        wlm_log_debug(ctx, "wayland::configure_window(): fullscreening on 
target output\n");
         wlm_wayland_window_set_fullscreen(ctx);
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wl-mirror-0.18.1/version.txt 
new/wl-mirror-0.18.2/version.txt
--- old/wl-mirror-0.18.1/version.txt    2025-03-29 21:46:47.000000000 +0100
+++ new/wl-mirror-0.18.2/version.txt    2025-04-24 11:52:32.000000000 +0200
@@ -1 +1 @@
-v0.18.1
+v0.18.2

Reply via email to