Correct. The AtomicString hash won't be initialized by the time the constructor is called on a static AtomicString. Thats why you see AtomicString::init(() and HTMLNames::init(), etc. See HTMLNames.cpp to see how we get around this (placement new). -eric On Jun 4, 2006, at 9:02 AM, Mike Emmel wrote:
It seems that AtomicStrings can't be used in static variables
#0 WTF::HashTable<WebCore::StringImpl*, WebCore::StringImpl*, WTF::IdentityExtractor<WebCore::StringImpl*>, WTF::StrHash<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*> >::invalidateIterators (this=0x0) at HashTable.h:713 #1 0xb7492432 in WTF::HashSet<WebCore::StringImpl*, WTF::StrHash<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*> >::add<char const*, WebCore::CStringTranslator> (this=0x0, value=@0xbf9e41b0) at HashTable.h:420 #2 0xb74905eb in WebCore::AtomicString::add (c=0xb7820af2 "Times New Roman") at ../../platform/AtomicString.cpp:90 #3 0xb7762346 in __static_initialization_and_destruction_0 ( __initialize_p=<value optimized out>, __priority=-65536) at AtomicString.h:36 #4 0xb77efb92 in __do_global_ctors_aux () from ../../WebCore/Projects/gdk/libwebcore-gdk.so #5 0xb73cb3bd in _init () from ../../WebCore/Projects/gdk/ libwebcore-gdk.so #6 0xb7fdd194 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2 #7 0xb7fdd2be in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2 #8 0xb7fd27ff in ?? () from /lib/ld-linux.so.2 _______________________________________________ webkit-dev mailing list webkit-dev@opendarwin.org http://www.opendarwin.org/mailman/listinfo/webkit-dev