当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : gtk运行时出现这样的错误时怎么回事?
帖子发表于 : 2010-07-20 17:24 
头像

注册: 2010-04-08 11:03
帖子: 57
送出感谢: 0 次
接收感谢: 0 次
程序在编译的时候没有出错,但是运行时却是出现这样的错误信息:
(xxx:3676):Gtk-CRITICAL **:gtk_window_set_position:essertion 'GTK_IS_WINDOW(window)' failed
(xxx:3676):Gtk-CRITICAL **:gtk_image_set_from_pixbuf:assertion 'GTK_IS_IMAGE(image)' failed
(xxx:3676):GLib-GObject-WARING **: invalid(NULL) pointer instance
( xxx:3676):GLib-GObject-CRITICAL **:g_signal_connect_data: assertion 'GTK_TYPE_CHECK_INSTANCE(instance)' failed
(xxx:3676):GLib-GObject-WARING **: invalid(NULL) pointer instance
( xxx:3676):GLib-GObject-CRITICAL **:g_signal_connect_data: assertion 'GTK_TYPE_CHECK_INSTANCE(instance)' failed
(xxx:3676):GLib-GObject-WARING **: invalid(NULL) pointer instance
( xxx:3676):GLib-GObject-CRITICAL **:g_signal_connect_data: assertion 'GTK_TYPE_CHECK_INSTANCE(instance)' failed
(xxx:3676):GLib-GObject-WARING **: invalid(NULL) pointer instance
( xxx:3676):GLib-GObject-CRITICAL **:g_signal_connect_data: assertion 'GTK_TYPE_CHECK_INSTANCE(instance)' failed
(xxx:3676):GLib-GObject-WARING **: invalid(NULL) pointer instance
( xxx:3676):GLib-GObject-CRITICAL **:g_signal_connect_data: assertion 'GTK_TYPE_CHECK_INSTANCE(instance)' failed
( xxx:3676):Gtk-CRITICAL **:gtk_widget_show_all: assertion 'GTK_IS_WIDGET(widget)' failed
请问这是怎么回事,我在suse 里面已经将gtk,x11,wxwidget等都已经安装了。
请各位指导下小弟,小弟感激不尽,小弟先谢了!


_________________
这条路很远很漫长也很坎坷,但是要淡定,要风骚


页首
 用户资料  
 
2 楼 
 文章标题 : Re: gtk运行时出现这样的错误时怎么回事?
帖子发表于 : 2010-07-20 21:17 
头像

注册: 2007-09-29 3:09
帖子: 5777
送出感谢: 0 次
接收感谢: 5
普通的警告信息而已,仔细检查你的代码


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
3 楼 
 文章标题 : Re: gtk运行时出现这样的错误时怎么回事?
帖子发表于 : 2010-07-21 9:04 
头像

注册: 2010-04-08 11:03
帖子: 57
送出感谢: 0 次
接收感谢: 0 次
HuntXu 写道:
普通的警告信息而已,仔细检查你的代码

谢谢!代码在Ubuntu下面可以运行,没有出现这样的情况,可是一直到suse里面编译通过但是运行的时候出现这种错误,请问这是怎么回事,麻烦指导下!谢谢!


_________________
这条路很远很漫长也很坎坷,但是要淡定,要风骚


页首
 用户资料  
 
4 楼 
 文章标题 : Re: gtk运行时出现这样的错误时怎么回事?
帖子发表于 : 2010-07-21 22:09 
头像

注册: 2007-09-29 3:09
帖子: 5777
送出感谢: 0 次
接收感谢: 5
glib2和gtk2编译参数的问题,发行版使用不同的参数而已,有些警告隐藏了有些没有隐藏,错误原因是GTK_TYPE_CHECK_INSTANCE(instance)里面传了一个空指针于是产生了一个assertion,所以才让你检查代码的。具体自己看gtk2或者glib2的源码吧。不过像我用--disable-debug这样编译的话,这个assertion被跳过了,于是直接segfault,所以还是要注意一下的


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
5 楼 
 文章标题 : Re: gtk运行时出现这样的错误时怎么回事?
帖子发表于 : 2010-07-22 11:59 
头像

注册: 2010-04-08 11:03
帖子: 57
送出感谢: 0 次
接收感谢: 0 次
谢谢!我将出错的源程序贴出来:
g_window = GTK_WIDGET(gtk_builder_get_object(g_builder, "window"));
gtk_window_set_position(GTK_WINDOW(g_window), GTK_WIN_POS_CENTER);
button=GTK_WIDGET(gtk_builder_get_object(g_builder,"btnOk"));
button1=GTK_WIDGET(gtk_builder_get_object(g_builder,"btnCancel"));
button2=GTK_WIDGET(gtk_builder_get_object(g_builder,"btnAbout"));

radiobutton4=GTK_WIDGET(gtk_builder_get_object(g_builder,"radiobutton4"));
radiobutton9=GTK_WIDGET(gtk_builder_get_object(g_builder,"radiobutton9"));
radiobutton20=GTK_WIDGET(gtk_builder_get_object(g_builder,"radiobutton20"));

Orient_Dots=9;
image_point=GTK_WIDGET(gtk_builder_get_object(g_builder,"imageDot"));
point_9 = gdk_pixbuf_new_from_inline (28208+24,point9_sl,TRUE,NULL);
gtk_image_set_from_pixbuf(GTK_IMAGE(image_point),point_9);
gdk_pixbuf_unref (point_9);
g_signal_connect( G_OBJECT(button), "clicked",G_CALLBACK(on_btnOk_clicked), NULL);
g_signal_connect( G_OBJECT(button1), "clicked",G_CALLBACK(on_btnCancel_clicked), NULL);
g_signal_connect( G_OBJECT(button2), "clicked",G_CALLBACK(on_btnAbout_clicked), NULL);
g_signal_connect ((gpointer) radiobutton4, "toggled",G_CALLBACK (on_radiobutton4_toggled), (gpointer) g_window);
g_signal_connect ((gpointer) radiobutton9, "toggled",G_CALLBACK (on_radiobutton9_toggled), (gpointer) g_window);
g_signal_connect ((gpointer) radiobutton20, "toggled",G_CALLBACK (on_radiobutton20_toggled),(gpointer) g_window);
g_signal_connect(GTK_OBJECT(g_window),"key_press_event",GTK_SIGNAL_FUNC(on_dotselet_press_event),NULL);
gtk_builder_connect_signals(g_builder, NULL);
gtk_widget_show_all(g_window);
调试的时候在第二句就开始出现提示的错误,其中的g_builder是全局变量,由 g_builder = gtk_builder_new();
gtk_builder_add_from_file(g_builder, GLADE_FILE_LANG, NULL);
获得,但是g_signal_connect函数中的参数本身都没有问题,但是为什么会有上面的错误呢?麻烦您指导下!谢谢!


_________________
这条路很远很漫长也很坎坷,但是要淡定,要风骚


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译