Github messages for voidlinux
 help / color / mirror / Atom feed
From: ifreund <ifreund@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] wlroots: update to 0.13.0.
Date: Sun, 18 Apr 2021 12:18:46 +0200	[thread overview]
Message-ID: <20210418101846.YNYHpNHQBFWn5k8IkNEc5fJ6uv6ZLQVisBSxNo_j980@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-30076@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 885 bytes --]

There is an updated pull request by ifreund against master on the void-packages repository

https://github.com/ifreund/void-packages bump-wlroots
https://github.com/void-linux/void-packages/pull/30076

wlroots: update to 0.13.0.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

This will remain a draft until all reverse dependencies have been bumped as needed.


A patch file from https://github.com/void-linux/void-packages/pull/30076.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bump-wlroots-30076.patch --]
[-- Type: text/x-diff, Size: 20396 bytes --]

From 60e7f030a4b86ab3727b82aca5a8a3019f74bbbd Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:02:02 +0200
Subject: [PATCH 1/5] wlroots: update to 0.13.0.

---
 common/shlibs            |  2 +-
 srcpkgs/wlroots/template | 18 +++++++++---------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 001fcd56590d..5f51c81f52b9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3461,7 +3461,7 @@ libcodecore.so.0 libio.elementary.code-3.0_1
 libio.elementary.music-core.so.0 libio.elementary.music-5.0_1
 libpantheon-files-core.so.4 libio.elementary.files-4.1.4_1
 libpantheon-files-widgets.so.4 libio.elementary.files-4.1.4_1
-libwlroots.so.7 wlroots-0.12.0_1
+libwlroots.so.8 wlroots-0.13.0_1
 libbaseencode.so.1 libbaseencode-1.0.9_1
 libcotp.so.12 libcotp-1.2.1_1
 libunarr.so.1 libunarr-1.0.1_1
diff --git a/srcpkgs/wlroots/template b/srcpkgs/wlroots/template
index c4d3bad99c6b..fd3a4b0b5aae 100644
--- a/srcpkgs/wlroots/template
+++ b/srcpkgs/wlroots/template
@@ -1,25 +1,25 @@
 # Template file for 'wlroots'
 pkgname=wlroots
-version=0.12.0
-revision=2
+version=0.13.0
+revision=1
 build_style=meson
-# enable assertions - upstream uses them only for unreachable situations
-configure_args="-Dlogind=disabled -Dlibseat=enabled
- -Dxcb-errors=enabled -Dxcb-icccm=enabled -Dxwayland=enabled
- -Dx11-backend=enabled -Dexamples=false -Dwerror=false -Db_ndebug=false"
+# Follow upstream packaging recommendations:
+# https://github.com/swaywm/wlroots/wiki/Packaging-recommendations
+configure_args="--auto-features=enabled -Dlogind=disabled
+ -Dexamples=false -Dwerror=false -Db_ndebug=false"
 hostmakedepends="pkg-config wayland-devel"
 _devel_depends="MesaLib-devel libseat-devel eudev-libudev-devel libdrm-devel
  libinput-devel libxkbcommon-devel pixman-devel wayland-devel wayland-protocols
- xcb-util-errors-devel xcb-util-wm-devel"
+ xcb-util-errors-devel xcb-util-wm-devel xcb-util-renderutil-devel"
 makedepends="${_devel_depends}
  libxcb-devel xcb-util-cursor-devel xcb-util-devel xcb-util-image-devel
- xcb-util-keysyms-devel xcb-util-renderutil-devel xcb-util-xrm-devel"
+ xcb-util-keysyms-devel xcb-util-xrm-devel xorg-server-xwayland"
 short_desc="Modular Wayland compositor library"
 maintainer="Isaac Freund <ifreund@ifreund.xyz>"
 license="MIT"
 homepage="https://github.com/swaywm/wlroots"
 distfiles="https://github.com/swaywm/wlroots/archive/${version}.tar.gz"
-checksum=c9e9f4f6d2f526d0b2886daf3ec37e64831773059aa669fb98a88522a1626bdb
+checksum=f6bea37fd4a6f5e5f552b83d61adae8c73e64b0bcb9ae0ab464ebcd9309d3cf3
 
 post_install() {
 	vlicense LICENSE

From bdfdf55381f4708f66d0854d5bfd49f6a3b45f6a Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Wed, 7 Apr 2021 22:42:06 +0200
Subject: [PATCH 2/5] sway: update to 1.6.

---
 srcpkgs/sway/patches/6046.patch | 133 --------------------------------
 srcpkgs/sway/template           |  12 +--
 2 files changed, 4 insertions(+), 141 deletions(-)
 delete mode 100644 srcpkgs/sway/patches/6046.patch

diff --git a/srcpkgs/sway/patches/6046.patch b/srcpkgs/sway/patches/6046.patch
deleted file mode 100644
index 34845cd99b59..000000000000
--- a/srcpkgs/sway/patches/6046.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-Upstream: yes
-Source: https://github.com/swaywm/sway/pull/6046
-Reason: Popup menu flickers on Firefox
-(https://bugzilla.mozilla.org/show_bug.cgi?id=1696662)
-
-From cf03185561e919f1c337f087194fec150425eef5 Mon Sep 17 00:00:00 2001
-From: Kenny Levinsen <kl@kl.wtf>
-Date: Fri, 19 Feb 2021 18:39:54 +0100
-Subject: [PATCH 1/3] view: Recursively check mapped of view_child tree
-
-A subsurface may be set to mapped without its parent.
----
- sway/tree/view.c | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/sway/tree/view.c b/sway/tree/view.c
-index ad79b2294..c8a4ea6b6 100644
---- a/sway/tree/view.c
-+++ b/sway/tree/view.c
-@@ -982,8 +982,18 @@ static void view_child_subsurface_create(struct sway_view_child *child,
- 	view_child_damage(&subsurface->child, true);
- }
- 
-+static bool view_child_is_mapped(struct sway_view_child *child) {
-+	while (child) {
-+		if (!child->mapped) {
-+			return false;
-+		}
-+		child = child->parent;
-+	}
-+	return true;
-+}
-+
- static void view_child_damage(struct sway_view_child *child, bool whole) {
--	if (!child || !child->mapped || !child->view || !child->view->container) {
-+	if (!child || !view_child_is_mapped(child) || !child->view || !child->view->container) {
- 		return;
- 	}
- 	int sx, sy;
-@@ -1082,7 +1092,7 @@ void view_child_init(struct sway_view_child *child,
- }
- 
- void view_child_destroy(struct sway_view_child *child) {
--	if (child->mapped && child->view->container != NULL) {
-+	if (view_child_is_mapped(child) && child->view->container != NULL) {
- 		view_child_damage(child, true);
- 	}
- 
-
-From e2ec65d0a32797edd0846758bc24cf685e2d19d5 Mon Sep 17 00:00:00 2001
-From: Kenny Levinsen <kl@kl.wtf>
-Date: Fri, 19 Feb 2021 18:41:04 +0100
-Subject: [PATCH 2/3] view: Mark subchildren as unmapped in view_child_destroy
-
-The subchildren lose their parent association at this point, so they
-will not be able to see that the parent is unmapped.
-
-Instead, just set the subchildren to be unmapped directly.
----
- sway/tree/view.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/sway/tree/view.c b/sway/tree/view.c
-index c8a4ea6b6..978271c24 100644
---- a/sway/tree/view.c
-+++ b/sway/tree/view.c
-@@ -1105,6 +1105,9 @@ void view_child_destroy(struct sway_view_child *child) {
- 	wl_list_for_each_safe(subchild, tmpchild, &child->children, link) {
- 		wl_list_remove(&subchild->link);
- 		subchild->parent = NULL;
-+		// The subchild lost its parent link, so it cannot see that the parent
-+		// is unmapped. Unmap it directly.
-+		subchild->mapped = false;
- 	}
- 
- 	wl_list_remove(&child->surface_commit.link);
-
-From c06a926e0d89e952e5a3892b63f07d5b802b34ef Mon Sep 17 00:00:00 2001
-From: Kenny Levinsen <kl@kl.wtf>
-Date: Fri, 19 Feb 2021 18:33:20 +0100
-Subject: [PATCH 3/3] view: Set parent for view_child subsurfaces on init
-
-view_child_init was calling view_init_subsurfaces, which did not set the
-parent attribute for the subchildren. This lead to the subchildren
-acting as standalone children. If the parent was an xdg_popup, this
-would make the subchild unaware of the popup position.
-
-Introduce view_child_init_subsurfaces for view_child_init to use
-instead.
-
-Closes: https://github.com/swaywm/sway/issues/6038
----
- sway/tree/view.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/sway/tree/view.c b/sway/tree/view.c
-index 978271c24..8a2a8178d 100644
---- a/sway/tree/view.c
-+++ b/sway/tree/view.c
-@@ -465,6 +465,9 @@ static void view_subsurface_create(struct sway_view *view,
- static void view_init_subsurfaces(struct sway_view *view,
- 	struct wlr_surface *surface);
- 
-+static void view_child_init_subsurfaces(struct sway_view_child *view_child,
-+	struct wlr_surface *surface);
-+
- static void view_handle_surface_new_subsurface(struct wl_listener *listener,
- 		void *data) {
- 	struct sway_view *view =
-@@ -1033,6 +1036,14 @@ static void view_init_subsurfaces(struct sway_view *view,
- 	}
- }
- 
-+static void view_child_init_subsurfaces(struct sway_view_child *view_child,
-+		struct wlr_surface *surface) {
-+	struct wlr_subsurface *subsurface;
-+	wl_list_for_each(subsurface, &surface->subsurfaces, parent_link) {
-+		view_child_subsurface_create(view_child, subsurface);
-+	}
-+}
-+
- static void view_child_handle_surface_map(struct wl_listener *listener,
- 		void *data) {
- 	struct sway_view_child *child =
-@@ -1088,7 +1099,7 @@ void view_child_init(struct sway_view_child *child,
- 		wlr_surface_send_enter(child->surface, workspace->output->wlr_output);
- 	}
- 
--	view_init_subsurfaces(child->view, surface);
-+	view_child_init_subsurfaces(child, surface);
- }
- 
- void view_child_destroy(struct sway_view_child *child) {
diff --git a/srcpkgs/sway/template b/srcpkgs/sway/template
index 2858c7026b56..3297f668adf4 100644
--- a/srcpkgs/sway/template
+++ b/srcpkgs/sway/template
@@ -1,8 +1,9 @@
 # Template file for 'sway'
 pkgname=sway
-version=1.5.1
-revision=2
+version=1.6
+revision=1
 build_style=meson
+configure_args="-Dwerror=false -Db_ndebug=false"
 conf_files="/etc/sway/config"
 hostmakedepends="pkg-config wayland-devel scdoc git"
 makedepends="wlroots-devel pcre-devel json-c-devel pango-devel cairo-devel
@@ -13,12 +14,7 @@ maintainer="Olaf Mersmann <olafm@p-value.net>"
 license="MIT"
 homepage="https://swaywm.org"
 distfiles="https://github.com/swaywm/${pkgname}/archive/${version}.tar.gz"
-checksum=095f983c9a5f80d761bc2fb19df8166839b9290124ccd47f3e74119a1335490f
-patch_args="-Np1"
-
-post_patch() {
-	vsed -e 's/werror=true/werror=false/g' -i meson.build
-}
+checksum=9ecfd2f38239f7e90922a13cd348fc95fc059e8fa0e4b75b8ffcc7b61685a5fb
 
 post_install() {
 	vlicense LICENSE

From 5bb72d4bb3c0873617c1c0fafafefdc26b1c58c9 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sat, 10 Apr 2021 19:46:49 +0200
Subject: [PATCH 3/5] hikari: update to 2.3.0.

---
 srcpkgs/hikari/template | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/hikari/template b/srcpkgs/hikari/template
index 093d55610b0b..598a87de6179 100644
--- a/srcpkgs/hikari/template
+++ b/srcpkgs/hikari/template
@@ -1,6 +1,6 @@
 # Template file for 'hikari'
 pkgname=hikari
-version=2.2.3
+version=2.3.0
 revision=1
 build_style=gnu-makefile
 make_cmd=bmake
@@ -16,7 +16,7 @@ license="BSD-2-Clause"
 homepage="https://hikari.acmelabs.space"
 changelog="https://hub.darcs.net/raichoo/hikari/browse/CHANGELOG.md"
 distfiles="${homepage}/releases/${pkgname}-${version}.tar.gz"
-checksum=0727d8652e6debea52a9d975bd656cb573556e0e14184b069925c40f2f1b02b4
+checksum=8577ea568d2a41b0dc7b2fae784446778e3ddd5b9563576c9756dfbf7b9435d2
 conf_files="/etc/pam.d/hikari-unlocker /etc/hikari/hikari.conf"
 
 pre_build() {
@@ -25,13 +25,19 @@ pre_build() {
 	# command line (i.e., when make_use_env is undefined), but it ignores
 	# the values in the environment when make_use_env=yes. The _EXTRA
 	# variables provided in the Makefile allow us to force the right flags.
-	export CFLAGS_EXTRA="${CFLAGS}"
+	export CFLAGS_EXTRA="${CFLAGS} -Wno-error"
 	export LDFLAGS_EXTRA="${LDFLAGS}"
 
 	# bmake tends to ignore CC in the environment
 	make_build_args+=" CC=$CC"
 }
 
+# bmake's -q flag seems to differ in behavior from gnu make which causes the
+# build style's handling of the check target not existing to fail.
+do_check() {
+	:
+}
+
 post_install() {
 	vlicense LICENSE
 }

From 663b8a0942edffdec0e24745543aab7cce5928e2 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 11:25:11 +0200
Subject: [PATCH 4/5] cage: update to 0.1.3.

---
 srcpkgs/cage/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/cage/template b/srcpkgs/cage/template
index 960ccfac2156..1b447bcf2ba1 100644
--- a/srcpkgs/cage/template
+++ b/srcpkgs/cage/template
@@ -1,7 +1,7 @@
 # Template file for 'cage'
 pkgname=cage
-version=0.1.2.1
-revision=3
+version=0.1.3
+revision=1
 build_style=meson
 configure_args="$(vopt_bool xwayland xwayland)"
 hostmakedepends="pkg-config wayland-devel scdoc"
@@ -12,7 +12,7 @@ maintainer="Illia Shestakov <ishestakov@airmail.cc>"
 license="MIT"
 homepage="https://www.hjdskes.nl/projects/cage/"
 distfiles="https://github.com/Hjdskes/cage/archive/v${version}.tar.gz"
-checksum=38a3e3968f00cc58fe1d9448e972cfac7d1efa30c48699f09032f264101a55ac
+checksum=c28aa8230f937c89b564967748451c1eb15d8633a71a1ed6e22d532afa15462e
 
 build_options="xwayland"
 build_options_default="xwayland"

From 691379e6eaf93d110de7f2805c04ff0f4147c080 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Sun, 18 Apr 2021 12:18:32 +0200
Subject: [PATCH 5/5] wayfire: update to 0.7.0.

---
 srcpkgs/wayfire/patches/wlroots13.patch | 189 ++++++++++++++++++++++++
 srcpkgs/wayfire/template                |   3 +-
 2 files changed, 191 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/wayfire/patches/wlroots13.patch

diff --git a/srcpkgs/wayfire/patches/wlroots13.patch b/srcpkgs/wayfire/patches/wlroots13.patch
new file mode 100644
index 000000000000..d42dbc425a3a
--- /dev/null
+++ b/srcpkgs/wayfire/patches/wlroots13.patch
@@ -0,0 +1,189 @@
+diff --git a/meson.build b/meson.build
+index 4a8992cb..117f928c 100644
+--- a/meson.build
++++ b/meson.build
+@@ -28,7 +28,7 @@ libinput       = dependency('libinput', version: '>=1.7.0')
+ pixman         = dependency('pixman-1')
+ threads        = dependency('threads')
+ xkbcommon      = dependency('xkbcommon')
+-wlroots        = dependency('wlroots', version: ['>=0.12.0', '<0.13.0'], required: get_option('use_system_wlroots'))
++wlroots        = dependency('wlroots', version: ['>=0.13.0', '<0.14.0'], required: get_option('use_system_wlroots'))
+ wfconfig       = dependency('wf-config', version: ['>=0.7.0', '<0.8.0'], required: get_option('use_system_wfconfig'))
+ 
+ use_system_wlroots = not get_option('use_system_wlroots').disabled() and wlroots.found()
+diff --git a/plugins/single_plugins/vswipe.cpp b/plugins/single_plugins/vswipe.cpp
+index da37448c..26c8f399 100644
+--- a/plugins/single_plugins/vswipe.cpp
++++ b/plugins/single_plugins/vswipe.cpp
+@@ -1,3 +1,4 @@
++#include <wayfire/nonstd/wlroots-full.hpp>
+ #include <wayfire/plugin.hpp>
+ #include <wayfire/output.hpp>
+ #include <wayfire/core.hpp>
+diff --git a/src/api/wayfire/nonstd/wlroots-full.hpp b/src/api/wayfire/nonstd/wlroots-full.hpp
+index 77a12c70..4a24f1a1 100644
+--- a/src/api/wayfire/nonstd/wlroots-full.hpp
++++ b/src/api/wayfire/nonstd/wlroots-full.hpp
+@@ -112,6 +112,8 @@ extern "C"
+ #include <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/types/wlr_idle.h>
+ #include <wlr/interfaces/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
++#include <wlr/types/wlr_pointer_gestures_v1.h>
+ #include <wlr/xcursor.h>
+ #include <wlr/types/wlr_data_control_v1.h>
+ #include <wlr/types/wlr_virtual_keyboard_v1.h>
+diff --git a/src/api/wayfire/nonstd/wlroots.hpp b/src/api/wayfire/nonstd/wlroots.hpp
+index 4686d14f..402ab3cd 100644
+--- a/src/api/wayfire/nonstd/wlroots.hpp
++++ b/src/api/wayfire/nonstd/wlroots.hpp
+@@ -43,7 +43,14 @@ extern "C"
+     struct wlr_viewporter;
+ 
+ #include <wlr/types/wlr_input_device.h>
++#include <wlr/types/wlr_pointer.h>
++#include <wlr/types/wlr_keyboard.h>
++#include <wlr/types/wlr_touch.h>
+ #include <wlr/types/wlr_output.h>
+ #include <wlr/types/wlr_box.h>
+ #include <wlr/util/edges.h>
++#include <wayland-server.h>
++
++    static constexpr uint32_t WLR_KEY_PRESSED  = WL_KEYBOARD_KEY_STATE_PRESSED;
++    static constexpr uint32_t WLR_KEY_RELEASED = WL_KEYBOARD_KEY_STATE_RELEASED;
+ }
+diff --git a/src/core/opengl.cpp b/src/core/opengl.cpp
+index 09022930..aacb0800 100644
+--- a/src/core/opengl.cpp
++++ b/src/core/opengl.cpp
+@@ -227,25 +227,27 @@ void render_rectangle(wf::geometry_t geometry, wf::color_t color,
+ 
+ void render_begin()
+ {
+-    /* No real reason for 10, 10, 0 but it doesn't matter */
+-    render_begin(10, 10, 0);
++    if (!wlr_egl_is_current(wf::get_core_impl().egl))
++    {
++        wlr_egl_make_current(wf::get_core_impl().egl);
++    }
++
++    GL_CALL(glEnable(GL_BLEND));
++    GL_CALL(glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA));
+ }
+ 
+ void render_begin(const wf::framebuffer_base_t& fb)
+ {
+-    render_begin(fb.viewport_width, fb.viewport_height, fb.fb);
++    render_begin();
++    fb.bind();
+ }
+ 
+-void render_begin(int32_t viewport_width, int32_t viewport_height, uint32_t fb)
++void render_begin(int32_t width, int32_t height, uint32_t fb)
+ {
+-    if (!wlr_egl_is_current(wf::get_core_impl().egl))
+-    {
+-        wlr_egl_make_current(wf::get_core_impl().egl, EGL_NO_SURFACE, NULL);
+-    }
++    render_begin();
+ 
+-    wlr_renderer_begin(wf::get_core_impl().renderer,
+-        viewport_width, viewport_height);
+-    GL_CALL(glBindFramebuffer(GL_FRAMEBUFFER, fb));
++    GL_CALL(glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fb));
++    GL_CALL(glViewport(0, 0, width, height));
+ }
+ 
+ void clear(wf::color_t col, uint32_t mask)
+@@ -257,8 +259,7 @@ void clear(wf::color_t col, uint32_t mask)
+ void render_end()
+ {
+     GL_CALL(glBindFramebuffer(GL_FRAMEBUFFER, current_output_fb));
+-    wlr_renderer_scissor(wf::get_core().renderer, NULL);
+-    wlr_renderer_end(wf::get_core().renderer);
++    GL_CALL(glDisable(GL_SCISSOR_TEST));
+ }
+ }
+ 
+diff --git a/src/core/seat/cursor.cpp b/src/core/seat/cursor.cpp
+index 7ba23b06..d6006f17 100644
+--- a/src/core/seat/cursor.cpp
++++ b/src/core/seat/cursor.cpp
+@@ -160,7 +160,10 @@ void wf::cursor_t::set_cursor(std::string name)
+         name = "left_ptr";
+     }
+ 
+-    wlr_xcursor_manager_set_cursor_image(xcursor, name.c_str(), cursor);
++    idle_set_cursor.run_once([name, this] ()
++    {
++        wlr_xcursor_manager_set_cursor_image(xcursor, name.c_str(), cursor);
++    });
+ }
+ 
+ void wf::cursor_t::unhide_cursor()
+@@ -175,6 +178,7 @@ void wf::cursor_t::unhide_cursor()
+ 
+ void wf::cursor_t::hide_cursor()
+ {
++    idle_set_cursor.disconnect();
+     wlr_cursor_set_surface(cursor, NULL, 0, 0);
+     this->hide_ref_counter++;
+ }
+diff --git a/src/core/seat/cursor.hpp b/src/core/seat/cursor.hpp
+index 0c4ab8fe..aec8f1aa 100644
+--- a/src/core/seat/cursor.hpp
++++ b/src/core/seat/cursor.hpp
+@@ -3,6 +3,7 @@
+ 
+ #include "seat.hpp"
+ #include "wayfire/plugin.hpp"
++#include "wayfire/util.hpp"
+ 
+ namespace wf
+ {
+@@ -28,6 +29,13 @@ struct cursor_t
+     void hide_cursor();
+     int hide_ref_counter = 0;
+ 
++    /**
++     * Delay setting the cursor, in order to avoid setting the cursor
++     * multiple times in a single frame and to avoid setting it in the middle
++     * of the repaint loop (not allowed by wlroots).
++     */
++    wf::wl_idle_call idle_set_cursor;
++
+     /**
+      * Start/stop touchscreen mode, which means the cursor will be hidden.
+      * It will be shown again once a pointer or tablet event happens.
+diff --git a/src/main.cpp b/src/main.cpp
+index bd07d618..0c5e97e7 100644
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -260,7 +260,7 @@ int main(int argc, char *argv[])
+     /** TODO: move this to core_impl constructor */
+     core.display  = display;
+     core.ev_loop  = wl_display_get_event_loop(core.display);
+-    core.backend  = wlr_backend_autocreate(core.display, NULL);
++    core.backend  = wlr_backend_autocreate(core.display);
+     core.renderer = wlr_backend_get_renderer(core.backend);
+     core.egl = wlr_gles2_renderer_get_egl(core.renderer);
+     assert(core.egl);
+diff --git a/src/output/render-manager.cpp b/src/output/render-manager.cpp
+index 2039333c..cb2a38bf 100644
+--- a/src/output/render-manager.cpp
++++ b/src/output/render-manager.cpp
+@@ -1019,8 +1019,12 @@ class wf::render_manager::impl
+             swap_damage |= output_damage->get_wlr_damage_box();
+         }
+ 
+-        OpenGL::render_begin(postprocessing->get_target_framebuffer());
+-        wlr_output_render_software_cursors(output->handle, swap_damage.to_pixman());
++        OpenGL::render_begin();
++        wlr_renderer_begin(wf::get_core().renderer,
++            output->handle->width, output->handle->height);
++        wlr_output_render_software_cursors(output->handle,
++            swap_damage.to_pixman());
++        wlr_renderer_end(wf::get_core().renderer);
+         OpenGL::render_end();
+ 
+         /* Part 4: postprocessing effects */
diff --git a/srcpkgs/wayfire/template b/srcpkgs/wayfire/template
index ab6136b72473..1b94e4d7f0a2 100644
--- a/srcpkgs/wayfire/template
+++ b/srcpkgs/wayfire/template
@@ -1,7 +1,7 @@
 # Template file for 'wayfire'
 pkgname=wayfire
 version=0.7.0
-revision=2
+revision=1
 _utils_commit=f45641beef46babdc8f1b8d18a924e72beaf8ee6
 _touch_commit=b1075c54a280f913edc26b9757262f4f9d6b62b0
 build_style=meson
@@ -19,6 +19,7 @@ distfiles="https://github.com/WayfireWM/wayfire/archive/v${version}.tar.gz
 checksum="b1a94ad2843db19e78cbd361ceebaade4507647ad893d5b5117a9fc7724ce41c
  d172f8c21e0bac01e4116cd957fb0159c5cb39ddfdce897beb0d9c753796d5f1
  2b22e03d3a522baeff5798f630ffe5aa95899fd3233b291527503af5fd3e30be"
+patch_args=-Np1
 
 # Optimization for nested STL calls
 CXXFLAGS="-O3"

  parent reply	other threads:[~2021-04-18 10:18 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-07 20:02 [PR PATCH] " ifreund
2021-04-07 20:07 ` ericonr
2021-04-07 20:42 ` [PR PATCH] [Updated] " ifreund
2021-04-07 21:14 ` jbeich
2021-04-07 22:24 ` ifreund
2021-04-08  2:28 ` ericonr
2021-04-09 18:44 ` st3r4g
2021-04-10 17:56 ` [PR PATCH] [Updated] " ifreund
2021-04-18 10:18 ` ifreund [this message]
2021-04-18 10:32 ` ifreund
2021-04-18 11:01 ` ifreund
2021-04-18 15:31 ` st3r4g
2021-04-18 15:45 ` st3r4g
2021-04-18 15:48 ` st3r4g
2021-04-18 16:22 ` st3r4g
2021-04-18 16:24 ` st3r4g
2021-04-18 16:42 ` st3r4g
2021-04-18 17:47 ` st3r4g
2021-04-18 19:01 ` st3r4g
2021-04-18 22:07 ` [PR PATCH] [Updated] " ifreund
2021-04-18 22:08 ` ifreund
2021-04-18 22:11 ` st3r4g
2021-04-18 22:12 ` [PR PATCH] [Updated] " ifreund
2021-04-18 22:49 ` ifreund
2021-04-18 22:53 ` ifreund
2021-04-18 23:23 ` ifreund
2021-04-20  4:27 ` ericonr
2021-04-20  4:28 ` ericonr
2021-04-20  4:28 ` [PR PATCH] [Merged]: " ericonr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210418101846.YNYHpNHQBFWn5k8IkNEc5fJ6uv6ZLQVisBSxNo_j980@z \
    --to=ifreund@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).