cls%seawood.org
f9754b268f
Workaround for long-standing AIX bustage
2000-07-28 08:11:51 +00:00
mkaply%us.ibm.com
dc2e138a70
# 37239
...
r = valeski, a = brendan
OS/2 bring-up - Yes I know this is ugly.
We are getting a linker error on this delete.
We want to get our builds up by any means necessary,
so I need to comment this out for us for now.
2000-06-14 00:26:52 +00:00
scc%mozilla.org
5108fd1bbe
further logging fixes; removed |explicit| to "nscore.h"; removed old-style logging definitions for |NSCAP_ADDREF| and |NSCAP_RELEASE|, define them externally if you want them (the new comment says how); fixed some comments... I'll be moving to doc-style comments soon to better support doxygen
2000-06-10 09:58:13 +00:00
scc%mozilla.org
fbdb41c4de
further fix for the defined case. r=dbaron
2000-06-08 05:08:14 +00:00
scc%mozilla.org
372c751346
Improved logging facilities on |nsCOMPtr| in cooperation with dbaron, for his new logging tools. r=dbaron
2000-06-08 04:52:39 +00:00
waterson%netscape.com
94bd261c1c
Canonify HAVE_CPP_ACCESS_CHANGING_USING and HAVE_CPP_AMBIGUITY_RESOLVING_USING.
2000-06-05 00:46:37 +00:00
scc%mozilla.org
ebc8903c87
Bug #39824 . Checking in patch from dp. This patch fixes exports on some |nsCOMPtr_helper| classes so we can link appropriately. r=scc.
2000-05-20 18:31:45 +00:00
waterson%netscape.com
8e51bfbbef
Remove #ifdef that is unnecessary when STL headers are not included.
2000-05-14 00:05:24 +00:00
waterson%netscape.com
2ecdf03c7c
Add necessary code to get NEW_STRING_APIS to compile properly on gcc-2.7.2.3. r=scc
2000-05-13 00:05:29 +00:00
scc%netscape.com
e3490a6024
changed some comments
2000-05-12 05:20:21 +00:00
waterson%netscape.com
9de0d361a8
Beef up autoconf tests to differentiate 'ambiguity resolving' and 'access changing' support of the 'using' keyword. Add a test to see if the 'std' namespace is used on the platform. r=scc
2000-03-28 07:01:37 +00:00
scc%netscape.com
367b68ace3
slight renaming and fixed a template signature for AIX
2000-03-22 22:52:17 +00:00
scc%netscape.com
532a4d13c7
Added the Bill Law trick to make |nsCOMPtr| break the build for everybody where it use to break it only for Solaris and a few others (the `tainting' problem). Added a haiku. r=danm
2000-03-18 05:17:46 +00:00
scc%netscape.com
d6840ff7c1
Renamed an internal typename. Was |nsDontAddRef<T>|, now is |already_AddRefed<T>| in hopes that it can be used outside of "nsCOMPtr.h". Moved |HAVE_CPP_...| symbols out of here and into "nscore.h" because more files need them. r=pinkerton
2000-03-17 23:08:18 +00:00
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
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
scc%netscape.com
03af84c93b
defined NSCAP_NEED_UNUSED_VIRTUAL_IMPLEMENTATIONS for GNU 2.7 under linux. Fixed URL leading to the user manual. Noted that ramiro is working on getting all these special #defines handled by the configuration system instead.
1999-01-05 21:07:57 +00:00
scc%netscape.com
761f39f1d3
added |dont_QueryInterface| facility, re-added the NS_ADDREF macros, though conditionally
1998-12-21 23:26:39 +00:00
scc%netscape.com
34bcd6ef0b
NSCAP_FEATURE_DONT_ADDREF is no longer optional, and the symbol has gone away. This facility turns out to be needed. Also catch the case when operator= is called on a dereferenced smart pointer. Fixed some documentation.
1998-12-18 03:45:44 +00:00
scc%netscape.com
8b0ea58b42
enabled the dont_AddRef feature, for when functions return an already AddRefed result, e.g. |mSmartPtr = dont_AddRef(GetThing());|
1998-12-17 19:32:00 +00:00
scc%netscape.com
52ad8f5326
First Checked In.
1998-12-17 19:12:45 +00:00