Closed Bug 202080 Opened 21 years ago Closed 21 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: 21 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: 21 years ago21 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: