Open rurigk opened 10 months ago
After extensive use and while doing https://github.com/hyprwm/xdg-desktop-portal-hyprland/pull/173 i noticed that it also happens if you leave the dialog open for a long time
This is the callstack i got in vscode using GDB
libsdbus-c++.so.1![Unknown/Just-In-Time compiled code] (Unknown Source:0)
std::default_delete<sdbus::IObject>::operator()(const std::default_delete<sdbus::IObject> * const this, sdbus::IObject * __ptr) (/usr/include/c++/13.2.1/bits/unique_ptr.h:99)
std::unique_ptr<sdbus::IObject, std::default_delete<sdbus::IObject> >::~unique_ptr(std::unique_ptr<sdbus::IObject, std::default_delete<sdbus::IObject> > * const this) (/usr/include/c++/13.2.1/bits/unique_ptr.h:404)
CScreenshotPortal::~CScreenshotPortal(CScreenshotPortal * const this) (/home/rurigk/git/rurigk/xdg-desktop-portal-hyprland/src/portals/Screenshot.hpp:6)
std::default_delete<CScreenshotPortal>::operator()(const std::default_delete<CScreenshotPortal> * const this, CScreenshotPortal * __ptr) (/usr/include/c++/13.2.1/bits/unique_ptr.h:99)
std::unique_ptr<CScreenshotPortal, std::default_delete<CScreenshotPortal> >::~unique_ptr(std::unique_ptr<CScreenshotPortal, std::default_delete<CScreenshotPortal> > * const this) (/usr/include/c++/13.2.1/bits/unique_ptr.h:404)
CPortalManager::{unnamed type#2}::~CPortalManager()(struct {...} * const this) (/home/rurigk/git/rurigk/xdg-desktop-portal-hyprland/src/core/PortalManager.hpp:48)
CPortalManager::~CPortalManager(CPortalManager * const this) (/home/rurigk/git/rurigk/xdg-desktop-portal-hyprland/src/core/PortalManager.hpp:32)
std::default_delete<CPortalManager>::operator()(const std::default_delete<CPortalManager> * const this, CPortalManager * __ptr) (/usr/include/c++/13.2.1/bits/unique_ptr.h:99)
std::unique_ptr<CPortalManager, std::default_delete<CPortalManager> >::~unique_ptr(std::unique_ptr<CPortalManager, std::default_delete<CPortalManager> > * const this) (/usr/include/c++/13.2.1/bits/unique_ptr.h:404)
libc.so.6![Unknown/Just-In-Time compiled code] (Unknown Source:0)
libc.so.6!exit (Unknown Source:0)
libc.so.6![Unknown/Just-In-Time compiled code] (Unknown Source:0)
libc.so.6!__libc_start_main (Unknown Source:0)
_start (Unknown Source:0)
it's wayland yeeting us.
https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/188
Picker blocks the execution so we can't keep up with the wayland socket when it's open.
It makes sense
It works as intended when
Open OBS -> Add screen capture (Pipewire) -> Open the source selector -> Select source in the dialog
It crashes when
Open OBS -> Add screen capture (Pipewire) -> Open the source selector -> Move any window -> Select source in the dialog
hyprland 0.34.0-1 from arch repos xdg-desktop-portal-hyprland 1.3.1-2 from arch repos