Closed
Bug 182405
Opened 23 years ago
Closed 22 years ago
Palm address book conduit installs with nonsense title
Categories
(MailNews Core Graveyard :: Palm Sync, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
mozilla1.4alpha
People
(Reporter: james, Assigned: cavin)
Details
(Whiteboard: [adt1])
Attachments
(2 files, 2 obsolete files)
|
24.69 KB,
image/jpeg
|
Details | |
|
13.20 KB,
patch
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2) Gecko/20021126
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2) Gecko/20021126
After installing the conduit the name appears in the Custom dialog of Palm
Desktop as a string of nonsense characters. This is mentioned in bug 155417 as well.
Reproducible: Always
Steps to Reproduce:
1. Install Palm conduit.
2. Open custom dialog in Palm Desktop.
Actual Results:
Address book name is nonsensical characters.
Expected Results:
Expected something similar to "Mozilla Address Book" or "Address Book"
Comment 1•23 years ago
|
||
I'm seeing more or less the same thing here. AB conduit shows up in Palm
HotSync's "Custom" dialog as ",": a single comma character with no surrounding
quotes. Shows up the same way in the HotSync progress dialog when synchonizing.
Quitting and restarting the HotSync manager has no effect.
Comment 2•23 years ago
|
||
This appears to be due to the lack of a 'Name' string in the
HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\ApplicationX registry key.
Find the currect key (the one with Conduit as C:\Program
Files\mozilla.org\Mozilla\mozABConduit.dll or whatever), and add a 'Name' string
with value 'Mozilla AddressBook'. Conduit now has that title in the list.
Comment 3•23 years ago
|
||
Thanks Pet for your findings. Will try and fix this for the 1.3 beta version in
the Mozilla palm sync install code.
Updated•23 years ago
|
Summary: Palm AB Conduit installs with nonsense title → Palm address book conduit installs with nonsense title
Updated•23 years ago
|
QA Contact: meehansqa → nbaca
Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.2.1) Gecko/20021130
Using Palm Desktop 4.1.
I can also confirm the problem, and that Pat's registry fix works.
I still can't use the "Change" button to alter the sync options for the Mozilla
Addressbook, which I originally assumed was related, but perhaps not.
Updated•23 years ago
|
| Assignee | ||
Comment 6•22 years ago
|
||
Set title to "Mozilla Address Book" (but it may be changed later).
| Assignee | ||
Comment 7•22 years ago
|
||
| Assignee | ||
Comment 8•22 years ago
|
||
Ccing Robin for title suggestion.
Comment 10•22 years ago
|
||
For (id=112449):
I think it will be a good idea to keep it in a separate resource string table so
that it can be localized and changed for Netscape releases too. You will have to
any way create a resource string table if you plan to display log messages.
Comment 11•22 years ago
|
||
The patch will help, but when the conduit starts logging I believe it will be
garbled again. The problem is that GetConduitName() in MozABConduitGenCond.cpp
is not filling in the buffer properly. It should be doing a strncpy or strcpy
into the buffer.
| Assignee | ||
Comment 12•22 years ago
|
||
From the C/C++ Sync Suite Reference manual, it looks like 'Title' is the one
being used if it's set:
"
HotSync Manager version 3.0.1 and later attempt to retrieve the name of your
conduit in this sequence:
1. Read the name entry written with the CondCfg utility or the Conduit Manager
API during conduit installation. (This refers to the 'Title' setting the patch
is doing).
2. Else call GetConduitInfo
3. Else call GetConduitName.
"
| Assignee | ||
Comment 13•22 years ago
|
||
Use 'brand short name' to construct display messages and conduit title.
Attachment #112449 -
Attachment is obsolete: true
| Assignee | ||
Updated•22 years ago
|
Attachment #113624 -
Flags: review?(ssu)
Comment 14•22 years ago
|
||
Mail triage team: nsbeta1+/adt1
Comment 15•22 years ago
|
||
Comment on attachment 113624 [details] [diff] [review]
Proposed patch, v2
sorry for the delay.
r=ssu
Attachment #113624 -
Flags: review?(ssu) → review+
| Assignee | ||
Updated•22 years ago
|
Attachment #113624 -
Flags: superreview?(sspitzer)
Comment 16•22 years ago
|
||
Comment on attachment 113624 [details] [diff] [review]
Proposed patch, v2
1)
general issue question for ssu / cavin, forgive my ignorance:
does this change make the palm sync installer use XPCOM where it wasn't before?
or is this code run inside the mozilla process? Is there anything to worry
about?
(like having multiple processes accesing the component registry, or is that
safe now?)
2)
+ nsCOMPtr<nsIStringBundleService> stringService =
do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv);
+ if (NS_FAILED(rv) || !stringService)
+ return FALSE;
checking rv is enough. it won't succeeded if do_GetService() fails to get the
service.
3)
+ nsCOMPtr<nsIStringBundle> stringBundle;
+ rv = stringService->CreateBundle("chrome://global/locale/brand.properties",
getter_AddRefs(stringBundle));
+ if (NS_FAILED(rv) || !stringBundle)
+ return FALSE;
checking rv is enough. it won't succeeded if CreateBundle() fails to create a
bundle.
4) a spin off issue:
Something seems wrong with the sentence:
"Failed to register the Mozilla's Palm Sync Support Dll"
I think you might want:
"Failed to register the Mozilla Palm Sync Support Proxy Dll"
or
"Failed to register Mozilla's Palm Sync Support Proxy Dll"
(I suggest the first, but ask robinf)
Also, I'm not sure if Dll, DLL, or dll is preferred.
sr=sspitzer, assuming issue #1 isn't a blocker. (check with ssu)
feel free to spin off the wording issue into a new bug.
Attachment #113624 -
Flags: superreview?(sspitzer) → superreview+
Comment 17•22 years ago
|
||
Comment on attachment 113624 [details] [diff] [review]
Proposed patch, v2
taking back the sr, as ssu / cavin are working out some issues.
Attachment #113624 -
Flags: superreview+
Comment 18•22 years ago
|
||
cavin and ssu are going to sort this out.
here's the conversation that ssu, cavin and I had concerning this bug:
sspitzer: ssu, is there anything to worry about with making the palm sync
installer (is it out of process?) an xpcom app?
sspitzer: or was it already?
ssu: not as far as I'm aware of because this is not the native win32 installer
(or other native installers). the palm sync installer is run after mozilla is
installed
ssu: so everything (xpcom files) should all be there
ssu: oh I just remembered something. cavin, do you know if the palm sync
installer sets a flag in the windows registry if it had been run?
sspitzer: ok, anything to worry about if more than one process is trying to use
the component registry at the same time? (mozilla + the palm sync installer)?
or do they not run concurrently?
ssu: cause the mozilla uninstaller will need to know if the palmsync installer
was run, so it can run the palmsync uninstaller
cavin: no, i don't think so
cavin: where would it set the flag?
ssu: they do not run concurrently. the palmsync installer is run by the user
after installation is done
ssu: since palmsync requires xpcom now, it can't be run by the mozilla
installer because xpcom registration would not have been done yet
ssu: not sure if this will be a requirement in the future (that the palmsync
installer be run by the mozilla installer)
ssu: cavin: not sure where it should be set. I'll swing by and chat with you
on an appropriate place
cavin: ok
ssu: this can be a different bug from the patch you did
cavin: yeah let's make it a separate problem to deal with.
sspitzer: ok, so what does this mean for cavin's bug? can we not use XPCOM yet?
cavin: i can try the mozilla uninstall scenario and see if palmsync uninstall
will be run.
ssu: we can right now because xpcom registration is done at the end of the
mozilla installer
cavin: we need to get the brand name out of our product though.
sspitzer: cavin: I think the other installer has files that need localizing
sspitzer: meaning, they don't have to live in mozilla
sspitzer: or maybe not, they just might be duplicated in the ns tree. ssu, do
you think using string bundles is the right way to fix this issue?
ssu: *thinking*
sspitzer: (like do we need a PalmSyncInstall.rc in the ns tree?)
ssu: well.. if we don't, then we'll need update the build process to do a
relink of the rc file in the ns tree
sspitzer: I'm just nervous about xpcom-component registry side effects.
ssu: we might not need a full duplicate PalmSyncInstall.rc file. I think it
supports .h files. we might be able to do soemthing with just header files
ssu: seth, okay, I'll go talk with cavin in person about build tricks with .rc
files
ssu: I'll work with him on coming up with a patch that does not require xpcom.
cavin: i actually prefer this option.
ssu: it is simpler, but I was just worried about product name changes by 3rd
party people too.
cavin: you mean brand name?
ssu: but I guess they'll have to do update another file for branding purposes
ssu: yes
ssu: not sure if they'll want everything to be called 'Mozilla'
Comment 19•22 years ago
|
||
The patch fixes some of the problems, but the Call to GetConduitName will never
return the correct information the way it is written. Below is the docs for
GetConduitName. The current impementation in MozABConduitGenCond.cpp is:
#define CONDUIT_NAME "MozABConduit"
ExportFunc long GetConduitName(char* pszName,WORD nLen)
{
pszName = CONDUIT_NAME;
return 0;
}
I have changed my local version to do:
strcpy(pszName,CONDUIT_NAME);
and without any changes to registry it displays correctly.
From: http://www.palmos.com/dev/support/docs/recipes/recipe_conduitapi.html
2. Implement GetConduitName
The GetConduitName function is called by HotSync Manager to provide the name of
a conduit. You must implement this function to return a name buffer and the
status of the operation. The following code is a sample of the GetConduitName
function:
ExportFunc long GetConduitName(char* pszName,WORD nLen)
{
long retval = -1;
// IDS_CONDUIT_NAME is maintained in the project String Table
// and contains the conduit name.
if (::LoadString((HINSTANCE)hLangInstance, IDS_CONDUIT_NAME,
pszName, nLen))
retval = 0;
return retval;
}
| Assignee | ||
Comment 20•22 years ago
|
||
Thomas, thanks for pointing it out. I'll include it in the patch as well.
| Assignee | ||
Comment 21•22 years ago
|
||
Used .rc file, instead of XPCOM / string bundles for the brand name.
Attachment #113624 -
Attachment is obsolete: true
| Assignee | ||
Comment 22•22 years ago
|
||
Comment on attachment 114392 [details] [diff] [review]
Proposed patch, v3
Carry over r=ssu,sr=sspitzer from bugscape 22615.
| Assignee | ||
Updated•22 years ago
|
Target Milestone: --- → mozilla1.4alpha
| Assignee | ||
Comment 23•22 years ago
|
||
Fix checked in.
| Assignee | ||
Comment 24•22 years ago
|
||
Marking FIXED.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Updated•21 years ago
|
Product: MailNews → Core
Updated•17 years ago
|
Product: Core → MailNews Core
You need to log in
before you can comment on or make changes to this bug.
Description
•