From owner-freebsd-gecko@FreeBSD.ORG Sat Apr 24 14:58:42 2010 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 871DA106566B for ; Sat, 24 Apr 2010 14:58:42 +0000 (UTC) (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.245.56]) by mx1.freebsd.org (Postfix) with ESMTP id 329A98FC25 for ; Sat, 24 Apr 2010 14:58:41 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.245.56]) by trillian.chruetertee.ch (8.14.3/8.14.3) with ESMTP id o3OEweON031069 for ; Sat, 24 Apr 2010 14:58:41 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.3/8.14.3/Submit) id o3OEwZZD030534 for freebsd-gecko@freebsd.org; Sat, 24 Apr 2010 14:58:35 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Sat, 24 Apr 2010 14:58:35 GMT Message-Id: <201004241458.o3OEwZZD030534@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [SVN-Commit] r311 - branches/experimental/www/firefox3-devel/files trunk/www/firefox3-devel/files X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-gecko@freebsd.org List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Apr 2010 14:58:42 -0000 Author: beat Date: Sat Apr 24 14:58:35 2010 New Revision: 311 Log: - Sync patch patch-xpcom-reflect-xptinfo-src-xptiInterfaceInfoManager.cpp with Mozilla Bugtracker. Obtained from: https://bugzilla.mozilla.org/show_bug.cgi?id=551152 Modified: branches/experimental/www/firefox3-devel/files/patch-xpcom-reflect-xptinfo-src-xptiInterfaceInfoManager.cpp trunk/www/firefox3-devel/files/patch-xpcom-reflect-xptinfo-src-xptiInterfaceInfoManager.cpp Modified: branches/experimental/www/firefox3-devel/files/patch-xpcom-reflect-xptinfo-src-xptiInterfaceInfoManager.cpp ============================================================================== --- branches/experimental/www/firefox3-devel/files/patch-xpcom-reflect-xptinfo-src-xptiInterfaceInfoManager.cpp Sat Apr 24 11:34:24 2010 (r310) +++ branches/experimental/www/firefox3-devel/files/patch-xpcom-reflect-xptinfo-src-xptiInterfaceInfoManager.cpp Sat Apr 24 14:58:35 2010 (r311) @@ -1,20 +1,23 @@ ---- xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp.orig +--- xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp +++ xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp -@@ -633,10 +633,17 @@ IndexOfDirectoryOfFile(nsISupportsArray* +@@ -629,16 +629,17 @@ IndexOfDirectoryOfFile(nsISupportsArray* aSearchPath, nsILocalFile* aFile) + NS_ASSERTION(count, "broken search path! bad count"); + for(PRUint32 i = 0; i < count; i++) + { +- nsCOMPtr current; ++ nsCOMPtr current, normalized; aSearchPath->QueryElementAt(i, NS_GET_IID(nsIFile), getter_AddRefs(current)); NS_ASSERTION(current, "broken search path! bad element"); -+#if 0 -+ // XXX #if 0'd because this breaks -+ // xptiInterfaceInfoManager::DoFullValidationMergeFromFileList() -+ // causing ff failing to start when there are symlinks in .xpt -+ // file paths, like those from addons when /home is a symlink. -+ // nsIFile::Equals basically compares path strings so normalize // before the comparison. parent->Normalize(); - current->Normalize(); -+#endif +- current->Normalize(); ++ current->Clone(getter_AddRefs(normalized)); ++ normalized->Normalize(); PRBool same; - if (NS_SUCCEEDED(parent->Equals(current, &same)) && same) +- if (NS_SUCCEEDED(parent->Equals(current, &same)) && same) ++ if (NS_SUCCEEDED(parent->Equals(normalized, &same)) && same) return (int) i; + } + } Modified: trunk/www/firefox3-devel/files/patch-xpcom-reflect-xptinfo-src-xptiInterfaceInfoManager.cpp ============================================================================== --- trunk/www/firefox3-devel/files/patch-xpcom-reflect-xptinfo-src-xptiInterfaceInfoManager.cpp Sat Apr 24 11:34:24 2010 (r310) +++ trunk/www/firefox3-devel/files/patch-xpcom-reflect-xptinfo-src-xptiInterfaceInfoManager.cpp Sat Apr 24 14:58:35 2010 (r311) @@ -1,20 +1,23 @@ ---- xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp.orig +--- xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp +++ xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp -@@ -633,10 +633,17 @@ IndexOfDirectoryOfFile(nsISupportsArray* +@@ -629,16 +629,17 @@ IndexOfDirectoryOfFile(nsISupportsArray* aSearchPath, nsILocalFile* aFile) + NS_ASSERTION(count, "broken search path! bad count"); + for(PRUint32 i = 0; i < count; i++) + { +- nsCOMPtr current; ++ nsCOMPtr current, normalized; aSearchPath->QueryElementAt(i, NS_GET_IID(nsIFile), getter_AddRefs(current)); NS_ASSERTION(current, "broken search path! bad element"); -+#if 0 -+ // XXX #if 0'd because this breaks -+ // xptiInterfaceInfoManager::DoFullValidationMergeFromFileList() -+ // causing ff failing to start when there are symlinks in .xpt -+ // file paths, like those from addons when /home is a symlink. -+ // nsIFile::Equals basically compares path strings so normalize // before the comparison. parent->Normalize(); - current->Normalize(); -+#endif +- current->Normalize(); ++ current->Clone(getter_AddRefs(normalized)); ++ normalized->Normalize(); PRBool same; - if (NS_SUCCEEDED(parent->Equals(current, &same)) && same) +- if (NS_SUCCEEDED(parent->Equals(current, &same)) && same) ++ if (NS_SUCCEEDED(parent->Equals(normalized, &same)) && same) return (int) i; + } + }