From dada5bf4219f58db7078335332e93995ab836704 Mon Sep 17 00:00:00 2001 From: Dietrich Ayala Date: Tue, 19 May 2009 01:07:01 +0200 Subject: [PATCH] Bug 492802 - library details pane is refreshed on focus even when contents haven't changed, r=mak77 --- .../places/content/editBookmarkOverlay.js | 4 ++++ browser/components/places/content/places.js | 13 ++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/browser/components/places/content/editBookmarkOverlay.js b/browser/components/places/content/editBookmarkOverlay.js index 028025e9c44..fd8a388e8c2 100644 --- a/browser/components/places/content/editBookmarkOverlay.js +++ b/browser/components/places/content/editBookmarkOverlay.js @@ -63,6 +63,10 @@ var gEditItemOverlay = { return this._itemId; }, + get uri() { + return this._uri; + }, + get multiEdit() { return this._multiEdit; }, diff --git a/browser/components/places/content/places.js b/browser/components/places/content/places.js index 88d2e1e7274..7f997c9da6e 100644 --- a/browser/components/places/content/places.js +++ b/browser/components/places/content/places.js @@ -667,9 +667,16 @@ var PlacesOrganizer = { // don't update the panel if we are already editing this node unless we're // in multi-edit mode - if (aSelectedNode && gEditItemOverlay.itemId == aSelectedNode.itemId && - detailsDeck.selectedIndex == 1 && !gEditItemOverlay.multiEdit) - return; + if (aSelectedNode) { + var concreteId = PlacesUtils.getConcreteItemId(aSelectedNode); + var nodeIsSame = gEditItemOverlay.itemId == aSelectedNode.itemId || + gEditItemOverlay.itemId == concreteId || + (aSelectedNode.itemId == -1 && gEditItemOverlay.uri && + gEditItemOverlay.uri == aSelectedNode.uri); + if (nodeIsSame && detailsDeck.selectedIndex == 1 && + !gEditItemOverlay.multiEdit) + return; + } } // Clean up the panel before initing it again.