Commit Graph

55 Commits

Author SHA1 Message Date
scc%netscape.com
d5c96b7f3f missed two T-->nsISupports instances, which primary platforms didn't catch, since they weren't instantiated 1999-11-08 12:25:11 +00:00
scc%netscape.com
20035843b1 Specialize |nsCOMPtr| for |nsISupports| (i.e., |nsCOMPtr<nsISupports>|). The specialization _does_not_ have the invariant that |nsCOMPtr<T>| has of always pointing to the COM-correct interface. An |nsCOMPtr<nsISupports>| essentially means "a pointer to _any_ [XP]COM interface". This change allows dougt to fix his M11 bug. a=chofmann, r={danm, hyatt} 1999-11-08 11:43:11 +00:00
dmose%mozilla.org
142ac52eaf updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:43:54 +00:00
dougt%netscape.com
fd87026ad8 backing out changes. looks like this stuff is untested in a full build. 1999-11-05 03:31:04 +00:00
cls%seawood.org
9c777b0938 Fix for the template variable change from <T> to <nsISupports>. r=dougt 1999-11-05 03:11:03 +00:00
dougt%netscape.com
477a69da9d Fix for 17842. Make nsCOMPtr<nsISupports> should not be weak typed. scc's
this change to me and since he is on vacation until monday and I need this
for an M11 bug, I am checking it in.   I am hoping it is the right
thing to do.

a=brendan.
1999-11-05 02:18:46 +00:00
dveditz%netscape.com
04c2ee43f4 shutting up copious warnings using /W4 on MSVC 1999-11-03 07:39:19 +00:00
scc%netscape.com
b2c12428df changed the mechanism underlying |do_QueryInterface| to decouple |nsCOMPtr| from services, |nsIWeakReference|, etc. This change fixes bug #17364, and paves the way for making |nsCOMPtr| cooperate with services. r=valeski (additional builds done by dmose and syd) 1999-10-31 00:35:48 +00:00
scc%netscape.com
2162d2e029 some small documentation changes, plus removed a function that was otherwise unused, and was confusing Solaris. 1999-08-26 10:45:50 +00:00
scc%netscape.com
504c1add4e fixed tabs 1999-08-23 10:07:16 +00:00
scc%netscape.com
0921e3bfc2 renamed to QueryReferent, do_QueryReferent, etc. 1999-08-13 23:00:58 +00:00
scc%netscape.com
2e0d0f92ea experiment: I don't think it like the forward declaration 1999-08-03 10:44:12 +00:00
scc%netscape.com
264a0e83ae Moved the typedef to its own file: "nsWeakPtr.h". This avoids the circular includes problem and lets people #include just "nsWeakPtr.h" when they want an |nsWeakPtr|. 1999-08-03 08:15:31 +00:00
scc%netscape.com
f8db1fc479 OK, now only nsCOMPtr.h includes nsIWeakReference, and not the other way around. I'll probably have to make a header file just to contain the one-line typedef I moved. 1999-08-03 08:10:08 +00:00
scc%netscape.com
4756a19b59 Well, not everybody could do it just from the forward declared class. Yes, nsCOMPtr.h and nsIWeakReference.h include eachother, but it works anyway (they test for already being included). 1999-08-03 07:44:53 +00:00
scc%netscape.com
ea78a0060a Added |do_QueryReference| for initializing/assigning from |nsWeakPtr|s. Also some fixes. 1999-08-03 07:21:39 +00:00
scc%netscape.com
2a0eda4e69 Allow explicit disabling of |...TEST_DONTQUERY_CASES| and |...DEBUG_PTR_TYPES| on the command-line for problematic compilers like QNX et al. This allows me to fix the QNX build, and provide an answer to some people compiling with the Sun Workshop. 1999-07-22 21:09:49 +00:00
scc%netscape.com
89652d3a1f switching back to the stricter declaration of |nsDerivedSafe<T>::operator=()|. Since I removed |nsISupportsArray::operator=()|, all should be well. I left the old declaration in but commented out, just in case. I hope I don't have to conditionalize this wth an autoconf test. I've built this (with the help of several other people including mjudge, waqar, slamm, et al) on as many other platforms as I could. This declaration is intended to stop people from declaring an |operator=()| in their (XP)COM interface classes. 1999-07-22 20:03:42 +00:00
scc%netscape.com
a9bb3d6a16 new feature lets you `see past' |nsISupports| in |nsCOMPtr|s. Now in the debugger (in debug versions only) you will see the actual type of the object. This is enabled by defining the preprocessor symbol |NSCAP_FEATURE_DEBUG_PTR_TYPES|. It cannot be turned on in non-debug builds. It is currently on in debug builds by default. It may become a feature that has to be enabled with a build command line switch. NSCAP_FEATURE_ALLOW_RAW_POINTERS is now always the case and no longer optional; NSCAP_FEATURE_ALLOW_COMPARISONS is now always the case and no longer optional; cleaned up the previous definition and invocations of the |Assert_NoQueryNeeded| test. 1999-07-15 03:59:09 +00:00
jband%netscape.com
0938e9a7df quick fix for bug 9250 - assert on startup 1999-06-30 07:13:26 +00:00
shaver%netscape.com
3059d46d41 partial backout of scc's nsCOMPtr, attempting to revive Win32 build 1999-06-29 22:33:18 +00:00
scc%netscape.com
106c685c8e added logic to test whether QueryInterface was actually required when it is ommitted, |nsISupports::GetIID()| --> |nsCOMTypeInfo<nsISupports>::GetIID()|, changed the scheme by which we compare with zero to a more robust mechanism, modified specialized |CallQueryInterface| to use the global version 1999-06-29 21:09:59 +00:00
scc%netscape.com
138e0c0a59 fixed for VMS 1999-06-03 20:36:53 +00:00
scc%netscape.com
f951053c41 replaced tabs with spaces as per our standards 1999-06-02 01:59:28 +00:00
scc%netscape.com
5de8115999 added comparisons that will allow |nsnull != myPtr| et al 1999-06-02 01:29:55 +00:00
scc%netscape.com
04d849f0ec Fixup CallQueryInterface 1999-05-12 04:50:08 +00:00
scc%netscape.com
e5b9f0e804 temporarily commented out CallQueryInterface for UNIX, added NS_EXPORT for Windows 1999-05-10 21:43:29 +00:00
scc%netscape.com
d673031bca conditionally factored destructor 1999-05-10 20:48:43 +00:00
scc%netscape.com
51bf7982c7 sense of HAVE_CPP_BOOL was backwards, fixed it (thanks, Jim Dunn) 1999-05-05 23:36:38 +00:00
scc%netscape.com
92430ecb22 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Wow! Re-enabled initialization/assignment from raw COM interface pointers, only this time it means the same as |dont_QueryInterface|. Which is what people want and expect. Re-enabled comparisons between |nsCOMPtr|s and raw COM interface pointers; and it means what people expect: are these two 4-byte values equal/not-equal. Added a function for comparing two pointers (either can be raw or nsCOMPtr) called |SameCOMIdentity|, which provides the other kind of comparison. No current functionality has changed. Everything you're doing now is still legal and valid. These changes only bring some additional options. -----BEGIN PGP SIGNATURE----- Version: PGP Personal Privacy 6.0.2 Comment: get my key at <http://www.meer.net/ScottCollins/#key> iQA/AwUBNzAeufGmojMuVn+fEQInWgCfUVK/7xfd/pdhAmyIe4HhynKsuucAn20t MRtmNY4e2MAdwClvhR65a5Yv =elb3 -----END PGP SIGNATURE----- 1999-05-05 10:37:05 +00:00
scc%netscape.com
470c0f17ac change |CallQueryInterface| to handle situations where |nsISupports| is ambiguous. 1999-05-04 12:40:52 +00:00
scc%netscape.com
d686c1191e added |null_nsCOMPtr()|, |CallQueryInterface()|, fixed comments; added |const| in several appropriate places 1999-05-04 09:37:35 +00:00
scc%netscape.com
a3aecb2482 inlining the work of |StartAssigment| reduces |nsCOMPtr| overhead on windows. 1999-03-23 20:35:49 +00:00
scc%netscape.com
2ec0a397ea rename |IID()| --> |GetIID()| 1999-03-03 19:48:57 +00:00
scc%netscape.com
1cd756d76b backed out depency on nscore.h 1999-03-02 23:52:38 +00:00
scc%netscape.com
eee168d553 now rely on "nscore.h" for NS_REINTERPRET_CAST instead of defining my own. now relying on autoconf system for all unixes. Some tests may need to be fixed. 1999-03-02 23:08:54 +00:00
mcafee%netscape.com
f3ffb9a767 Adding comparisons to autoconf results. 1999-03-01 10:13:18 +00:00
ramiro%netscape.com
1bf8790f66 AIX portability fixes. (Waqar Malik <waqar@netscape.com>) 1999-03-01 06:29:14 +00:00
scc%netscape.com
67bb023757 for VC++5.0, no member using declarations (to prevent internal compiler error); to make this compile fixed type of AddRef and Release in nsDerivedSafe 1999-02-26 23:43:40 +00:00
scc%netscape.com
fb59a99841 deprecated |dont_AddRef|, added a new form of |getter_AddRefs| to take its place. Removed all nothing of bool from the headers (should help gcc) 1999-02-26 19:50:46 +00:00
alecf%netscape.com
6b6c41ebc8 fix AIX bustage 1999-02-26 18:58:08 +00:00
alecf%netscape.com
e5d1ad1d90 fix HPUX bustage - HP's compiler can't do "using" or static casts 1999-02-25 17:47:54 +00:00
mcafee%netscape.com
9feda1b10b Adding support for Solaris native compiler. a=scc 1999-02-18 22:34:15 +00:00
scc%netscape.com
42e1c10096 updated to new interface for nsCOMPtr 1999-02-17 01:58:25 +00:00
scc%netscape.com
6a09eaa097 Added |nsresult nsCOMPtr::assignment_error() const;| which returns the error, if any, from the most recent operation (constructor or assignment operator) that implicitly calls |QueryInterface|. This did not increase the size of an |nsCOMPtr|. 1999-02-11 01:34:07 +00:00
scc%netscape.com
da320e986b Made the constructor explicit again (see comment) to stop people from breaking the Linux builds. 1999-01-22 01:17:48 +00:00
scc%netscape.com
31c2a74283 OK. We were wrong about the SOLARIS case. Sorry. 1999-01-18 20:32:41 +00:00
scc%netscape.com
5e7e5625d2 Added patch for bsdi from netscape.public.mozilla.patches; removed test for !SOLARIS as agreed with macafee. 1999-01-18 18:32:33 +00:00
scc%netscape.com
36a41c6750 Now test pointer result _and_ error code on return from QueryInterface, as some implementations return garbage. 1999-01-16 02:37:22 +00:00
mjudge%netscape.com
d3c02c8cdd scc and I decided that the explicit keyword was not necessary for the constructor.
It never hurts you to make an nsCOMPtr.  MJ
1999-01-15 18:57:31 +00:00