* [Linux] BugFix: Free the mouse cursor when triggering SIGTRAP on Linux to ensure that the cursor is available for debugging.

This commit is contained in:
Robert MacGregor 2021-10-06 00:35:38 -04:00
parent f6c6a6d66f
commit 070a3a30b6

View file

@ -24,6 +24,8 @@
#include "platformX86UNIX/x86UNIXState.h"
#include "platformX86UNIX/x86UNIXStdConsole.h"
#include "platform/platformInput.h"
#include "windowManager/platformWindow.h"
#include "windowManager/platformWindowMgr.h"
#include "console/console.h"
#include <stdlib.h>
@ -165,6 +167,15 @@ void Platform::debugBreak()
Con::errorf(ConsoleLogEntry::General,
"Platform::debugBreak: triggering SIGSEGV for core dump");
//kill(getpid(), SIGSEGV);
// On Linux, the mouse cursor will remain trapped when the SIGTRAP below triggers so we ensure the mouse
// locked state is disabled prior to dropping to debug
PlatformWindow* firstWindow = WindowManager->getFirstWindow();
if (firstWindow)
{
firstWindow->setMouseLocked(false);
}
kill(getpid(), SIGTRAP);
}