Commit Graph

62 Commits

Author SHA1 Message Date
scc%netscape.com
18df765f41 wrapped |nsCOMPtr| vs. raw pointer comparisons in a |#ifndef| for |NSCAP_NSCOMPTR_TO_RAW_COMPARISONS_ARE_AMBIGUOUS| which is currently not defined. When an autoconf test defines this symbol, these operators will go away, and Linux will never be bit by the |nsCOMPtr| can't compare to a raw pointer error. Currently, there is no effect. r={mjudge,rginda} 2000-02-12 23:30:52 +00:00
scc%netscape.com
18d254421b enable the |ASSERT_NO_QUERY_NEEDED| tests for the |getter_AddRefs()| case as well. bug #26420, r=dougt 2000-02-06 21:17:51 +00:00
scc%netscape.com
f1d17da7df Fixed tabs, some comments, etc. Made |do_QueryInterface()| not participate in the |...TEST_DONTQUERY_CASES| test to help us debug bug #25327. r=pinkerton 2000-01-29 22:29:08 +00:00
scc%netscape.com
a2dea03069 macros and defs to removed conditional definition of |GetIID()| within |nsISupports|. r=beard, (waterson?), bug=10477 2000-01-13 05:48:47 +00:00
scc%netscape.com
964ca8227e Fix specialized |CallQueryInterface| as per review by travis ... r=travis. 1999-12-08 01:44:06 +00:00
scc%netscape.com
8c4ec2ebea Adding an alternate version of |CallQueryInterface| as an experiment on behalf of travis. This function is not yet called, and should not effect the build or the runtime. r=hyatt 1999-12-07 14:09:29 +00:00
scc%netscape.com
778573923a fixed an annoying, but rare, bug where an |nsCOMPtr| in an ownership ring could |Release()| twice. See the comment in the code for details. r=waterson 1999-11-20 08:19:24 +00:00
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