[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[kazehakase] Предотвратяване на SIGSEGV при провал на GRE glue
From: |
Yavor Doganov |
Subject: |
[kazehakase] Предотвратяване на SIGSEGV при провал на GRE glue |
Date: |
Thu, 01 Oct 2009 13:46:45 +0300 |
User-agent: |
Wanderlust/2.15.6 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.7 Emacs/23.1 (i486-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
[Пак Kz -- извинявам се]
При дискусията по #548678 [1] (а и забелязах още предния път, когато
обсъждахме кръпката за GNU/Hurd) отговорника на xulrunner предлага да
се изобразява диалогов прозорец при грешка в инициализацията на
XPCOM glue.
Прилагам кратка кръпка -- не съм сигурен дали е напълно наред (иначе
постига желания резултат). Струва ми се, че gtk_widget_destroy е
излишна.
[1] kazehakase: Transition to xulrunner 1.9.1
http://bugs.debian.org/548678
2009-10-01 Yavor Doganov <address@hidden>
* module/embed/gecko/kz-gecko-embed-module.c
(KZ_MODULE_IMPL_INIT): Check the return value of xulrunner_init;
display an error dialog and terminate the application if
initialization fails.
--- kazehakase-0.5.8.orig/module/embed/gecko/kz-gecko-embed-module.c
+++ kazehakase-0.5.8/module/embed/gecko/kz-gecko-embed-module.c
@@ -24,6 +24,8 @@
#include "kz-gecko-single.h"
#include "mozilla-prefs.h"
#include "mozilla.h"
+#include <glib/gi18n.h>
+#include <stdlib.h>
static KzGeckoSingle *gecko_single = NULL;
@@ -31,7 +33,20 @@
KZ_MODULE_IMPL_INIT (GTypeModule *module)
{
#ifdef XPCOM_GLUE
- xulrunner_init();
+ if (xulrunner_init() == FALSE)
+ {
+ GtkWidget *dialog;
+
+ dialog = gtk_message_dialog_new(NULL,
+
GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_CLOSE,
+ _("Failed to initialize
Gecko."));
+ gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
+
+ exit(EXIT_FAILURE);
+ }
#else
gtk_moz_embed_set_comp_path(MOZILLA_HOME);
#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [kazehakase] Предотвратяване на SIGSEGV при провал на GRE glue,
Yavor Doganov <=