Hi everybody, I am developping the licq-osd plugin, and I got a bug report, which I am unable to solve. I send now this message to this list, as I dont know if it is an error in my plugin, or if it is the plugin handling code of licq. (Unfortunately I was unable to reproduce the error, but I got a few different people who have this problem)
Bug report on SF.net I use licq 1.2.4 and the kde-gui plugin compiled under KDE 3.1 and qt3.1. When I enable the osd plugin, licq does not start properly the next time. I get an osd message that xosd has been initialized, but the kde-gui does not appear. If I configure licq to start up docked in the KDE panel, and otherwise repeat everything as above, the next time I start licq, I get the osd message, but the dock icon does never appear. ------------------------------------------------ Actually this problem happens with qt only gui and gtk gui too. It doesnt work with licq-1.2.6 too. The config files are okay at any time (always both plugins are listed and NumPlugins=2) the following output is done by licq -d15 with qt-gui and licq-osd already loaded the startup before. 14:14:28: [INI] OSD Plugin initializing 14:14:28: [INI] Owner configuration. 14:14:28: [INI] User configuration. 14:14:28: [INI] Loading 70 users. 14:14:28: [INI] Loading saved auto-responses. 14:14:28: [INI] Loading utilities. 14:14:28: [TCP] Local TCP server started on port 4800. 14:14:28: [INI] Opening fifo. 14:14:28: [INI] Spawning daemon threads. 14:14:28: [INI] Starting plugin Qt GUI (version 1.2.6). 14:14:28: [INI] Starting plugin OSD Plugin (version 1.2.4a). now it blocks forever. echo "exit" > .licq/licq_fifo 14:14:45: [FIF] Received string: `exit' 14:14:45: [END] Shutting down daemon. 14:14:45: [INI] OSD Plugin shutting down 14:14:45: [END] Plugin OSD Plugin exited with code 0. 14:14:55: [WRN] Plugin Qt GUI failed to exit. I think this might be a threading problem, as it doesnt happen on all machines. some sourcecode lines (of the osd plugin), which use the licq libraries. _licqDaemon->RegisterPlugin(SIGNAL_UPDATExUSER); CICQSignal *s = _licqDaemon->PopPluginSignal(); gUserManager.OwnerUin() // the following commands are in this order in the sourcecode u=gUserManager.FetchUser(s->Uin(), LOCK_R); // do I have to release this event id some time ? e=u->EventPeekId(s->Argument()); u->GetAlias(); u->GetAlias(); u->OnlineNotify(); gUserManager.DropUser(u); _licqDaemon->UnregisterPlugin(); This should be all the calls which use the external libraries. (except some calls on the CICQSignal structure getting some values of the signal (Uin,...)) one further question: u->EventClearId(nId); do I need to do this ? (it is done in some plugins and not in others) i guess i dont have to do this, as the qt-gui plugin is responsible for this? otherwise - could this be the reason for the lockups? greetings Martin Maurer
signature.asc
Description: This is a digitally signed message part