Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I have a small program in C that I wanted to add a GUI to, so after looking around I decided to use GTK+. I installed gtk2 using MacPorts (version installed was gtk2 @2.24.18_1+x11).

I am compiling my program with

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

There are no errors during compilation, but when I run it, after some amount of time I will get random errors appearing such as:

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.

It looks to me like these errors are caused by a bug in Gtk/Gdk/XQuartz, is there any easy way to fix this?

I am running OS X Mountain Lion 10.8.4, XCode 4.6.2, and XQuartz 2.7.4 (xorg-server 1.13.0).

share|improve this question

1 Answer 1

up vote 0 down vote accepted

This seems actually to just be a result of my poor programming. I was trying to perform drawing from a thread which was not the same thread that called Gtk_Main, resulting in undefined behaviour and the various error messages above.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.