As it turns out the reason for the workaround was a bug
in wlroots which got fixed in the meantime.
So to keep things simple just revert the workaround and
depend on the wlroots fix instead.
To update the wlroots subproject use
meson subprojects update wlroots
This reverts commit
e87aa19066e5dae6ddfe1f4c5d4537474083436a.
return NULL;
}
-static struct wlr_scene_node *
-create_scaling_buffer(struct wlr_scene_node *parent, struct wlr_buffer *buffer)
-{
- struct wlr_scene_buffer *scene_buffer =
- wlr_scene_buffer_create(parent, buffer);
- /* Make sure output scaling works correctly */
- struct wlr_fbox source_box = { 0, 0, buffer->width, buffer->height };
- wlr_scene_buffer_set_source_box(scene_buffer, &source_box);
- return &scene_buffer->node;
-}
-
static struct menuitem *
item_create(struct menu *menu, const char *text)
{
theme->menu_items_active_bg_color)->node;
/* Font nodes */
- menuitem->normal.text = create_scaling_buffer(
- menuitem->normal.background, &menuitem->normal.buffer->base);
- menuitem->selected.text = create_scaling_buffer(
- menuitem->selected.background, &menuitem->selected.buffer->base);
+ menuitem->normal.text = &wlr_scene_buffer_create(
+ menuitem->normal.background, &menuitem->normal.buffer->base)->node;
+ menuitem->selected.text = &wlr_scene_buffer_create(
+ menuitem->selected.background, &menuitem->selected.buffer->base)->node;
/* Node descriptors for top scene nodes of menuitem */
node_descriptor_create(menuitem->normal.background,
int x, int y)
{
struct ssd_part *part = add_scene_part(list, type);
- struct wlr_scene_buffer *scene_buffer =
- wlr_scene_buffer_create(parent, buffer);
- part->node = &scene_buffer->node;
- struct wlr_fbox source_box = { 0, 0, buffer->width, buffer->height };
- wlr_scene_buffer_set_source_box(scene_buffer, &source_box);
+ part->node = &wlr_scene_buffer_create(parent, buffer)->node;
wlr_scene_node_set_position(part->node, x, y);
return part;
}
struct ssd_part *parent_part;
struct ssd_sub_tree *subtree;
struct ssd_state_title_width *dstate;
- struct wlr_scene_buffer *scene_buffer;
FOR_EACH_STATE(view, subtree) {
parent_part = ssd_get_part(&subtree->parts, LAB_SSD_PART_TITLEBAR);
assert(parent_part);
wlr_log(WLR_ERROR, "Failed to create title buffer");
}
- scene_buffer = wlr_scene_buffer_from_node(part->node);
-
/* (Re)set the buffer */
- wlr_scene_buffer_set_buffer(scene_buffer,
+ wlr_scene_buffer_set_buffer(
+ wlr_scene_buffer_from_node(part->node),
part->buffer ? &part->buffer->base : NULL);
- /* Make sure output scaling works correctly */
- if (part->buffer) {
- struct wlr_fbox source_box = {0, 0,
- part->buffer->base.width, part->buffer->base.height };
- wlr_scene_buffer_set_source_box(scene_buffer, &source_box);
- }
-
/* And finally update the cache */
dstate->width = part->buffer ? part->buffer->base.width : 0;
dstate->truncated = rect->width <= dstate->width;
[wrap-git]
url = https://gitlab.freedesktop.org/wlroots/wlroots.git
-revision = bb2946f7377b9e71c15457e93f6f9a34712b77de
+revision = 98c5f58a388926c3db5d5b4b9275645bccd54271
[provide]
dependency_names = wlroots