GTK2随机崩溃


1

我有一个用C语言编写的小程序,想向其中添加GUI,因此环顾四周后,我决定使用GTK +。我使用MacPorts安装了gtk2(安装的版本是gtk2 @ 2.24.18_1 + x11)。

我正在用编译程序

gcc -Wall -Wextra -pendantic `pkg-config --libs --cflags gtk+-2.0` myprogram.c -lpthread -o myprogram

编译过程中没有错误,但是当我运行它时,经过一段时间后,我会出现随机错误,例如:

Gdk:ERROR:gdkregion-generic.c:1110:void miUnionNonO(GdkRegion *, GdkRegionBox *, GdkRegionBox *, gint, gint): assertion failed: (y1 < y2)

Gdk:ERROR:gdkregion-generic.c:337:void miSetExtents(GdkRegion *): assertion failed: (pExtents->y1 < pExtents->y2)

Assertion failed: (ret != inval_id), function _XAllocID, file xcb_io.c, line 529.

Fatal IO error 35 (Resource temporarily unavailable) on X server /tmp/launch-7OAilk/org.macosforge.xquartz:0.

Assertion failed: (! xcb_xlib_unknown_req_in_deq), function dequeue_pending_request, file xcb_io.c, line 179.

在我看来,这些错误是由Gtk / Gdk / XQuartz中的错误引起的,有没有简单的方法可以解决此问题?

我正在运行OS X Mountain Lion 10.8.4,XCode 4.6.2和XQuartz 2.7.4(xorg-server 1.13.0)。

Answers:


0

实际上,这似乎是我编程不佳的结果。我试图从与调用的线程不同的线程执行绘图Gtk_Main,导致未定义的行为以及上述各种错误消息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.