78 Commits

Author SHA1 Message Date
dbaron%fas.harvard.edu
88efcf30bd Attempt to fix |address_of| bustage on IRIX. r=scc@mozilla.org b=59414
git-svn-id: svn://10.0.0.236/trunk@83454 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-10 03:13:53 +00:00
dbaron%fas.harvard.edu
e9d380a7cb Work in progress for bug 59414. Prepare to make |nsCOMPtr|'s |operator&| private to prevent many cases of accidental usage, and provide |address_of| for clients who really want a pointer to an nsCOMPtr. r=scc@mozilla.org sr=waterson@netcape.com
git-svn-id: svn://10.0.0.236/trunk@83445 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-09 04:45:43 +00:00
cls%seawood.org
78e9aa6004 Workaround for long-standing AIX bustage
git-svn-id: svn://10.0.0.236/trunk@75031 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-28 08:11:51 +00:00
mkaply%us.ibm.com
fa06a1e262 # 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.


git-svn-id: svn://10.0.0.236/trunk@72159 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 00:26:52 +00:00
scc%mozilla.org
00f60b0528 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
git-svn-id: svn://10.0.0.236/trunk@71969 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-10 09:58:13 +00:00
scc%mozilla.org
22e9228f8c further fix for the defined case. r=dbaron
git-svn-id: svn://10.0.0.236/trunk@71777 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-08 05:08:14 +00:00
scc%mozilla.org
c14f449298 Improved logging facilities on |nsCOMPtr| in cooperation with dbaron, for his new logging tools. r=dbaron
git-svn-id: svn://10.0.0.236/trunk@71776 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-08 04:52:39 +00:00
waterson%netscape.com
4cfc97eae7 Canonify HAVE_CPP_ACCESS_CHANGING_USING and HAVE_CPP_AMBIGUITY_RESOLVING_USING.
git-svn-id: svn://10.0.0.236/trunk@71494 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-05 00:46:37 +00:00
scc%mozilla.org
9f480a5a2e Bug #39824. Checking in patch from dp. This patch fixes exports on some |nsCOMPtr_helper| classes so we can link appropriately. r=scc.
git-svn-id: svn://10.0.0.236/trunk@70554 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-20 18:31:45 +00:00
waterson%netscape.com
81c5f2460c Remove #ifdef that is unnecessary when STL headers are not included.
git-svn-id: svn://10.0.0.236/trunk@69599 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-14 00:05:24 +00:00
waterson%netscape.com
8f9c2e72ae Add necessary code to get NEW_STRING_APIS to compile properly on gcc-2.7.2.3. r=scc
git-svn-id: svn://10.0.0.236/trunk@69488 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-13 00:05:29 +00:00
scc%netscape.com
3495a25e7e changed some comments
git-svn-id: svn://10.0.0.236/trunk@69377 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-12 05:20:21 +00:00
waterson%netscape.com
31ff53e050 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
git-svn-id: svn://10.0.0.236/trunk@64334 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-28 07:01:37 +00:00
scc%netscape.com
d4c745fe80 slight renaming and fixed a template signature for AIX
git-svn-id: svn://10.0.0.236/trunk@63778 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-22 22:52:17 +00:00
scc%netscape.com
fd4ef985aa 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
git-svn-id: svn://10.0.0.236/trunk@63372 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-18 05:17:46 +00:00
scc%netscape.com
2b15cf20b5 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
git-svn-id: svn://10.0.0.236/trunk@63330 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-17 23:08:18 +00:00
scc%netscape.com
7e15323442 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}
git-svn-id: svn://10.0.0.236/trunk@60614 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-12 23:30:52 +00:00
scc%netscape.com
cc2ea1310a enable the |ASSERT_NO_QUERY_NEEDED| tests for the |getter_AddRefs()| case as well. bug #26420, r=dougt
git-svn-id: svn://10.0.0.236/trunk@59952 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-06 21:17:51 +00:00
scc%netscape.com
d40b11a886 Fixed tabs, some comments, etc. Made |do_QueryInterface()| not participate in the |...TEST_DONTQUERY_CASES| test to help us debug bug #25327. r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@59201 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-29 22:29:08 +00:00
scc%netscape.com
1efb7c3f9c macros and defs to removed conditional definition of |GetIID()| within |nsISupports|. r=beard, (waterson?), bug=10477
git-svn-id: svn://10.0.0.236/trunk@57637 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-13 05:48:47 +00:00
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