Closed Bug 630162 Opened 14 years ago Closed 14 years ago

Cannot global search at all if "watch" tag is used

Categories

(Thunderbird :: Search, defect)

defect
Not set
major

Tracking

(Not tracked)

VERIFIED DUPLICATE of bug 609941

People

(Reporter: bugzilla, Unassigned)

Details

Attachments

(1 file)

Step to Reproduce: 1. Define "watch" tag in Preferences -> Display -> Tags -> Add. 2. Add "watch" tag to any messages. 3. Restart Thunderbird (or wait until gloda db become up-to-date?). 4. Global search with any strings or any mail address 5. Search result tab will be shown with "Searching…" forever... 6. Open Error Console, and you'll see following error: Error: groups[valId].push is not a function Source File: file:/// ... /Thunderbird.app/Contents/MacOS/modules/gloda/facet.js Line: 378 Expected Result: Gloda search should be shown even when we use "watch" tag. I'll attach workaround patch.
Attached patch workaround patchSplinter Review
patch to avoid error just checking push() method existence Sorry this is just workaround, not complete one.
http://mxr.mozilla.org/comm-central/source/mailnews/db/gloda/modules/facet.js#390 365 facetComplexItems: function(aItems) { ... 380 for each (let [, val] in Iterator(vals)) { ... 389 if (groupMap.hasOwnProperty(valId)) { 390 groups[valId].push(item); 391 } 392 else { 393 groupMap[valId] = val; 394 groups[valId] = [item]; 395 this.groupCount++; 396 } 397 } 398 } As far as checked, valId will be "watch" and groups[valId] will be the watch native method (of Object.prototype, maybe). In that case groups[valId] is not Array but Function and it never have push() method. groupMap seems to contains tag name list and valId should be tag name. But if the valId is same as native properties name (if user use tags named like "watch", "valueOf", "toString" etc), groups[valId] will be native properites, not Array generated in line 394. Sorry I cannot take enough time to understand the code and write appropriate patch now. I hope this is enough information you can understand and fix the problem.
Exactly which version of Thunderbird are you using? (available from Help -> About). This looks like a duplicate of bug 609941 that has been fixed for 3.1.8 which is due out next week.
Aha... sorry, it looks like yes. I'll check a little more with other profiles tomorrow. Once I confirmed, I'll mark this bug as duplicate.
I confirmed bug 609941 solved this problem. Sorry, the patch was not actually I tested. I changed with 3.1.7: - if (valId in groupMap) { + if (valId in groupMap && groups[valId].push) { but when I write patch (with hg files), I didn't noticed about the diff...
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: