From 7bf1df25be383104a7b9f49b84dfc16d36e09220 Mon Sep 17 00:00:00 2001 From: David Rose Date: Mon, 26 Jan 2004 15:43:28 +0000 Subject: [PATCH] add glx_error_abort --- panda/src/glxdisplay/config_glxdisplay.cxx | 1 + panda/src/glxdisplay/config_glxdisplay.h | 1 + panda/src/glxdisplay/glxGraphicsPipe.cxx | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/panda/src/glxdisplay/config_glxdisplay.cxx b/panda/src/glxdisplay/config_glxdisplay.cxx index a4f9eef777..be1ddb4098 100644 --- a/panda/src/glxdisplay/config_glxdisplay.cxx +++ b/panda/src/glxdisplay/config_glxdisplay.cxx @@ -56,3 +56,4 @@ init_libglxdisplay() { } const string display_cfg = config_glxdisplay.GetString("display", ""); +const bool glx_error_abort = config_glxdisplay.GetBool("glx-error-abort", false); diff --git a/panda/src/glxdisplay/config_glxdisplay.h b/panda/src/glxdisplay/config_glxdisplay.h index 394465301e..b2a4c0d14a 100644 --- a/panda/src/glxdisplay/config_glxdisplay.h +++ b/panda/src/glxdisplay/config_glxdisplay.h @@ -27,5 +27,6 @@ NotifyCategoryDecl(glxdisplay, EXPCL_PANDAGL, EXPTP_PANDAGL); extern EXPCL_PANDAGL void init_libglxdisplay(); extern const string display_cfg; +extern const bool glx_error_abort; #endif /* __CONFIG_GLXDISPLAY_H__ */ diff --git a/panda/src/glxdisplay/glxGraphicsPipe.cxx b/panda/src/glxdisplay/glxGraphicsPipe.cxx index 0989d48dd4..76bae7b988 100644 --- a/panda/src/glxdisplay/glxGraphicsPipe.cxx +++ b/panda/src/glxdisplay/glxGraphicsPipe.cxx @@ -545,6 +545,10 @@ error_handler(Display *display, XErrorEvent *error) { glxdisplay_cat.error() << msg << "\n"; + if (glx_error_abort) { + abort(); + } + // We return to allow the application to continue running, unlike // the default X error handler which exits. return 0;