aboutsummaryrefslogtreecommitdiffhomepage
path: root/uzbl-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'uzbl-core.c')
-rw-r--r--uzbl-core.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/uzbl-core.c b/uzbl-core.c
index 85330b9..42e274e 100644
--- a/uzbl-core.c
+++ b/uzbl-core.c
@@ -535,13 +535,17 @@ void
catch_signal(int s) {
if(s == SIGTERM ||
s == SIGINT ||
- s == SIGSEGV ||
s == SIGILL ||
s == SIGFPE ||
s == SIGQUIT) {
clean_up();
exit(EXIT_SUCCESS);
}
+ else if(s == SIGSEGV) {
+ clean_up();
+ fprintf(stderr, "Program aborted, segmentation fault!\nAttempting to clean up...\n");
+ exit(EXIT_FAILURE);
+ }
else if(s == SIGALRM && uzbl.state.event_buffer) {
g_ptr_array_free(uzbl.state.event_buffer, TRUE);
uzbl.state.event_buffer = NULL;