From 0a6f6d3d830cf9b2860ae2badf2bc6cc3424d558 Mon Sep 17 00:00:00 2001 From: Sepandar Date: Fri, 1 May 2026 12:23:55 -0700 Subject: [PATCH] change SPoolBuffer refs to weak pointers --- src/hyprpicker.cpp | 10 +++++----- src/hyprpicker.hpp | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/hyprpicker.cpp b/src/hyprpicker.cpp index 4059c85..d5c13f8 100644 --- a/src/hyprpicker.cpp +++ b/src/hyprpicker.cpp @@ -13,7 +13,7 @@ #include static void sigHandler(int sig) { - g_pHyprpicker->m_vLayerSurfaces.clear(); + g_pHyprpicker->m_vLayerSurfaces.clear(); // Cleans up the /run files exit(0); } @@ -297,8 +297,8 @@ void CHyprpicker::markDirty() { } } -SP CHyprpicker::getBufferForLS(CLayerSurface* pLS) { - SP returns = nullptr; +WP CHyprpicker::getBufferForLS(CLayerSurface* pLS) { + WP returns; for (auto i = 0; i < 2; ++i) { if (!pLS->buffers[i] || pLS->buffers[i]->busy) @@ -353,7 +353,7 @@ int CHyprpicker::createPoolFile(size_t size, std::string& name) { return FD; } -void CHyprpicker::convertBuffer(SP pBuffer) { +void CHyprpicker::convertBuffer(WP pBuffer) { switch (pBuffer->format) { case WL_SHM_FORMAT_ARGB8888: case WL_SHM_FORMAT_XRGB8888: break; @@ -404,7 +404,7 @@ void CHyprpicker::convertBuffer(SP pBuffer) { } // Mallocs a new buffer, which needs to be free'd! -void* CHyprpicker::convert24To32Buffer(SP pBuffer) { +void* CHyprpicker::convert24To32Buffer(WP pBuffer) { uint8_t* newBuffer = (uint8_t*)malloc((size_t)pBuffer->pixelSize.x * pBuffer->pixelSize.y * 4); int newBufferStride = pBuffer->pixelSize.x * 4; uint8_t* oldBuffer = (uint8_t*)pBuffer->data; diff --git a/src/hyprpicker.hpp b/src/hyprpicker.hpp index cad8f02..b3e3bdf 100644 --- a/src/hyprpicker.hpp +++ b/src/hyprpicker.hpp @@ -73,10 +73,10 @@ class CHyprpicker { void initKeyboard(); void initMouse(); - SP getBufferForLS(CLayerSurface*); + WP getBufferForLS(CLayerSurface*); - void convertBuffer(SP); - void* convert24To32Buffer(SP); + void convertBuffer(WP); + void* convert24To32Buffer(WP); void markDirty();