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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to