mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
a5c8dbfaf4
Currently the setting of PLDHashTable::ops is very haphazard. - PLDHashTable has no constructor, so it's not auto-nulled, so lots of places null it themselves. - In the fallible PLDHashTable::Init() function, if the entry storage allocation fails we'll be left with a table that has |ops| set -- indicating it's been initialized -- but has null entry storage. I'm not certain this can cause problems but it feels unsafe, and some (but not all) callers of Init() null it on failure. - PLDHashTable does not null |ops| in Finish(), so some (but not all) callers do this themselves. This patch makes things simpler. - It adds a constructor that zeroes |ops|. - It modifies Init() so that it only sets |ops| once success is ensured. - It zeroes |ops| in Finish(). - Finally, it removes all the now-unnecessary |ops| nulling done by the users of PLDHashTable. --HG-- extra : rebase_source : bb34979c218d152562a2f9c7e5215256c111cc5b |
||
---|---|---|
.. | ||
moz.build | ||
nsArray.cpp | ||
nsArray.h | ||
nsAtomService.cpp | ||
nsAtomService.h | ||
nsAtomTable.cpp | ||
nsAtomTable.h | ||
nsCharSeparatedTokenizer.h | ||
nsCheapSets.h | ||
nsCRT.cpp | ||
nsCRT.h | ||
nsExpirationTracker.h | ||
nsHashPropertyBag.cpp | ||
nsHashPropertyBag.h | ||
nsIArray.idl | ||
nsIAtom.idl | ||
nsIAtomService.idl | ||
nsICollection.idl | ||
nsIEnumerator.idl | ||
nsIHashable.idl | ||
nsIINIParser.idl | ||
nsIMutableArray.idl | ||
nsINIParserImpl.cpp | ||
nsINIParserImpl.h | ||
nsINIProcessor.js | ||
nsINIProcessor.manifest | ||
nsIObserver.idl | ||
nsIObserverService.idl | ||
nsIPersistentProperties2.idl | ||
nsIPersistentProperties.h | ||
nsIProperties.idl | ||
nsIProperty.idl | ||
nsIPropertyBag2.idl | ||
nsIPropertyBag.idl | ||
nsISerializable.idl | ||
nsISimpleEnumerator.idl | ||
nsIStringEnumerator.idl | ||
nsISupportsArray.idl | ||
nsISupportsIterators.idl | ||
nsISupportsPrimitives.idl | ||
nsIVariant.idl | ||
nsIWindowsRegKey.idl | ||
nsIWritablePropertyBag2.idl | ||
nsIWritablePropertyBag.idl | ||
nsMathUtils.h | ||
nsObserverList.cpp | ||
nsObserverList.h | ||
nsObserverService.cpp | ||
nsObserverService.h | ||
nsPersistentProperties.cpp | ||
nsPersistentProperties.h | ||
nsProperties.cpp | ||
nsProperties.h | ||
nsStaticAtom.h | ||
nsStaticNameTable.cpp | ||
nsStaticNameTable.h | ||
nsStringEnumerator.cpp | ||
nsStringEnumerator.h | ||
nsSupportsArray.cpp | ||
nsSupportsArray.h | ||
nsSupportsArrayEnumerator.cpp | ||
nsSupportsArrayEnumerator.h | ||
nsSupportsPrimitives.cpp | ||
nsSupportsPrimitives.h | ||
nsVariant.cpp | ||
nsVariant.h | ||
nsWhitespaceTokenizer.h | ||
nsWindowsRegKey.cpp | ||
nsWindowsRegKey.h | ||
StickyTimeDuration.h | ||
TimeStamp_darwin.cpp | ||
TimeStamp_posix.cpp | ||
TimeStamp_windows.cpp | ||
TimeStamp_windows.h | ||
TimeStamp.cpp | ||
TimeStamp.h |