Bug #181
No protocols listed in IM Setings and Deskbar replicant.
| Status: | Closed | Start: | 11/04/2008 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assigned to: | % 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?
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