scc%netscape.com
ae0737cdba
Fix specialized |CallQueryInterface| as per review by travis ... r=travis.
...
git-svn-id: svn://10.0.0.236/trunk@55669 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-08 01:44:06 +00:00
scc%netscape.com
d82bf53dc0
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
...
git-svn-id: svn://10.0.0.236/trunk@55581 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-07 14:09:29 +00:00
scc%netscape.com
de82a95c8c
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
...
git-svn-id: svn://10.0.0.236/trunk@54061 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 08:19:24 +00:00
scc%netscape.com
1efff4fab2
missed two T-->nsISupports instances, which primary platforms didn't catch, since they weren't instantiated
...
git-svn-id: svn://10.0.0.236/trunk@52943 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 12:25:11 +00:00
scc%netscape.com
95b2d5acdc
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}
...
git-svn-id: svn://10.0.0.236/trunk@52942 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 11:43:11 +00:00
dmose%mozilla.org
0efb7c174c
updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org
...
git-svn-id: svn://10.0.0.236/trunk@52910 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:43:54 +00:00
dougt%netscape.com
fced92a57e
backing out changes. looks like this stuff is untested in a full build.
...
git-svn-id: svn://10.0.0.236/trunk@52839 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 03:31:04 +00:00
cls%seawood.org
dc0901d830
Fix for the template variable change from <T> to <nsISupports>. r=dougt
...
git-svn-id: svn://10.0.0.236/trunk@52838 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 03:11:03 +00:00
dougt%netscape.com
d73bc37e66
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.
git-svn-id: svn://10.0.0.236/trunk@52835 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 02:18:46 +00:00
dveditz%netscape.com
3330477d88
shutting up copious warnings using /W4 on MSVC
...
git-svn-id: svn://10.0.0.236/trunk@52700 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:39:19 +00:00
scc%netscape.com
65b7cd0c03
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)
...
git-svn-id: svn://10.0.0.236/trunk@52346 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-31 00:35:48 +00:00
scc%netscape.com
998f4973d5
some small documentation changes, plus removed a function that was otherwise unused, and was confusing Solaris.
...
git-svn-id: svn://10.0.0.236/trunk@44667 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-26 10:45:50 +00:00
scc%netscape.com
8850ce2142
fixed tabs
...
git-svn-id: svn://10.0.0.236/trunk@44138 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-23 10:07:16 +00:00
scc%netscape.com
c108d9dde2
renamed to QueryReferent, do_QueryReferent, etc.
...
git-svn-id: svn://10.0.0.236/trunk@43314 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-13 23:00:58 +00:00
scc%netscape.com
8a2956c416
experiment: I don't think it like the forward declaration
...
git-svn-id: svn://10.0.0.236/trunk@41968 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-03 10:44:12 +00:00
scc%netscape.com
c796513d70
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|.
...
git-svn-id: svn://10.0.0.236/trunk@41965 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-03 08:15:31 +00:00
scc%netscape.com
ce7de850a7
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.
...
git-svn-id: svn://10.0.0.236/trunk@41964 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-03 08:10:08 +00:00
scc%netscape.com
c17c627e25
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).
...
git-svn-id: svn://10.0.0.236/trunk@41963 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-03 07:44:53 +00:00
scc%netscape.com
2e57a4c5d6
Added |do_QueryReference| for initializing/assigning from |nsWeakPtr|s. Also some fixes.
...
git-svn-id: svn://10.0.0.236/trunk@41960 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-03 07:21:39 +00:00
scc%netscape.com
0f698b683b
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.
...
git-svn-id: svn://10.0.0.236/trunk@40696 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-22 21:09:49 +00:00
scc%netscape.com
547fe93c5a
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.
...
git-svn-id: svn://10.0.0.236/trunk@40688 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-22 20:03:42 +00:00
scc%netscape.com
10c019611e
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.
git-svn-id: svn://10.0.0.236/trunk@39508 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-15 03:59:09 +00:00
jband%netscape.com
09ad481b2b
quick fix for bug 9250 - assert on startup
...
git-svn-id: svn://10.0.0.236/trunk@37520 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 07:13:26 +00:00
shaver%netscape.com
364aea910c
partial backout of scc's nsCOMPtr, attempting to revive Win32 build
...
git-svn-id: svn://10.0.0.236/trunk@37486 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 22:33:18 +00:00
scc%netscape.com
62fb8f7c1f
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
...
git-svn-id: svn://10.0.0.236/trunk@37468 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:09:59 +00:00
scc%netscape.com
3b2708bb1d
fixed for VMS
...
git-svn-id: svn://10.0.0.236/trunk@33573 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 20:36:53 +00:00
scc%netscape.com
fb55bb044f
replaced tabs with spaces as per our standards
...
git-svn-id: svn://10.0.0.236/trunk@33390 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:59:28 +00:00
scc%netscape.com
7c2cb084f3
added comparisons that will allow |nsnull != myPtr| et al
...
git-svn-id: svn://10.0.0.236/trunk@33385 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-02 01:29:55 +00:00
scc%netscape.com
75ac724111
Fixup CallQueryInterface
...
git-svn-id: svn://10.0.0.236/trunk@31239 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-12 04:50:08 +00:00
scc%netscape.com
78eb0e9f7f
temporarily commented out CallQueryInterface for UNIX, added NS_EXPORT for Windows
...
git-svn-id: svn://10.0.0.236/trunk@30978 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-10 21:43:29 +00:00
scc%netscape.com
9135e5202b
conditionally factored destructor
...
git-svn-id: svn://10.0.0.236/trunk@30950 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-10 20:48:43 +00:00
scc%netscape.com
2532453e8b
sense of HAVE_CPP_BOOL was backwards, fixed it (thanks, Jim Dunn)
...
git-svn-id: svn://10.0.0.236/trunk@30442 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-05 23:36:38 +00:00
scc%netscape.com
b85e1a74ed
-----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-----
git-svn-id: svn://10.0.0.236/trunk@30401 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-05 10:37:05 +00:00
scc%netscape.com
c3c1b1ce2b
change |CallQueryInterface| to handle situations where |nsISupports| is ambiguous.
...
git-svn-id: svn://10.0.0.236/trunk@30105 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-04 12:40:52 +00:00
scc%netscape.com
c2578a9d5f
added |null_nsCOMPtr()|, |CallQueryInterface()|, fixed comments; added |const| in several appropriate places
...
git-svn-id: svn://10.0.0.236/trunk@30099 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-04 09:37:35 +00:00
scc%netscape.com
ba245bf505
inlining the work of |StartAssigment| reduces |nsCOMPtr| overhead on windows.
...
git-svn-id: svn://10.0.0.236/trunk@24870 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-23 20:35:49 +00:00
scc%netscape.com
817f56596f
rename |IID()| --> |GetIID()|
...
git-svn-id: svn://10.0.0.236/trunk@22744 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 19:48:57 +00:00
scc%netscape.com
e70b8e958a
backed out depency on nscore.h
...
git-svn-id: svn://10.0.0.236/trunk@22631 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:52:38 +00:00
scc%netscape.com
ce584e3c02
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.
...
git-svn-id: svn://10.0.0.236/trunk@22620 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-02 23:08:54 +00:00
mcafee%netscape.com
4780230a1d
Adding comparisons to autoconf results.
...
git-svn-id: svn://10.0.0.236/trunk@22431 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-01 10:13:18 +00:00
ramiro%netscape.com
026fef7a70
AIX portability fixes. (Waqar Malik <waqar@netscape.com>)
...
git-svn-id: svn://10.0.0.236/trunk@22426 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-01 06:29:14 +00:00
scc%netscape.com
6cb22ba536
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
...
git-svn-id: svn://10.0.0.236/trunk@22250 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-26 23:43:40 +00:00
scc%netscape.com
99bd38652f
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)
...
git-svn-id: svn://10.0.0.236/trunk@22201 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-26 19:50:46 +00:00
alecf%netscape.com
5840b03d44
fix AIX bustage
...
git-svn-id: svn://10.0.0.236/trunk@22177 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-26 18:58:08 +00:00
alecf%netscape.com
4b3e627852
fix HPUX bustage - HP's compiler can't do "using" or static casts
...
git-svn-id: svn://10.0.0.236/trunk@21923 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-25 17:47:54 +00:00
mcafee%netscape.com
fab9b8fd0d
Adding support for Solaris native compiler. a=scc
...
git-svn-id: svn://10.0.0.236/trunk@21208 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-18 22:34:15 +00:00
scc%netscape.com
4e937fc0aa
updated to new interface for nsCOMPtr
...
git-svn-id: svn://10.0.0.236/trunk@20847 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-17 01:58:25 +00:00
scc%netscape.com
218ef805b6
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|.
...
git-svn-id: svn://10.0.0.236/trunk@20328 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-11 01:34:07 +00:00
scc%netscape.com
f2a42cc021
Made the constructor explicit again (see comment) to stop people from breaking the Linux builds.
...
git-svn-id: svn://10.0.0.236/trunk@18235 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-22 01:17:48 +00:00
scc%netscape.com
7112370451
OK. We were wrong about the SOLARIS case. Sorry.
...
git-svn-id: svn://10.0.0.236/trunk@17964 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-18 20:32:41 +00:00