Commit Graph

131 Commits

Author SHA1 Message Date
scc%netscape.com
dd71a6971a fixed ambiguous static cast in the NS_IMPL_QUERYINTERFACE2 case 1999-08-21 22:33:15 +00:00
jband%netscape.com
e7f612af72 fix bustage due to ambiguity in use of static_cast 1999-08-21 22:03:39 +00:00
scc%netscape.com
21a9c44373 Bad merge left two copies of ...QUERYINTERFACE2. Sorry. 1999-08-21 20:39:59 +00:00
scc%netscape.com
20c45cddb6 Added NS_IMPL_QUERY_INTERFACE[01]; fixed NS_IMPL_QUERY_INTERFACE2; added NS_IMPL_ISUPPORTS[01]; can't fix NS_IMPL_QUERY_INTERFACE without changing a ton of files, so I'm checking in this partial fix first. Then people can help me switch us away from NS_IMPL_ISUPPORTS and NS_IMPL_QUERY_INTERFACE. Both are now deprecated. 1999-08-21 20:22:35 +00:00
scc%netscape.com
0ea67f445d added license, fixed tabs 1999-08-21 20:07:27 +00:00
tbogard%aol.net
ada1396491 XPCOM Cleanup: Added macros to make checking arguments and state upon entering interface boundaries easier. 1999-08-19 05:32:15 +00:00
scc%netscape.com
0921e3bfc2 renamed to QueryReferent, do_QueryReferent, etc. 1999-08-13 23:00:58 +00:00
danm%netscape.com
bd95ca26db fix WeakReference exporting for Windows. a:chofmann r:scc. 1999-08-11 23:48:08 +00:00
sspitzer%netscape.com
0fc6c99e2d fix warnings 1999-08-05 19:47:10 +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
f311d065ca well, now it needs to include nsCOMPtr, since the header doesn't anymore 1999-08-03 08:34:17 +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
e16adcb40a getting ready to build 1999-08-03 04:59:47 +00:00
scc%netscape.com
fbc8779752 First Checked In. 1999-08-03 03:41:27 +00:00
jband%netscape.com
ff192b13a2 fix this macro that no one is using so that I can use it in my factory in xpconnect 1999-07-31 00:14:55 +00:00
jband%netscape.com
b80f98a64a differentiate between Win32 x86 and NT Alpha for a few low level debug activities. From bob meader <bob@guiduck.com> 1999-07-24 22:00:00 +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
brendan%mozilla.org
b5c49d66b9 - Fix possessive "its" misspelled as "it's".
- Use if statements rather than ?: with 0 "else part" after the : in macros
  whose bodies are statements anyway (and already protected by PR_BEGIN_MACRO
  and PR_END_MACRO).
- Such if statements test for non-null pointers, so the subsequent statements
  to null those pointers can move into the then parts -- there's no point in
  setting a null pointer to null again.
1999-07-17 03:32:39 +00:00
warren%netscape.com
84bd74a4fd Big changes for Necko load groups. Things are much happier now. Now images work (on pages, but not in chrome). 1999-07-16 11:14:36 +00:00
mccabe%netscape.com
07f00c67ca Remove vestiges of XPIDL_JS_STUBS (no longer used or implemented by xpidl-generated files.) 1999-07-16 01:20:03 +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
scc%netscape.com
ab2352e498 switched over to _not_ using |__comobject|. Adjusted assembly to skip extra vtable header, and fixed inheritance in |nsISupports| 1999-07-15 03:02:01 +00:00
mscott%netscape.com
607ea9e584 Rewrite NS_IMPL_THREADSAFE_ADDREF and NS_IMPL_THREADSAFE_RELEASE in cross platform way instead of having separate
implementations for windows and everyone else. They are now written to use PR_AtomicIncrement and PR_AtomicDecrement.
this meant adding #include "pratom.h".

A side effect of this change is that no one needs to include "windows.h" in .cpp files which were implementing threadsafe
interfaces. You used to have to do this before with the old implementations.
1999-07-02 20:18:20 +00:00
jband%netscape.com
0938e9a7df quick fix for bug 9250 - assert on startup 1999-06-30 07:13:26 +00:00
scc%netscape.com
0dfaa19773 all the changes are in, time to remove the #undef line so the traits class can do the right thing on platforms that support template specialization 1999-06-30 01:40:21 +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
806ab190c0 do_QueryInterface(NULL, &error) now returns the appropriate error in |error| 1999-06-29 21:09:56 +00:00
scc%netscape.com
f79508bc68 |nsISupports::GetIID()| --> |nsCOMTypeInfo<nsISupports>::GetIID()| 1999-06-29 21:01:31 +00:00
scc%netscape.com
ed5943e923 add traits class to solve multiple |GetIID()| problems 1999-06-29 20:11:57 +00:00
mcafee%netscape.com
7f42e390e5 BeOS changes 1999-06-29 10:27:58 +00:00
alecf%netscape.com
9f7fabff19 fix signed/unsigned issues 1999-06-27 06:18:41 +00:00
dveditz%netscape.com
9fb13399c8 Adding NS_RELEASE_THIS() 1999-06-16 03:28:25 +00:00
waterson%netscape.com
4ef0ae057a Add MOZ_TRACE_REFCNT to allow you to instrument individual implementations of AddRef() & Release(). 1999-06-15 03:25:27 +00:00
mcmullen%netscape.com
17eb7aae98 Compromise. On other platforms, NS_WARNING does not call break. So we'll do the same. So for NS_WARNING, we'll simply print to the console and continue, a la mode de Pierre, while for other forms of NS_BLOWCHUNKS, we'll break into the debugger, as of old. 1999-06-10 19:50:56 +00:00
ramiro%netscape.com
8b1c0c50d5 This is all C code. 1999-06-09 10:08:12 +00:00
sfraser%netscape.com
bbefbc1756 Back out pierre change, so that NS_ASSERTION calls DebugStr once again. Doing this on the basis of consensus at 7/6 macdev meeting. 1999-06-08 22:13:40 +00:00
pierre%netscape.com
290128f36a (Mac only) PR_LOG() calls printf() with a "���" header instead of falling into MacsBug. 1999-06-04 23:04:28 +00:00
warren%netscape.com
9e109c9eb6 Fixed GenericFactory linkage problems. 1999-06-03 21:51:14 +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
bruce%cybersight.com
2c4766ddbd Remove static IID kISupportsIID from the default QueryInterfaces implementation macro. Replace with call to nsISupports::GetIID(). Tested by dp, myself and tague on the 3 main platforms (Win32, Linux and Mac respectively). 1999-05-29 16:25:18 +00:00
dp%netscape.com
b21d1e72dc Fixing nsrefcnt to be unsigned long to maintain binary compatibility. All Addref() and Release() prototypes modified appropriately 1999-05-28 04:53:17 +00:00
dp%netscape.com
381323acf0 Reversing changing type of nsrefcnt. Mailnews code has specific Release() implementation that mention a different type. We need to fix that first. 1999-05-28 02:07:49 +00:00
dp%netscape.com
246c3f4fe4 Fixed Binary compability with COM's nsIUnknown w.r.t return value types of Addref and Release.
nsrefcnt is defined as unsigned long for windows machines with 4 bytes per long.
1999-05-28 01:22:35 +00:00