Closed Bug 202080 Opened 22 years ago Closed 22 years ago

Use new THashtable in accessibility

Categories

(Core :: Disability Access APIs, defect, P3)

x86
Windows 2000
defect

Tracking

()

RESOLVED FIXED
mozilla1.5beta

People

(Reporter: aaronlev, Assigned: aaronlev)

References

Details

(Keywords: helpwanted)

Attachments

(1 file, 2 obsolete files)

Most of the work for this is done, but I haven't gotten it to link yet when I #undef OLD_HASH (all the code is separated into #ifdef OLD_HASH #else #endif areas. I think the link problems have something to do with the void key type I'm creating. Dunno, have to look into it.
Summary: Uses new THashtable in accessibility → Use new THashtable in accessibility
See bug 200709. I was bitten by it in bug 118600 and just had to update my xpcom directory.
In the accessible directory, the code dealing with the hash tables is written like: #ifdef OLD_HASH #else #endif I haven't gotten it to link yet. Will probably get to this in Mozilla 1.5, unless someone else does first.
Keywords: helpwanted
Priority: -- → P3
Target Milestone: --- → mozilla1.5beta
Attached patch make the new hashtables compile (obsolete) — Splinter Review
This makes everything compile correctly... I didn't remove all the OLD_HASH stuff, and I think this breaks the OLD_HASH code, so that should really be done.
Attached patch Merged with the current trunk (obsolete) — Splinter Review
I still can't get it to link on Win32. It's probably something obvious for someone who knows C++ templates better than I. Here's what I get: Creating library accessibility.lib and object accessibility.exp accessibility_base_s.lib(nsAccessNode.obj) : error LNK2001: unresolved external symbol "public: stat ic enum PLDHashOperator __cdecl nsAccessNode::ClearCacheEntry(void const *,class nsCOMPtr<class nsI AccessNode> &,void *)" (?ClearCacheEntry@nsAccessNode@@SA?AW4PLDHashOperator@@PBXAAV?$nsCOMPtr@VnsIA ccessNode@@@@PAX@Z) accessibility_base_s.lib(nsAccessNode.obj) : error LNK2001: unresolved external symbol "__declspec(d llimport) public: static void const * __cdecl nsVoidHashKey::KeyToPointer(void const *)" (__imp_?Key ToPointer@nsVoidHashKey@@SAPBXPBX@Z) accessibility_base_s.lib(nsDocAccessible.obj) : error LNK2001: unresolved external symbol "__declspe c(dllimport) public: static void const * __cdecl nsVoidHashKey::KeyToPointer(void const *)" (__imp_? KeyToPointer@nsVoidHashKey@@SAPBXPBX@Z) accessibility_base_s.lib(nsAccessNode.obj) : error LNK2001: unresolved external symbol "__declspec(d llimport) public: void const * __thiscall nsVoidHashKey::GetKey(void)const " (__imp_?GetKey@nsVoidHa shKey@@QBEPBXXZ) accessibility_base_s.lib(nsAccessNode.obj) : error LNK2001: unresolved external symbol "__declspec(d llimport) public: void const * __thiscall nsVoidHashKey::GetKeyPointer(void)const " (__imp_?GetKeyPo inter@nsVoidHashKey@@QBEPBXXZ) accessibility_base_s.lib(nsDocAccessible.obj) : error LNK2001: unresolved external symbol "__declspe c(dllimport) public: void const * __thiscall nsVoidHashKey::GetKeyPointer(void)const " (__imp_?GetKe yPointer@nsVoidHashKey@@QBEPBXXZ) accessibility_base_s.lib(nsAccessNode.obj) : error LNK2001: unresolved external symbol "__declspec(d llimport) public: static unsigned int __cdecl nsVoidHashKey::HashKey(void const *)" (__imp_?HashKey@ nsVoidHashKey@@SAIPBX@Z) accessibility_base_s.lib(nsDocAccessible.obj) : error LNK2001: unresolved external symbol "__declspe c(dllimport) public: static unsigned int __cdecl nsVoidHashKey::HashKey(void const *)" (__imp_?HashK ey@nsVoidHashKey@@SAIPBX@Z) accessibility_base_s.lib(nsAccessNode.obj) : error LNK2001: unresolved external symbol "__declspec(d llimport) public: int __thiscall nsVoidHashKey::KeyEquals(void const *)const " (__imp_?KeyEquals@nsV oidHashKey@@QBEHPBX@Z) accessibility_base_s.lib(nsDocAccessible.obj) : error LNK2001: unresolved external symbol "__declspe c(dllimport) public: int __thiscall nsVoidHashKey::KeyEquals(void const *)const " (__imp_?KeyEquals@ nsVoidHashKey@@QBEHPBX@Z) accessibility_base_s.lib(nsAccessNode.obj) : error LNK2001: unresolved external symbol "__declspec(d llimport) public: __thiscall nsVoidHashKey::nsVoidHashKey(class nsVoidHashKey const &)" (__imp_??0ns VoidHashKey@@QAE@ABV0@@Z) accessibility_base_s.lib(nsDocAccessible.obj) : error LNK2001: unresolved external symbol "__declspe c(dllimport) public: __thiscall nsVoidHashKey::nsVoidHashKey(class nsVoidHashKey const &)" (__imp_?? 0nsVoidHashKey@@QAE@ABV0@@Z) accessibility_base_s.lib(nsAccessNode.obj) : error LNK2001: unresolved external symbol "__declspec(d llimport) public: __thiscall nsVoidHashKey::nsVoidHashKey(void const *)" (__imp_??0nsVoidHashKey@@QA E@PBX@Z) accessibility_base_s.lib(nsDocAccessible.obj) : error LNK2001: unresolved external symbol "__declspe c(dllimport) public: __thiscall nsVoidHashKey::nsVoidHashKey(void const *)" (__imp_??0nsVoidHashKey@ @QAE@PBX@Z) accessibility_base_s.lib(nsAccessNode.obj) : error LNK2001: unresolved external symbol "__declspec(d llimport) public: __thiscall nsVoidHashKey::~nsVoidHashKey(void)" (__imp_??1nsVoidHashKey@@QAE@XZ) accessibility_base_s.lib(nsDocAccessible.obj) : error LNK2001: unresolved external symbol "__declspe c(dllimport) public: __thiscall nsVoidHashKey::~nsVoidHashKey(void)" (__imp_??1nsVoidHashKey@@QAE@XZ ) accessibility.dll : fatal error LNK1120: 9 unresolved externals make[2]: *** [accessibility.dll] Error 96 make[2]: Leaving directory `/cygdrive/c/moz/mozilla/accessible/build' make[1]: *** [libs] Error 2 make[1]: Leaving directory `/cygdrive/c/moz/mozilla/accessible' make: *** [all] Error 2
Attachment #123428 - Attachment is obsolete: true
Oh... heehee We had NS_COM nsVoidHashKey (copy/paste error) the impl of ClearCache is missing "nsAccessNode::" So all those linking error are correct... (and easily fixed).
Attachment #123576 - Attachment is obsolete: true
Attachment #123828 - Flags: review?(bsmedberg)
Comment on attachment 123828 [details] [diff] [review] Use new thashtable, get rid of deprecated nsHashtable Looks good, r=bsmedberg Let me know when you're going to land this, so I can watch the codesighs numbers.
Attachment #123828 - Flags: review?(bsmedberg) → review+
Attachment #123828 - Flags: superreview?(alecf)
Comment on attachment 123828 [details] [diff] [review] Use new thashtable, get rid of deprecated nsHashtable yay! thanks for finally getting rid of this stuff. sr=alecf
Attachment #123828 - Flags: superreview?(alecf) → superreview+
Comment on attachment 123828 [details] [diff] [review] Use new thashtable, get rid of deprecated nsHashtable Seeking a=. We intended to use the correct new hash tables, not the deprecated nsSupportsHashtable, in the original accessibility rearchitecture that happened in 1.4.
Attachment #123828 - Flags: approval1.4?
Comment on attachment 123828 [details] [diff] [review] Use new thashtable, get rid of deprecated nsHashtable a=asa (on behalf of drivers) for checkin to 1.4.
Attachment #123828 - Flags: approval1.4? → approval1.4+
checked in
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Let me know when you're going to land this, so I can watch the codesighs numbers. > Checked it at 1:07 AM on 5/22
Depends on: 206726
Reopening. Had to back it out due to bug 206726.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Fixed. If your build fails on Mac OS X then you need to update your build tools to December 2002 or later.
Status: REOPENED → RESOLVED
Closed: 22 years ago22 years ago
Resolution: --- → FIXED
Depends on: 209622
Pete, see bug 209622
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: