]> git.mdlowis.com Git - proto/labwc.git/commitdiff
Revert "Fix dynamic output based scaling for menu and SSD"
authorConsolatis <35009135+Consolatis@users.noreply.github.com>
Mon, 30 May 2022 19:05:32 +0000 (21:05 +0200)
committerConsolatis <35009135+Consolatis@users.noreply.github.com>
Mon, 30 May 2022 19:27:33 +0000 (21:27 +0200)
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.

src/menu/menu.c
src/ssd/ssd_part.c
src/ssd/ssd_titlebar.c
subprojects/wlroots.wrap

index 5f8140771b904bdcfc86867d526f1857681a667d..50bc97243ee575d24b298efc2843469a0492439f 100644 (file)
@@ -75,17 +75,6 @@ menu_get_by_id(const char *id)
        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)
 {
@@ -137,10 +126,10 @@ 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,
index fa8b6ac17f4520946f6c822b527a2f857e6bd832..ec754697983d0e5236853b266f45600f84ec2bd7 100644 (file)
@@ -40,11 +40,7 @@ add_scene_buffer(struct wl_list *list, enum ssd_part_type type,
        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;
 }
index 4183e9a167334915c70f965a1a880103c4786c13..7a80a0a79d62019388d0dabf13fe72ff965da15b 100644 (file)
@@ -221,7 +221,6 @@ ssd_update_title(struct view *view)
        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);
@@ -260,19 +259,11 @@ ssd_update_title(struct view *view)
                        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;
index d009f9c53ea6ab7c9ea0701502de0ac8ffa94a54..257db7378bd79df973b8c2a7df83e842474dbd9f 100644 (file)
@@ -1,6 +1,6 @@
 [wrap-git]
 url = https://gitlab.freedesktop.org/wlroots/wlroots.git
-revision = bb2946f7377b9e71c15457e93f6f9a34712b77de
+revision = 98c5f58a388926c3db5d5b4b9275645bccd54271
 
 [provide]
 dependency_names = wlroots