Commit Graph

222 Commits

Author SHA1 Message Date
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
80b34575a6 well, now it needs to include nsCOMPtr, since the header doesn't anymore
git-svn-id: svn://10.0.0.236/trunk@41967 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-03 08:34:17 +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
9f1efce3fd getting ready to build
git-svn-id: svn://10.0.0.236/trunk@41944 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-03 04:59:47 +00:00
scc%netscape.com
abcca60995 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@41938 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-03 03:41:27 +00:00
jband%netscape.com
27d53aa51d fix this macro that no one is using so that I can use it in my factory in xpconnect
git-svn-id: svn://10.0.0.236/trunk@41644 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-31 00:14:55 +00:00
jband%netscape.com
c8367e70cd differentiate between Win32 x86 and NT Alpha for a few low level debug activities. From bob meader <bob@guiduck.com>
git-svn-id: svn://10.0.0.236/trunk@41012 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-24 22:00:00 +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
brendan%mozilla.org
9fe426a54c - 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.


git-svn-id: svn://10.0.0.236/trunk@39842 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-17 03:32:39 +00:00
warren%netscape.com
84a03567fa Big changes for Necko load groups. Things are much happier now. Now images work (on pages, but not in chrome).
git-svn-id: svn://10.0.0.236/trunk@39678 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-16 11:14:36 +00:00
mccabe%netscape.com
61999b029b Remove vestiges of XPIDL_JS_STUBS (no longer used or implemented by xpidl-generated files.)
git-svn-id: svn://10.0.0.236/trunk@39610 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-16 01:20:03 +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
scc%netscape.com
87179b94e7 switched over to _not_ using |__comobject|. Adjusted assembly to skip extra vtable header, and fixed inheritance in |nsISupports|
git-svn-id: svn://10.0.0.236/trunk@39496 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-15 03:02:01 +00:00
mscott%netscape.com
24936d5848 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.


git-svn-id: svn://10.0.0.236/trunk@38130 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-02 20:18:20 +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
scc%netscape.com
180949a473 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
git-svn-id: svn://10.0.0.236/trunk@37508 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-30 01:40:21 +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
c66394589f do_QueryInterface(NULL, &error) now returns the appropriate error in |error|
git-svn-id: svn://10.0.0.236/trunk@37467 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:09:56 +00:00
scc%netscape.com
a2d0be4d64 |nsISupports::GetIID()| --> |nsCOMTypeInfo<nsISupports>::GetIID()|
git-svn-id: svn://10.0.0.236/trunk@37444 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:01:31 +00:00
scc%netscape.com
fd2d046e02 add traits class to solve multiple |GetIID()| problems
git-svn-id: svn://10.0.0.236/trunk@37421 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 20:11:57 +00:00
mcafee%netscape.com
b366c7e0ba BeOS changes
git-svn-id: svn://10.0.0.236/trunk@37402 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 10:27:58 +00:00
alecf%netscape.com
94bbcdaf2f fix signed/unsigned issues
git-svn-id: svn://10.0.0.236/trunk@37111 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-27 06:18:41 +00:00
dveditz%netscape.com
6ee73b8ff9 Adding NS_RELEASE_THIS()
git-svn-id: svn://10.0.0.236/trunk@35631 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-16 03:28:25 +00:00
waterson%netscape.com
3fecdf8813 Add MOZ_TRACE_REFCNT to allow you to instrument individual implementations of AddRef() & Release().
git-svn-id: svn://10.0.0.236/trunk@35332 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-15 03:25:27 +00:00
mcmullen%netscape.com
945fc61529 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.
git-svn-id: svn://10.0.0.236/trunk@34615 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-10 19:50:56 +00:00
ramiro%netscape.com
58110cdb96 This is all C code.
git-svn-id: svn://10.0.0.236/trunk@34403 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-09 10:08:12 +00:00
sfraser%netscape.com
da9bcac667 Back out pierre change, so that NS_ASSERTION calls DebugStr once again. Doing this on the basis of consensus at 7/6 macdev meeting.
git-svn-id: svn://10.0.0.236/trunk@34291 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-08 22:13:40 +00:00
pierre%netscape.com
79a9957748 (Mac only) PR_LOG() calls printf() with a "¥¥¥" header instead of falling into MacsBug.
git-svn-id: svn://10.0.0.236/trunk@33847 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-04 23:04:28 +00:00
warren%netscape.com
42b3b62f98 Fixed GenericFactory linkage problems.
git-svn-id: svn://10.0.0.236/trunk@33604 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:51:14 +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
bruce%cybersight.com
b79cb3c360 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).
git-svn-id: svn://10.0.0.236/trunk@33240 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-29 16:25:18 +00:00
dp%netscape.com
75dc8b1770 Fixing nsrefcnt to be unsigned long to maintain binary compatibility. All Addref() and Release() prototypes modified appropriately
git-svn-id: svn://10.0.0.236/trunk@33100 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 04:53:17 +00:00
dp%netscape.com
03e1f16be9 Reversing changing type of nsrefcnt. Mailnews code has specific Release() implementation that mention a different type. We need to fix that first.
git-svn-id: svn://10.0.0.236/trunk@33083 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 02:07:49 +00:00
dp%netscape.com
c6b7ed14b1 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.


git-svn-id: svn://10.0.0.236/trunk@33077 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-28 01:22:35 +00:00
dp%netscape.com
24134a98b3 Adding progid and classname
git-svn-id: svn://10.0.0.236/trunk@33026 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-27 22:47:27 +00:00
pinkerton%netscape.com
a8f72852cc missing [] on delete of internal array in operator=.
git-svn-id: svn://10.0.0.236/trunk@32711 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 21:13:29 +00:00
dp%netscape.com
befa259a88 Landing xpcom20/21 branch.
git-svn-id: svn://10.0.0.236/trunk@32644 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 01:38:36 +00:00
sfraser%netscape.com
c00e1eb8f1 Include <string.h>, not "string.h". Also added include guards, which should be a big win on commonly included files like this one.
git-svn-id: svn://10.0.0.236/trunk@31565 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-14 03:07:23 +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
akkana%netscape.com
3a70f7a5cb New build option enable-crash-on-assert for those who really want the old behavior
git-svn-id: svn://10.0.0.236/trunk@31157 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-11 22:22:24 +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
mcafee%netscape.com
a3948e9888 Renaming nsQuickSort to NS_QuickSort so it doesn't look like a class name. r=brendan@netscape.com
git-svn-id: svn://10.0.0.236/trunk@30913 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-10 06:47:04 +00:00