Граф коммитов

133 Коммитов

Автор SHA1 Сообщение Дата
scc%mozilla.org 689f6a5c62 bug #75504; sr=jband. making it impossible to misuse |getter_AddRefs| in the way jband discovered 2001-05-03 10:15:09 +00:00
brendan%mozilla.org 1be564909a Checkin shaver's patch to allow debug Mozilla builds to dynamicly link with XPCOM-based, nsCOMPtr-using optimized plugins (77112, r=brendan, sr=scc, a=chofmann). 2001-04-24 21:13:15 +00:00
dbaron%fas.harvard.edu 093e897c1b Fix bustage on VC++ and gcc 2.7.2.x caused by incorrect overload resolution. 2001-04-07 17:25:16 +00:00
dbaron%fas.harvard.edu 244ee9e63a Replace my previous incorrect fix for |operator==| ambiguities with a correct one: provide additional |operator==| and |operator!=| for comparing nsCOMPtrs to raw pointers that take a non-const raw pointer argument so that builtin operators will not have a better conversion for one argument. b=65664 r=waterson@netscape.com sr=scc@mozilla.org 2001-04-07 15:29:39 +00:00
dbaron%fas.harvard.edu 8d34652545 Make |nsCOMPtr<T>::operator&| private so that it is not used by clients. Legitimate users should use |address_of| instead. b=59414 r=disttsc@bart.nl sr=scc@mozilla.org
Fix ambiguities relating to the various forms of |operator==| defined for nsCOMPtrs by avoiding |const| for parameters for compilers where it (incorrectly) confuses overload resolution.  r=scc@mozilla.org  sr=brendan@mozilla.org  b=65664
2001-02-04 19:57:29 +00:00
dbaron%fas.harvard.edu 198833687a Attempt to fix |address_of| bustage on IRIX. r=scc@mozilla.org b=59414 2000-12-10 03:13:53 +00:00
dbaron%fas.harvard.edu 7f9852c286 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 2000-12-09 04:45:43 +00:00
cls%seawood.org 847d576a56 Workaround for long-standing AIX bustage 2000-07-28 08:11:51 +00:00
mkaply%us.ibm.com b3e435e1de # 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 ab3cce39a1 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 42a6c98a0f further fix for the defined case. r=dbaron 2000-06-08 05:08:14 +00:00
scc%mozilla.org 129f2bc511 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 7ea63b347d Canonify HAVE_CPP_ACCESS_CHANGING_USING and HAVE_CPP_AMBIGUITY_RESOLVING_USING. 2000-06-05 00:46:37 +00:00
scc%mozilla.org a1285d663d 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 ec50330ca2 Remove #ifdef that is unnecessary when STL headers are not included. 2000-05-14 00:05:24 +00:00
waterson%netscape.com 6d1bd93d73 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 d9a28087cd changed some comments 2000-05-12 05:20:21 +00:00
waterson%netscape.com e2976c60e9 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 06d7fc7dff slight renaming and fixed a template signature for AIX 2000-03-22 22:52:17 +00:00
scc%netscape.com 1099be693b 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 ba8a0f115a 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 5b719b7bc5 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 2471a0d722 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 d220bcf442 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 fc8ef76eff 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 7f1ef3261d Fix specialized |CallQueryInterface| as per review by travis ... r=travis. 1999-12-08 01:44:06 +00:00
scc%netscape.com ccc2279daa 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 290a51fcd4 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 913a64bdee 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 50bb3ffae5 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 8535dda53e 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 e941d5a661 backing out changes. looks like this stuff is untested in a full build. 1999-11-05 03:31:04 +00:00
cls%seawood.org fa6602724f Fix for the template variable change from <T> to <nsISupports>. r=dougt 1999-11-05 03:11:03 +00:00
dougt%netscape.com 777d0f9159 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 2571930b5e shutting up copious warnings using /W4 on MSVC 1999-11-03 07:39:19 +00:00
scc%netscape.com 8f4e7ad8e4 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 cffa6a515e 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 06e8699a24 fixed tabs 1999-08-23 10:07:16 +00:00
scc%netscape.com 944678da9d renamed to QueryReferent, do_QueryReferent, etc. 1999-08-13 23:00:58 +00:00
scc%netscape.com 1f0ab10430 experiment: I don't think it like the forward declaration 1999-08-03 10:44:12 +00:00
scc%netscape.com e4d1a4321f 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 b5ee2a318a 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 eaeff321cf 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 dfa83459be Added |do_QueryReference| for initializing/assigning from |nsWeakPtr|s. Also some fixes. 1999-08-03 07:21:39 +00:00
scc%netscape.com 73a836eeaa 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 4adb195c6c 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 9d49cb3127 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 cc711499f4 quick fix for bug 9250 - assert on startup 1999-06-30 07:13:26 +00:00
shaver%netscape.com f8f7778a8e partial backout of scc's nsCOMPtr, attempting to revive Win32 build 1999-06-29 22:33:18 +00:00
scc%netscape.com d10f87cd9d 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 0c87834eef fixed for VMS 1999-06-03 20:36:53 +00:00
scc%netscape.com 16cc6edf13 replaced tabs with spaces as per our standards 1999-06-02 01:59:28 +00:00
scc%netscape.com 5c2933b1c2 added comparisons that will allow |nsnull != myPtr| et al 1999-06-02 01:29:55 +00:00
scc%netscape.com 5f7f07adc9 Fixup CallQueryInterface 1999-05-12 04:50:08 +00:00
scc%netscape.com 4fb41627b5 temporarily commented out CallQueryInterface for UNIX, added NS_EXPORT for Windows 1999-05-10 21:43:29 +00:00
scc%netscape.com 64fea0e7f5 conditionally factored destructor 1999-05-10 20:48:43 +00:00
scc%netscape.com 4c26313504 sense of HAVE_CPP_BOOL was backwards, fixed it (thanks, Jim Dunn) 1999-05-05 23:36:38 +00:00
scc%netscape.com 6c7fa04eb5 -----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 314436f96d change |CallQueryInterface| to handle situations where |nsISupports| is ambiguous. 1999-05-04 12:40:52 +00:00
scc%netscape.com f5a32343a4 added |null_nsCOMPtr()|, |CallQueryInterface()|, fixed comments; added |const| in several appropriate places 1999-05-04 09:37:35 +00:00
scc%netscape.com 8eb511fa4b inlining the work of |StartAssigment| reduces |nsCOMPtr| overhead on windows. 1999-03-23 20:35:49 +00:00
scc%netscape.com 31ff626ae9 rename |IID()| --> |GetIID()| 1999-03-03 19:48:57 +00:00
scc%netscape.com 9d21ae3942 backed out depency on nscore.h 1999-03-02 23:52:38 +00:00
scc%netscape.com 8058bf1464 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 49754e4257 Adding comparisons to autoconf results. 1999-03-01 10:13:18 +00:00
ramiro%netscape.com 0875a55f81 AIX portability fixes. (Waqar Malik <waqar@netscape.com>) 1999-03-01 06:29:14 +00:00
scc%netscape.com 312b8d76d7 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 0238953fe3 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 e7831871be fix AIX bustage 1999-02-26 18:58:08 +00:00
alecf%netscape.com 643dbd9b6d fix HPUX bustage - HP's compiler can't do "using" or static casts 1999-02-25 17:47:54 +00:00
mcafee%netscape.com 99b1533740 Adding support for Solaris native compiler. a=scc 1999-02-18 22:34:15 +00:00
scc%netscape.com d4ae494464 updated to new interface for nsCOMPtr 1999-02-17 01:58:25 +00:00
scc%netscape.com f020767dfc 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 edaa2f7db9 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 0c7a4ca128 OK. We were wrong about the SOLARIS case. Sorry. 1999-01-18 20:32:41 +00:00
scc%netscape.com be87c1b10a 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 e52a11daa0 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 c2935a0853 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 a89c841519 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 d5aa76aba6 added |dont_QueryInterface| facility, re-added the NS_ADDREF macros, though conditionally 1998-12-21 23:26:39 +00:00
scc%netscape.com 38897ed3d0 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 e42b720fb2 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 cbfe9f5b15 First Checked In. 1998-12-17 19:12:45 +00:00