forked from enlightenment/enlightenment
release any grabs we may have... just in case
SVN revision: 15358
This commit is contained in:
parent
650bb6ed85
commit
6f711f3808
|
@ -22,6 +22,10 @@ e_sigseg_act(int x, siginfo_t *info, void *data)
|
||||||
write(2, "**** Printing Backtrace... *****\n\n", 34);
|
write(2, "**** Printing Backtrace... *****\n\n", 34);
|
||||||
size = backtrace(array, 255);
|
size = backtrace(array, 255);
|
||||||
backtrace_symbols_fd(array, size, 2);
|
backtrace_symbols_fd(array, size, 2);
|
||||||
|
ecore_x_pointer_ungrab();
|
||||||
|
ecore_x_keyboard_ungrab();
|
||||||
|
ecore_x_ungrab();
|
||||||
|
ecore_x_sync();
|
||||||
e_alert_show("This is very bad. Enlightenment has segfaulted.\n"
|
e_alert_show("This is very bad. Enlightenment has segfaulted.\n"
|
||||||
"This is not meant to happen and is likely a sign of a\n"
|
"This is not meant to happen and is likely a sign of a\n"
|
||||||
"bug in Enlightenment or the libraries it relies on.\n"
|
"bug in Enlightenment or the libraries it relies on.\n"
|
||||||
|
@ -43,6 +47,10 @@ void
|
||||||
e_sigseg_act(int x, siginfo_t *info, void *data)
|
e_sigseg_act(int x, siginfo_t *info, void *data)
|
||||||
{
|
{
|
||||||
write(2, "**** SEGMENTATION FAULT ****\n", 29);
|
write(2, "**** SEGMENTATION FAULT ****\n", 29);
|
||||||
|
ecore_x_pointer_ungrab();
|
||||||
|
ecore_x_keyboard_ungrab();
|
||||||
|
ecore_x_ungrab();
|
||||||
|
ecore_x_sync();
|
||||||
e_alert_show("This is very bad. Enlightenment has segfaulted.\n"
|
e_alert_show("This is very bad. Enlightenment has segfaulted.\n"
|
||||||
"This is not meant to happen and is likely a sign of a\n"
|
"This is not meant to happen and is likely a sign of a\n"
|
||||||
"bug in Enlightenment or the libraries it relies on.\n"
|
"bug in Enlightenment or the libraries it relies on.\n"
|
||||||
|
@ -65,6 +73,10 @@ void
|
||||||
e_sigill_act(int x, siginfo_t *info, void *data)
|
e_sigill_act(int x, siginfo_t *info, void *data)
|
||||||
{
|
{
|
||||||
write(2, "**** ILLEGAL INSTRUCTION ****\n", 30);
|
write(2, "**** ILLEGAL INSTRUCTION ****\n", 30);
|
||||||
|
ecore_x_pointer_ungrab();
|
||||||
|
ecore_x_keyboard_ungrab();
|
||||||
|
ecore_x_ungrab();
|
||||||
|
ecore_x_sync();
|
||||||
e_alert_show("This is very bad. Enlightenment has executed and illegal\n"
|
e_alert_show("This is very bad. Enlightenment has executed and illegal\n"
|
||||||
"instruction. This is most likely because Enlightenment or\n"
|
"instruction. This is most likely because Enlightenment or\n"
|
||||||
"a library it depends on has been compiled for a CPU type\n"
|
"a library it depends on has been compiled for a CPU type\n"
|
||||||
|
@ -87,6 +99,10 @@ void
|
||||||
e_sigfpe_act(int x, siginfo_t *info, void *data)
|
e_sigfpe_act(int x, siginfo_t *info, void *data)
|
||||||
{
|
{
|
||||||
write(2, "**** FLOATING POINT EXCEPTION ****\n", 35);
|
write(2, "**** FLOATING POINT EXCEPTION ****\n", 35);
|
||||||
|
ecore_x_pointer_ungrab();
|
||||||
|
ecore_x_keyboard_ungrab();
|
||||||
|
ecore_x_ungrab();
|
||||||
|
ecore_x_sync();
|
||||||
e_alert_show("This is very bad. Enlightenment has recieved a floating\n"
|
e_alert_show("This is very bad. Enlightenment has recieved a floating\n"
|
||||||
"point exception. This is probably due to a divide by 0\n"
|
"point exception. This is probably due to a divide by 0\n"
|
||||||
"in Enlightenment or a library it depends on.\n"
|
"in Enlightenment or a library it depends on.\n"
|
||||||
|
@ -108,6 +124,10 @@ void
|
||||||
e_sigbus_act(int x, siginfo_t *info, void *data)
|
e_sigbus_act(int x, siginfo_t *info, void *data)
|
||||||
{
|
{
|
||||||
write(2, "**** BUS ERROR ****\n", 21);
|
write(2, "**** BUS ERROR ****\n", 21);
|
||||||
|
ecore_x_pointer_ungrab();
|
||||||
|
ecore_x_keyboard_ungrab();
|
||||||
|
ecore_x_ungrab();
|
||||||
|
ecore_x_sync();
|
||||||
e_alert_show("This is very bad. Enlightenment has recieved a bus error.\n"
|
e_alert_show("This is very bad. Enlightenment has recieved a bus error.\n"
|
||||||
"This could be for many reasons - accessing memory not in\n"
|
"This could be for many reasons - accessing memory not in\n"
|
||||||
"its available address space or unable to be paged in.\n"
|
"its available address space or unable to be paged in.\n"
|
||||||
|
|
Loading…
Reference in New Issue