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<nsIFile> current; ++ nsCOMPtr<nsIFile> 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<nsIFile> current; ++ nsCOMPtr<nsIFile> 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; + } + } _______________________________________________ freebsd-gecko@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-gecko To unsubscribe, send any mail to "freebsd-gecko-unsubscr...@freebsd.org"