Bonjour,
après avoir parcouru plusieurs forums je m'aperçois que mon problème fut déjà rencontré par de multiples personnes mais est resté sans réponses apparemment.
je tente ma chance !
donc voila j'essaie de faire un browser web embarqué en utilisant gtkmozembed.
avec les sources de mozilla firefox 2.0.0.4 !
voici le prog :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 #include <gtkmozembed.h> #include <gtk/gtk.h> #include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct _MyBrowser { GtkWidget *TopLevelWindow; GtkWidget *mozEmbed; GtkWidget *vbox; } MyBrowser; void load_started_cb (GtkMozEmbed *embed, MyBrowser *browser); void load_finished_cb (GtkMozEmbed *embed, MyBrowser *browser); int main(int argc, char *argv[]) { gtk_init(&argc, &argv); MyBrowser *browser = g_new0(MyBrowser, 1); browser->TopLevelWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL); browser->mozEmbed = gtk_moz_embed_new(); browser->vbox = gtk_vbox_new (FALSE, 0); gtk_signal_connect(GTK_OBJECT(browser->mozEmbed), "net_start", GTK_SIGNAL_FUNC(load_started_cb), browser); gtk_signal_connect(GTK_OBJECT(browser->mozEmbed), "net_stop", GTK_SIGNAL_FUNC(load_finished_cb), browser); gtk_box_pack_start(GTK_BOX(browser->vbox), browser->mozEmbed, TRUE, // expand TRUE, // fill 0); gtk_container_add (GTK_CONTAINER (browser->TopLevelWindow),browser->vbox ); gtk_widget_set_usize(browser->mozEmbed, 820, 600); gtk_moz_embed_load_url(GTK_MOZ_EMBED(browser->mozEmbed), "http://www.google.fr"); gtk_widget_show(browser->mozEmbed); gtk_widget_show(browser->vbox); gtk_widget_show(browser->TopLevelWindow); gtk_main(); } void load_started_cb (GtkMozEmbed *embed, MyBrowser *browser) { g_print("load_started_cb\n"); } void load_finished_cb (GtkMozEmbed *embed, MyBrowser *browser) { g_print("load_finished_cb\n"); }
A l'exécution j'obtiens un core segmentation fault !
en debuggant avec gdb -> bt apres le segm fault me donne
Code X : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 ... 52 gtk_widget_show(browser->TopLevelWindow); (gdb) n Program received signal SIGSEGV, Segmentation fault. 0xb776cfc1 in ?? () from /usr/lib/firefox/libgtkembedmoz.so (gdb) bt #0 0xb776cfc1 in ?? () from /usr/lib/firefox/libgtkembedmoz.so #1 0x080dc130 in ?? () #2 0xbf97dc08 in ?? () #3 0xbf97dbc8 in ?? () #4 0xb7771605 in ?? () from /usr/lib/firefox/libgtkembedmoz.so #5 0x080dc190 in ?? () #6 0xb7779290 in ?? () from /usr/lib/firefox/libgtkembedmoz.so #7 0xbf97dbd8 in ?? () #8 0xb7771696 in ?? () from /usr/lib/firefox/libgtkembedmoz.so #9 0xbf97dc08 in ?? () #10 0xbf97dc04 in ?? () #11 0xbf97dbe8 in ?? () #12 0xb7689614 in nsCOMPtr_base::~nsCOMPtr_base () from /usr/lib/firefox/libxpcom_core.so #13 0xb776b84b in ?? () from /usr/lib/firefox/libgtkembedmoz.so #14 0x08072ec8 in ?? () #15 0xbf97dc78 in ?? () #16 0x00000000 in ?? ()
heeeeeeeeeeeeeeeeeelp please !
Partager