IA__gdk_gc_new: assertion 'drawable != NULL' failed
来源:互联网 发布:网络新词汇 编辑:程序博客网 时间:2024/06/05 11:29
在睡意朦胧之际,记录下晚上的一个小错误。
先说一下导致这个错误的代码片段:
draw_able=draw_area->window;
gc=gdk_gc_new(draw_able);
事实上,单单看这个片段是看不出原因的,出错说:因为draw_able!=NULL是失败的导致的,就是说我们的draw_able是NULL的。不可能啊,前面不是有一个draw_able=draw_area->window了吗?
后来我查看了下网上的说法,在窗口还没显示前,空窗口不可用。也就是说draw_area->window还是个没有显示的空窗口。 要在显示了之后才能用,所以我们在显示后再调用这两个语句。(为什么显示后才行呢)
我还是一知半解,但是解决的关键确实是这样的,在gtk_widget_show(draw_area);
gtk_widget_show(window);这两句显示窗口的语句后再调用前面说到的出错代码段,再次执行,错误解除。
因为GdkGC在绘图中经常要用到,而且是用到不同的gc,(不同颜色),所以我希望一开始就能初始化好一些。
但是如果直接gc1=gc;gdk_gc_set_rgb_fg_color(gc1,&color_white);//color_white是自己定义的color
是不行的,因为指针传地址,直接把原来gc的值也给改变了,弄来弄去所有的gc都是一个样了。
所以要想事先定义好gc方便使用,应这样:
gc_white=gdk_gc_new(draw_able);gc_red=gdk_gc_new(draw_able);gc_green=gdk_gc_new(draw_able);gdk_gc_set_rgb_fg_color(gc_white,&color_white);gdk_gc_set_rgb_fg_color(gc_green,&color_green);gdk_gc_set_rgb_fg_color(gc_red,&color_red);
0 0
- IA__gdk_gc_new: assertion 'drawable != NULL' failed
- gedit assertion `lang != NULL' failed
- debug assertion failed stream!=NULL
- C 运行错误:debug assertion failed,stream!=null
- GTk gdk_draw_pixbuf: assertion 'GDK_IS_DRAWABLE(drawable)'failed
- Debug Assertion Failed!错误 关于m_File.m_hFile != NULL 和m_File.m_hFile != CFile::hFileNull 问题
- apache 的error日志:Pango-CRITICAL **: pango_context_load_font: assertion `pango_font_description_get_family (desc) != NULL' failed
- 错误提示: Debug Assertion Failed! Program:... File:fclose.c Expression: (stream!=NULL)
- dll中调用对话框,出现Debug Assertion Failed!停在 ENSURE(this != NULL)
- assertion failed!
- assertion failed:
- 【Debug Assertion Failed!Expression:_pFirstBlock ==
- OpenCV Error: Assertion failed (s >= 0)
- Debug Assertion Failed
- debug assertion failed
- Debug Assertion Failed解决方法! !!
- Debug Assertion Failed!
- Debug Assertion Failed!
- 汇编语言->Makefile
- What is a Full Stack developer?
- Excel的float转字符
- MIT算法导论第七讲学习笔记-哈希表(Hashing)
- servlet中ServletConfig实例
- IA__gdk_gc_new: assertion 'drawable != NULL' failed
- 处理linux服务器cpu的wa%值过高
- unity 跑酷游戏开发笔记(二)
- 关于ActiveMQ大数据量时的无能为力
- 问题解决 Java浮点数的精度及解决方法
- 系统论
- Remote Thread Execution in System Process using NtCreateThreadEx for Vista & Windows7
- BMP转成C语言数组文件工具(用image2lcd代替bmp2h.exe)
- 通过借用构造函数解决超类型构造函数传参