From 71dfde0760b13ea318c656ddead128dbe634597d Mon Sep 17 00:00:00 2001
From: kwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>
Date: Wed, 24 Aug 2011 10:43:50 +0000
Subject: Clean up after libproxy,libnotify,poppler*,webkit-gtk2 and glib+gtk
 updates.

git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@16129 df743ca5-7f9a-e211-a948-0013205c9059
---
 .../files/patch-modules-libpref-src-prefapi.cpp    | 102 ---------------------
 1 file changed, 102 deletions(-)
 delete mode 100644 www/libxul/files/patch-modules-libpref-src-prefapi.cpp

(limited to 'www/libxul/files/patch-modules-libpref-src-prefapi.cpp')

diff --git a/www/libxul/files/patch-modules-libpref-src-prefapi.cpp b/www/libxul/files/patch-modules-libpref-src-prefapi.cpp
deleted file mode 100644
index 159f0d434..000000000
--- a/www/libxul/files/patch-modules-libpref-src-prefapi.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-This bug is due to the fact, applications are restarted before extension
-defaults are loaded.
-
-To reproduce, choose any preference and set the values like:
-system default:
-  pref("prefkey",systemvalue);
-extension default:
-  pref("prefkey", extensiondefault);
-user pref:
-  user_pref("prefkey", systemvalue);
-
-Next, trigger application behaviour similar to upgrade by removing compreg.dat
-from profile and start the application.
-
-Result:
-User sees extensiondefault after upgrade, because the user_pref has been
-eliminated ... which is definitly not what the user expects because he explicitly
-had *systemvalue* set before the upgrade.
-
-Evaluation:
-The bug happens because restart is performed *before* extension defaults have been
-loaded and the prefapi.cpp always eliminate user preference if the user preference
-is equal to the actual default (which happens to be extensiondefault normally  - so
-no reset, but is systemvalue during restart).
-
-Fix:
-1. savePrefs should not try to be smart ... this patch removes the heuristic that guesses
-whether a setting can be eliminated or not; it should be sufficient to only eliminate
-prefs in hashPrefs.
-
-2. This patch prevents hashPrefs from eliminating the user pref in case we are in
-*startup* ... unfortunately no such state info exists, which lets us guess that
-we are in startup for the previously not dealt case: !set_default && 
-!pref_ValueChanged(pref->defaultPref, value, type) && !PREF_HAS_USER_VALUE(pref).
-
-If is the case we explicitly remember that this setting is a user-pref ...
-even though it might be temporarily equal to the default pref.
-
----
- modules/libpref/src/prefapi.cpp |   20 ++++++++++++++------
- 1 file changed, 14 insertions(+), 6 deletions(-)
-
-Index: modules/libpref/src/prefapi.cpp
-===================================================================
---- modules/libpref/src/prefapi.cpp
-+++ modules/libpref/src/prefapi.cpp
-@@ -324,23 +324,20 @@
-     if (!pref)
-         return PL_DHASH_NEXT;
- 
-     nsCAutoString prefValue;
- 
-     // where we're getting our pref from
-     PrefValue* sourcePref;
- 
--    if (PREF_HAS_USER_VALUE(pref) &&
--        pref_ValueChanged(pref->defaultPref,
--                          pref->userPref,
--                          (PrefType) PREF_TYPE(pref)))
--        sourcePref = &pref->userPref;
--    else if (PREF_IS_LOCKED(pref))
-+    if (PREF_IS_LOCKED(pref))
-         sourcePref = &pref->defaultPref;
-+    else if (PREF_HAS_USER_VALUE(pref))
-+        sourcePref = &pref->userPref;
-     else
-         // do not save default prefs that haven't changed
-         return PL_DHASH_NEXT;
- 
-     // strings are in quotes!
-     if (pref->flags & PREF_STRING) {
-         prefValue = '\"';
-         str_escape(sourcePref->stringVal, prefValue);
-@@ -742,16 +739,27 @@
-            Otherwise, set the user value only if it has changed */
-         if ( !pref_ValueChanged(pref->defaultPref, value, type) )
-         {
-             if (PREF_HAS_USER_VALUE(pref))
-             {
-                 pref->flags &= ~PREF_USERSET;
-                 if (!PREF_IS_LOCKED(pref))
-                     valueChanged = PR_TRUE;
-+            } else {
-+                // this is tricky: we have !set_default ...
-+                // thus we are setting a user pref; however the user
-+                // pref set is same as *current default*; this normally
-+                // means to un-set ... however since we have
-+                // !PREF_HAS_USER_VALUE(pref) this can only be during
-+                // startup
-+                pref_SetValue(&pref->userPref, value, type);
-+                pref->flags |= PREF_USERSET;
-+                if (!PREF_IS_LOCKED(pref))
-+                    valueChanged = PR_TRUE;
-             }
-         }
-         else if ( !PREF_HAS_USER_VALUE(pref) ||
-                    pref_ValueChanged(pref->userPref, value, type) )
-         {
-             pref_SetValue(&pref->userPref, value, type);
-             pref->flags |= PREF_USERSET;
-             if (!PREF_IS_LOCKED(pref))
-- 
cgit