Bug #181

No protocols listed in IM Setings and Deskbar replicant.

Added by Bruno Albuquerque almost 2 years ago. Updated almost 2 years ago.

Status:Closed Start:11/04/2008
Priority:Normal Due date:
Assigned to:Pier Luigi Fiorini % Done:

100%

Category:ProtocolLoader Spent time: 1.00 hour
Target version:0.9.2
Operating System:Haiku

Description

After slaad's recent changes to get protocols loaded on their own teams, protocols are not being listed anymore in IM Settings or the Deskbar replicant.

Maybe they were not adapted to the new interface?


Related issues

related to IM Kit - Feature #185: Support multiple accounts Rejected 11/05/2008

History

Updated by Michael Davidson almost 2 years ago

In the log output do you see a bunch of ProtocolLoader related messages? In ProcessController are there several ProtocolLoader's listed? There should be one for each Protocol you have - one of the threads under each instance will be named as the protocol it's responsible for.

You might need to uninstall and re-install the DeskbarIcon as it has been changed. If you look in utils/DeskbarIcon/DeskbarIcon.cpp at Line 502 you'll see it handles a new message; IM::LOADED_PROTOCOLS_CHANGED - do a msg->PrintToStream() there and see if its actually getting that message. If it isn't, look in server/im_server.cpp and find where it broadcasts the LOADED_PROTOCOLS_CHANGED message.

Updated by Pier Luigi Fiorini almost 2 years ago

  • Assigned to set to Pier Luigi Fiorini

Updated by Pier Luigi Fiorini almost 2 years ago

  • Status changed from New to Assigned

No ProtocolLoader is listed in Process Controller.
I can't see message dump from DeskbarIcon (maybe because it is a different process?).
This issue needs investigation, I will check better tonight.

Updated by Michael Davidson almost 2 years ago

On Zeta, at least, the LOG messages from ProtocolLoader still appear for im_server.

The other possibility is it isn't finding the ProtocolLoader - have a look at server/ProtocolManager.cpp ~76 and see if the call to be_roster->FindApp() is returning non-B_OK, and what fLoaderPath is being populated with.

Updated by Pier Luigi Fiorini almost 2 years ago

For some still unknown reason, if I do a query with the following formula:

((BEOS:APP_SIG=="application/x-vnd.im_kit.protocol_loader")&&(BEOS:TYPE=="application/x-vnd.Be-elfexecutable"))

It opens a Tracker window with /boot/apps/im_kit/ProtocolLoader listed, but:
be_roster->FindApp(IM_PROTOCOL_LOADER_SIG, &ref);

don't find it.

I also added some logs to the ProtocolManager...

Updated by Pier Luigi Fiorini almost 2 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

Also available in: Atom PDF