From: Adil <ad...@ya...> - 2006-10-26 02:54:34
|
--- Richard Laager <rl...@wi...> wrote: > With the debug window open, if I choose "Show > formatting toolbar" from > an open IM conversation, Gaim hangs. This doesn't > happen if the debug > window is closed. Here's the backtrace: If I am seeing things correctly, there are two problems here: 1) The 'Conversation -> More' submenu is generated whenever the 'Conversation' menu pops up. To make sure the regeneration doesn't happen every time the user shifts the focus from 'conversation' to some other menu and back, the regeneration is disabled (by blocking a signal) for as long as the menubar is active. If the user never selects the 'Conversation' menu, then the 'More' submenu is never generated, and so when the menu is deactivated, it throws a glib-warning message when trying to unblock the signal. Attached patch conv_more.patch fixes this. 2) If there's no blocked signal on some instance, and you try to unblock the signal, then it throws a glib-warning message. If the debug window is open at that time, then Gaim attempts to write the debug-message in the window, which causes another signal to be emitted (row-inserted). This causes a lock on gsignal.c:g_signal_mutex. A possible work-around is to print the glib-debug messages in a 0-timeout callback (glib_log.patch). I can commit the patches if someone doesn't find anything wrong with them. Sadrul __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |