summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2023-04-04 14:49:58 +0100
committervaxerski <vaxry@vaxry.net>2023-04-04 14:50:03 +0100
commit7d9977d02815d3111b8cb97da4695d1c39f4d808 (patch)
tree9e242ccc4830b0992b6c9d477d668f47c4f69131 /src/render/Renderer.cpp
parent882be7765b820d075bbeecde12695f1696f577cf (diff)
debug: added manual_crash
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r--src/render/Renderer.cpp27
1 files changed, 27 insertions, 0 deletions
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<float, float, float> 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