Skip to content

Fix build on Hyprland 0.55.2 (render pass API change)#117

Open
vadika wants to merge 1 commit into
raybbian:mainfrom
vadika:fix-raybbian-0.55.2
Open

Fix build on Hyprland 0.55.2 (render pass API change)#117
vadika wants to merge 1 commit into
raybbian:mainfrom
vadika:fix-raybbian-0.55.2

Conversation

@vadika

@vadika vadika commented Jul 6, 2026

Copy link
Copy Markdown

What

Fixes the plugin failing to build against Hyprland 0.55.2.

Why

In 0.55.2, CRenderPass::m_passElements changed type:

```cpp
// render/pass/Pass.hpp
std::vector<UP> m_passElements; // was vector
```

So the `std::erase_if` lambda in `HTLayoutBase::post_render()` now receives a
`UP` (unique-pointer) rather than the struct by value, and the
existing `e.element` no longer compiles:

```
src/layout/layout_base.cpp:87:22: error: 'const class Hyprutils::Memory::CUniquePointerRender::CRenderPass::SPassElementData' has no member named 'element'
```

Change

  • `e.element->passName()` → `e->element->passName()` (dereference the UP first).
  • Uncomment the `v0.55.2` commit pin in `hyprpm.toml` so hyprpm accepts the plugin on 0.55.2.

Testing

Builds clean and loads live on Hyprland 0.55.2 (commit `39d7e209`); `hyprtasking:toggle` works.

CRenderPass::m_passElements became std::vector<UP<SPassElementData>>,
so the erase_if lambda receives a unique-pointer; use e->element, not
e.element. Uncomment the v0.55.2 commit pin so hyprpm accepts it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant