Search code examples
c++linuxcrashwxwidgetsboost-thread

Crash with boost::thread


I am using wxwidgets together with boost::thread. The Thread is a worker thread which sends some Events to the GUI:

Thread creation:

thrd = boost::thread(boost::bind(workerFunction,this));

Send Message to the GUI:

wxPostEvent(loWindow, event);
wxSafeYield();

Under Windows I don't see any problems, but when starting the application under Linux (Ubuntu 8.10), it stops with the following error message:

_XCBUnlockDisplay: Assertion `xcb_get_request_sent(dpy->xcb->connection) == dpy->request' failed.
Aborted

What am I missing? When the workerFunction is not started in a thread, it works without problems.

Regards, /mspoerr


Solution

  • The problem was with the data I sent - for complex data you need to use custom events. I now implemented a custom event and it works.

    For more information please see http://forums.wxwidgets.org/viewtopic.php?t=24663

    Thank you for your help!

    /mspoerr

    EDIT: Updated the link. The old one was broken