From b0d97571cfb3bb02ebdc66bbf556d9171826ea25 Mon Sep 17 00:00:00 2001 From: Markus Volk Date: Sun, 13 Jul 2025 08:14:27 +0200 Subject: [PATCH] hyprspace: fix build with hyprland --- .../hyprland/hyprspace/hyprspace.bb | 1 + ...26f01153ddc7e78d6a436c0e6c79d192935f.patch | 83 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 recipes-support/hyprland/hyprspace/hyprspace/b15926f01153ddc7e78d6a436c0e6c79d192935f.patch diff --git a/recipes-support/hyprland/hyprspace/hyprspace.bb b/recipes-support/hyprland/hyprspace/hyprspace.bb index a66d139..5db7b1f 100644 --- a/recipes-support/hyprland/hyprspace/hyprspace.bb +++ b/recipes-support/hyprland/hyprspace/hyprspace.bb @@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = " \ git://github.com/KZDKM/Hyprspace.git;protocol=https;branch=main \ + file://b15926f01153ddc7e78d6a436c0e6c79d192935f.patch \ " SRCREV = "82bdb6720ef6163f0b10b49ba49702f0bde815d8" diff --git a/recipes-support/hyprland/hyprspace/hyprspace/b15926f01153ddc7e78d6a436c0e6c79d192935f.patch b/recipes-support/hyprland/hyprspace/hyprspace/b15926f01153ddc7e78d6a436c0e6c79d192935f.patch new file mode 100644 index 0000000..e3065ba --- /dev/null +++ b/recipes-support/hyprland/hyprspace/hyprspace/b15926f01153ddc7e78d6a436c0e6c79d192935f.patch @@ -0,0 +1,83 @@ +From b15926f01153ddc7e78d6a436c0e6c79d192935f Mon Sep 17 00:00:00 2001 +From: myamusashi +Date: Fri, 11 Jul 2025 08:50:19 +0700 +Subject: [PATCH] use unique ptr + +Upstream-Status: Submitted +--- + src/Render.cpp | 17 +++++------ + 1 files changed, 9 insertions(+), 8 deletions(-) + +diff --git a/src/Render.cpp b/src/Render.cpp +index 52656b4..29ae7a1 100644 +--- a/src/Render.cpp ++++ b/src/Render.cpp +@@ -1,5 +1,6 @@ + #include "Overview.hpp" + #include "Globals.hpp" ++#include "src/helpers/memory/Memory.hpp" + #include + #include + #include +@@ -42,7 +43,7 @@ void renderRect(CBox box, CHyprColor color) { + CRectPassElement::SRectData rectdata; + rectdata.color = color; + rectdata.box = box; +- g_pHyprRenderer->m_renderPass.add(makeShared(rectdata)); ++ g_pHyprRenderer->m_renderPass.add(makeUnique(rectdata)); + } + + void renderRectWithBlur(CBox box, CHyprColor color) { +@@ -50,7 +51,7 @@ void renderRectWithBlur(CBox box, CHyprColor color) { + rectdata.color = color; + rectdata.box = box; + rectdata.blur = true; +- g_pHyprRenderer->m_renderPass.add(makeShared(rectdata)); ++ g_pHyprRenderer->m_renderPass.add(makeUnique(rectdata)); + } + + void renderBorder(CBox box, CGradientValueData gradient, int size) { +@@ -60,7 +61,7 @@ void renderBorder(CBox box, CGradientValueData gradient, int size) { + data.round = 0; + data.a = 1.f; + data.borderSize = size; +- g_pHyprRenderer->m_renderPass.add(makeShared(data)); ++ g_pHyprRenderer->m_renderPass.add(makeUnique(data)); + } + + void renderWindowStub(PHLWINDOW pWindow, PHLMONITOR pMonitor, PHLWORKSPACE pWorkspaceOverride, CBox rectOverride, timespec* time) { +@@ -95,10 +96,10 @@ void renderWindowStub(PHLWINDOW pWindow, PHLMONITOR pMonitor, PHLWORKSPACE pWork + g_pInputManager->m_currentlyDraggedWindow = pWindow; // override these and force INTERACTIVERESIZEINPROGRESS = true to trick the renderer + g_pInputManager->m_dragMode = MBIND_RESIZE; + +- g_pHyprRenderer->m_renderPass.add(makeShared(CRendererHintsPassElement::SData{renderModif})); ++ g_pHyprRenderer->m_renderPass.add(makeUnique(CRendererHintsPassElement::SData{renderModif})); + // remove modif as it goes out of scope (wtf is this blackmagic i need to relearn c++) + Hyprutils::Utils::CScopeGuard x([] { +- g_pHyprRenderer->m_renderPass.add(makeShared(CRendererHintsPassElement::SData{SRenderModifData{}})); ++ g_pHyprRenderer->m_renderPass.add(makeUnique(CRendererHintsPassElement::SData{SRenderModifData{}})); + }); + + g_pHyprRenderer->damageWindow(pWindow); +@@ -137,10 +138,10 @@ void renderLayerStub(PHLLS pLayer, PHLMONITOR pMonitor, CBox rectOverride, times + pLayer->m_alpha->setValue(1); + pLayer->m_fadingOut = false; + +- g_pHyprRenderer->m_renderPass.add(makeShared(CRendererHintsPassElement::SData{renderModif})); ++ g_pHyprRenderer->m_renderPass.add(makeUnique(CRendererHintsPassElement::SData{renderModif})); + // remove modif as it goes out of scope (wtf is this blackmagic i need to relearn c++) + Hyprutils::Utils::CScopeGuard x([] { +- g_pHyprRenderer->m_renderPass.add(makeShared(CRendererHintsPassElement::SData{SRenderModifData{}})); ++ g_pHyprRenderer->m_renderPass.add(makeUnique(CRendererHintsPassElement::SData{SRenderModifData{}})); + }); + + (*(tRenderLayer)pRenderLayer)(g_pHyprRenderer.get(), pLayer, pMonitor, time, false); +@@ -203,7 +204,7 @@ void CHyprspaceWidget::draw() { + // add a fake element with needsliveblur = true and covers the entire monitor to ensure damage applies to the entire monitor + // unoptimized atm but hey its working + CFakeDamageElement fakeDamage = CFakeDamageElement(CBox({0, 0}, owner->m_transformedSize)); +- g_pHyprRenderer->m_renderPass.add(makeShared(fakeDamage)); ++ g_pHyprRenderer->m_renderPass.add(makeUnique(fakeDamage)); + + // the list of workspaces to show + std::vector workspaces;