diff --git a/lib/src/sugar-browser.cpp b/lib/src/sugar-browser.cpp index b8b69dc3..cd455b6f 100644 --- a/lib/src/sugar-browser.cpp +++ b/lib/src/sugar-browser.cpp @@ -24,6 +24,7 @@ #include "GeckoContentHandler.h" #include "GeckoDownload.h" +#include #include #include #include @@ -89,6 +90,34 @@ static const nsModuleComponentInfo sSugarComponents[] = { } }; +int (*old_handler) (Display *, XErrorEvent *); + +static int +error_handler (Display *d, XErrorEvent *e) +{ + gchar buf[64]; + gchar *msg; + + XGetErrorText(d, e->error_code, buf, 63); + + msg = + g_strdup_printf("The program '%s' received an X Window System error.\n" + "This probably reflects a bug in the program.\n" + "The error was '%s'.\n" + " (Details: serial %ld error_code %d request_code %d minor_code %d)\n", + g_get_prgname (), + buf, + e->serial, + e->error_code, + e->request_code, + e->minor_code); + + g_warning ("%s", msg); + + return 0; + /*return (*old_handler)(d, e);*/ +} + static void setup_plugin_path () { @@ -113,6 +142,8 @@ sugar_browser_startup(const char *profile_path, const char *profile_name) gtk_moz_embed_set_profile_path(profile_path, profile_name); + old_handler = XSetErrorHandler(error_handler); + gtk_moz_embed_push_startup(); nsCOMPtr prefService; diff --git a/tools/build-snapshot.sh b/tools/build-snapshot.sh index eaba1a5d..7d3bd112 100755 --- a/tools/build-snapshot.sh +++ b/tools/build-snapshot.sh @@ -1,6 +1,6 @@ VERSION=0.63 DATE=`date +%Y%m%d` -RELEASE=2.69 +RELEASE=2.72 TARBALL=sugar-$VERSION-$RELEASE.${DATE}git.tar.bz2 rm sugar-$VERSION.tar.bz2