Closed
Bug 955711
Opened 10 years ago
Closed 10 years ago
Buddy disappears when detached in the Other Contacts tag
Categories
(Instantbird Graveyard :: Contacts window, defect)
Instantbird Graveyard
Contacts window
Tracking
(Not tracked)
RESOLVED
FIXED
1.5
People
(Reporter: aleth, Assigned: aleth)
Details
Attachments
(1 file, 1 obsolete file)
1.55 KB,
patch
|
florian
:
review+
|
Details | Diff | Splinter Review |
*** Original post on bio 2262 at 2013-11-29 14:47:00 UTC *** Add a (currently visible) tag to a contact in Other Contacts. The additional tag is shown with the contact in it, but the contact does not disapper from Other Contacts. Detach a buddy from a merged contact in Other Contacts. The buddy disappears.
Assignee | ||
Comment 1•10 years ago
|
||
*** Original post on bio 2262 as attmnt 3102 at 2013-11-30 15:03:00 UTC *** Can't reproduce the first issue. Maybe I got into a strange state after discovering the second issue, which this patch fixes. Also adds a this._observers check which prevents a shutdown error when quitting when a contact is expanded (removeObserver is called from the buddy binding destructor).
Attachment #8354885 -
Flags: review?(florian)
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → aleth
Status: NEW → ASSIGNED
Assignee | ||
Updated•10 years ago
|
Summary: Contacts in Other Contacts tag behave badly → Buddy disappears when detached in the Other Contacts tag
Comment 2•10 years ago
|
||
Comment on attachment 8354885 [details] [diff] [review] Patch *** Original change on bio 2262 attmnt 3102 at 2013-12-01 17:25:00 UTC *** >diff --git a/chat/components/src/imContacts.js b/chat/components/src/imContacts.js >index 3af12db..a621805 100644 >--- a/chat/components/src/imContacts.js >+++ b/chat/components/src/imContacts.js >@@ -291,16 +291,24 @@ var otherContactsTag = { > aSubject.getTags().every(function(t) t.id in this._hiddenTags, this)) > this._addContact(aSubject); > } > else if (aSubject.id in this._contacts && > (aTopic == "contact-removed" || > (aTopic == "contact-tag-added" && > !(parseInt(aData) in this._hiddenTags)))) > this._removeContact(aSubject); >+ else if (aTopic == "contact-tag-added" && >+ !(aSubject.id in this._contacts) && >+ parseInt(aData) in this._hiddenTags && >+ aSubject.getTags().every(function(t) t.id in this._hiddenTags, this)) { >+ // This happens when detaching a buddy from a contact that has only >+ // hidden tags. >+ this._addContact(aSubject); >+ } Shouldn't detaching a buddy from a contact trigger a "contact-added" notification from the detachBuddy method, so that we go through the normal code path? > removeObserver: function(aObserver) { >+ if (!this.hasOwnProperty("_observers")) I assume you copied this from the Contact.prototype.removeObserver method, but I don't see why we would need an hasOwnProperty call here. Can't we just do: if (!this._observers) ?
Attachment #8354885 -
Flags: review?(florian) → review-
Assignee | ||
Comment 3•10 years ago
|
||
*** Original post on bio 2262 as attmnt 3106 at 2013-12-01 18:38:00 UTC was without comment, so any subsequent comment numbers will be shifted ***
Attachment #8354890 -
Flags: review?(florian)
Assignee | ||
Comment 4•10 years ago
|
||
Comment on attachment 8354885 [details] [diff] [review] Patch *** Original change on bio 2262 attmnt 3102 at 2013-12-01 18:38:06 UTC was without comment, so any subsequent comment numbers will be shifted ***
Attachment #8354885 -
Attachment is obsolete: true
Comment 5•10 years ago
|
||
Comment on attachment 8354890 [details] [diff] [review] Patch2 *** Original change on bio 2262 attmnt 3106 at 2013-12-01 23:18:32 UTC *** This seems reasonable; let's try it! :)
Attachment #8354890 -
Flags: review?(florian) → review+
Comment 6•10 years ago
|
||
*** Original post on bio 2262 at 2013-12-01 23:31:07 UTC *** http://hg.instantbird.org/instantbird/rev/23b989438ddc
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.5
You need to log in
before you can comment on or make changes to this bug.
Description
•