warren%netscape.com
4f37cd6a88
Made the thread-safety checking able to be turned on/off by the XPCOM_CHECK_THREADSAFE env var. a=jar,r=mscott
2000-03-08 09:21:32 +00:00
pinkerton%netscape.com
269b2e0bef
beard got the logic backwards, now we really shouldn't assert on mac. r=danm.
2000-03-07 03:57:31 +00:00
beard%netscape.com
82108adc79
to avoid unnecessary assertions, configurations not defining NS_MT_SUPPORTED (such as the Mac) shouldn't use the OWNINGTHREAD machinery. r=warren, a=leaf
2000-03-06 23:55:14 +00:00
danm%netscape.com
d07a0f1ccf
bump refcount in threadsafe release macro. bug 30666 r=warren
2000-03-06 21:10:46 +00:00
warren%netscape.com
eccfbfd823
Fixing mac bustage -- doubly defined NS_IMPL_THREADSAFE_ISUPPORTS macro.
2000-03-05 21:59:15 +00:00
warren%netscape.com
7e37f4f478
Bug 21556: Making linux be thread-safe. Making tons of classes implement threadsafe AddRef/Release. a=jar
2000-03-05 21:26:01 +00:00
mkaply%us.ibm.com
2d408fcbfa
# 25555
...
r= dp@netscape.com
OS/2 changes for Mozilla - add #ifdef, change #ifdef
2000-02-29 15:50:48 +00:00
scc%netscape.com
16e7483e83
Somebody is |#include|ing this file inside an |extern "C"| declaration. This is wrong, and stops the build on some platforms. In the meantime, protect the new template declarations to stop the build bustage.
2000-02-11 08:38:14 +00:00
scc%netscape.com
d4c7e579b8
Fixed up |NS_IF_ADDREF| to support the following use efficiently in the non-logging case
NS_IF_ADDREF(*result = mFoo);
as per bug #27343 . r=jband
(Actually, I like the generated error better when I make this small modification to the template)
2000-02-11 07:12:02 +00:00
scc%netscape.com
62856aa9fe
Fixed up |NS_IF_ADDREF| to support the following use efficiently in the non-logging case
NS_IF_ADDREF(*result = mFoo);
as per bug #27343 . r=jband
2000-02-11 07:07:57 +00:00
scc%netscape.com
438f45d38a
Added |NS_ISUPPORTS_CAST()|. Added |NS_DebugGetRefCount()| as per bug #26803 . r={pinkerton, hyatt}
2000-02-11 01:42:58 +00:00
scc%netscape.com
289a5951c8
Eliminating duplicate macros, r=dougt
2000-02-05 23:55:09 +00:00
warren%netscape.com
5d149c8c38
Added NS_IMPL_ISUPPORTS_INHERITED3 macro.
2000-02-03 08:51:30 +00:00
pinkerton%netscape.com
fba1c0f594
Fix build bustage. needed a typecast in some cases, but not others.
2000-01-26 23:17:53 +00:00
pinkerton%netscape.com
39eb3bc816
fix for NS_INTERFACE_MAP_END_INHERITING, wrong local var passed to base class's QI. r=scc.
2000-01-26 21:54:07 +00:00
dougt%netscape.com
fd69a2f423
Landing nsIFile.
2000-01-24 21:28:28 +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
c6003b78d0
factor the |IMPL_QUERY| macros to support inheriting |QueryInterface|. Redefine all the |NS_IMPL_ISUPPORTSn| macros in terms of the table-style macros. r={pinkerton, sfraser}
2000-01-12 16:01:14 +00:00
dp%netscape.com
187770cd22
NS_GET_IID(). Thanks to patch from pp@ludasdesign.com r=dp@netscape.com
1999-11-30 23:36:32 +00:00
scc%netscape.com
aafea758f4
added macros preparing us to move to table-driven QI. Please note: travis will be supporting any problems with this checkin till I'm back online in Michigan. r=tbogard
1999-11-23 05:55:31 +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
tbogard%aol.net
8699825fa8
Second phase of changing NS_ENSURE() to NS_ENSURE_TRUE() and NS_ENSURE_NOT() to NS_ENSURE_FALSE(). r=hyatt
1999-11-02 01:18:52 +00:00
tbogard%aol.net
c6f78c5454
Changed NS_ENSURE to be NS_ENSURE_TRUE. Also changed NS_ENSURE_NOT to be NS_ENSURE_FALSE. Left NS_ENSURE and NS_ENSURE_NOT, but they will soon be going away.
1999-11-01 06:59:16 +00:00
tbogard%aol.net
a93f3b139b
Just added support for an NS_IMPL_ISUPPORTS 7 - 10.
1999-10-25 03:42:10 +00:00
tbogard%aol.net
e58ac9ffbc
Just added support for an NS_IMPL_ISUPPORTS6.
1999-10-23 06:55:45 +00:00
waterson%netscape.com
ab20f5e245
Bug 16105. (Bugsplat 366256.) Ensure that nsISupports::Release() calls dtor only once by 'stabilizing' refcnt to a non-zero value before invoking the dtor. See also news://news.mozilla.org/37FD0F3C.3078AE5C%40netscape.com. r=scc,fur
1999-10-12 02:10:08 +00:00
kipp%netscape.com
b0dcc883f8
Cleanup moz-decl-counter usage and fix NS_LOG_ADDREF usage
1999-10-08 20:41:19 +00:00
warren%netscape.com
b90a06a288
Fixed AddRef/Release problems to eliminate negative refcounts in Bloaty.
1999-10-08 01:49:06 +00:00
warren%netscape.com
7023bc55f6
Added 'Bloaty' refcounting and memory bloat statistics code
1999-10-07 21:50:20 +00:00
waterson%netscape.com
ce673a63e9
Bug 15367. Dump 'class' instead of 'file/line' for NS_LOG_REFCNT. r=shaver,dp
1999-10-05 00:07:54 +00:00
tbogard%aol.net
19e7c06b2c
Changed NS_ENSURE* macros to use the new NS_WARN_IF_FALSE instead of the NS_ERROR. r=shaver.
1999-10-01 04:34:03 +00:00
alecf%netscape.com
617f2546c7
add new query_interface4 and query_interfac5 (hey, I needed it!)
1999-09-13 23:23:20 +00:00
tbogard%aol.net
cd6503d9f4
Added a couple of new macros to the NS_ENSURE family. NS_ENSURE_SUCCESS(res, ret). It ensures that a given result is an XPCOM success code, if not returns back whatever you pass in ret. And NS_ENSURE_NO_AGGREGATION(outer) checks to make sure the instantiating client is not trying to do aggregation and returns back an error if it is.
1999-08-25 14:03:25 +00:00
tbogard%aol.net
d68e2bfd62
Removed the #ifdef DEBUG around the definition of NS_ENSURE. The only difference between the two was the NS_ERROR. NS_ERROR is already conditional upon debug so this was a bit redundant.
1999-08-25 03:16:23 +00:00
tbogard%aol.net
794112b53b
Fixed NS_ENSURE macros to use PR_BEGIN_MACRO and PR_END_MACRO. Also removed indentation before #.
1999-08-24 00:48:43 +00:00
scc%netscape.com
0454213f91
got rid of |NS_IMPL_ISUPPORTS|, where possible, in favor of |NS_IMPL_ISUPPORTS0| or ...1 according to the specific use; got rid of |NS_DEFINE_IID| where possible, or where it should have been |NS_DEFINE_CID|; fixed bad implementations of |QueryInterface|, where possible. Built, tested apprunner, reviewed the changes with hyatt (since he was around to look) before checking in
1999-08-23 10:14:16 +00:00
scc%netscape.com
f3c4fc5051
fixed ambiguous static cast in the NS_IMPL_QUERYINTERFACE2 case
1999-08-21 22:33:15 +00:00
jband%netscape.com
6c8672fc58
fix bustage due to ambiguity in use of static_cast
1999-08-21 22:03:39 +00:00
scc%netscape.com
b4ce414c43
Bad merge left two copies of ...QUERYINTERFACE2. Sorry.
1999-08-21 20:39:59 +00:00
scc%netscape.com
2de2cc6d8a
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
tbogard%aol.net
968e8cf4a5
XPCOM Cleanup: Added macros to make checking arguments and state upon entering interface boundaries easier.
1999-08-19 05:32:15 +00:00
brendan%mozilla.org
22b5e360df
- 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
c5684bf4d7
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
e2d13fb831
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
a9e605070f
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
328301a43d
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
scc%netscape.com
1bf2a0c6f1
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
scc%netscape.com
7f5981ed65
add traits class to solve multiple |GetIID()| problems
1999-06-29 20:11:57 +00:00
dveditz%netscape.com
43eb020a43
Adding NS_RELEASE_THIS()
1999-06-16 03:28:25 +00:00
waterson%netscape.com
9bd4de486d
Add MOZ_TRACE_REFCNT to allow you to instrument individual implementations of AddRef() & Release().
1999-06-15 03:25:27 +00:00