From 7d9977d02815d3111b8cb97da4695d1c39f4d808 Mon Sep 17 00:00:00 2001 From: vaxerski Date: Tue, 4 Apr 2023 14:49:58 +0100 Subject: debug: added manual_crash --- src/render/Renderer.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/render/Renderer.cpp') diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index f1fdd636..94a71f74 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -1791,3 +1791,30 @@ std::tuple CHyprRenderer::getRenderTimes(CMonitor* pMonitor return std::make_tuple<>(avgRenderTime, maxRenderTime, minRenderTime); } + +static int handleCrashLoop(void* data) { + + g_pHyprNotificationOverlay->addNotification("Hyprland will crash in " + std::to_string(10 - (int)(g_pHyprRenderer->m_fCrashingDistort * 2.f)) + "s.", CColor(0), 5000, + ICON_INFO); + + g_pHyprRenderer->m_fCrashingDistort += 0.5f; + + if (g_pHyprRenderer->m_fCrashingDistort >= 5.5f) + *((int*)nullptr) = 1337; + + wl_event_source_timer_update(g_pHyprRenderer->m_pCrashingLoop, 1000); + + return 1; +} + +void CHyprRenderer::initiateManualCrash() { + g_pHyprNotificationOverlay->addNotification("Manual crash initiated. Farewell...", CColor(0), 5000, ICON_INFO); + + m_pCrashingLoop = wl_event_loop_add_timer(g_pCompositor->m_sWLEventLoop, handleCrashLoop, nullptr); + wl_event_source_timer_update(m_pCrashingLoop, 1000); + + m_bCrashingInProgress = true; + m_fCrashingDistort = 0.5; + + g_pConfigManager->setInt("debug:damage_tracking", 0); +} \ No newline at end of file -- cgit v1.2.3