[fxruby-users] FXRuby and multithreading

ujb1 at gmx.de ujb1 at gmx.de
Thu Sep 1 09:11:27 EDT 2005


Hello fxruby-users,

does anybody have experience with FXRuby and multithreading?
My Problem:
- I populate a FXTreeList widget with items. This is done in an extra worker
thread, as this task takes some minutes
- In the meantime, the user can continue to work with the application.

All works fine, until the user opens a modal window (e.g. a FXMessageBox).
Sometimes FXRuby crashes with an acess violation in FXWindow::getShell:

while((p=win->parent) && p->parent) win=p;
p seems to be invalid in this situation
The this-pointer seems to be ok and points to the MXMessageBox.
The processed message is a WM_KILLFOCUS message


FX::FXWindow::getShell() line 383 + 18 bytes
FX::FXApp::dispatchEvent(void * 0x002b1b58, unsigned int 8, unsigned int 0,
long 0) line 3943 + 8 bytes
FX::FXApp::wndproc(void * 0x002b1b58, unsigned int 8, unsigned int 0, long
0) line 3446
USER32! InternalCallWinProc at 20 + 27 bytes
USER32! UserCallWinProcCheckWow at 32 + 183 bytes
USER32! DispatchClientMessage at 20 + 77 bytes
USER32! __fnDWORD at 4 + 34 bytes
NTDLL! KiUserCallbackDispatcher at 12 + 19 bytes
USER32! 77d49105()
USER32! SoftModalMessageBox at 4 + 1380 bytes
USER32! MessageBoxWorker at 4 + 314 bytes
USER32! MessageBoxTimeoutW at 24 + 89 bytes
USER32! SoftModalMessageBox at 4 + 1380 bytes
USER32! MessageBoxWorker at 4 + 314 bytes
USER32! MessageBoxTimeoutW at 24 + 89 bytes
USER32! MessageBoxWorker at 4 + 314 bytes
USER32! MessageBoxTimeoutA at 24 + 111 bytes
NTDLL! RtlImageDirectoryEntryToData at 16 + 61 bytes
023f83dc()

ruby 1.8.2
fxruby 1.2.6

regards

Dirk

-- 
5 GB Mailbox, 50 FreeSMS http://www.gmx.net/de/go/promail
+++ GMX - die erste Adresse für Mail, Message, More +++


More information about the fxruby-users mailing list