Commit Graph

58 Commits

Author SHA1 Message Date
mkaply%us.ibm.com
837fe82aaa # 25555
r= dp@netscape.com
OS/2 changes for Mozilla - add #ifdef, change #ifdef


git-svn-id: svn://10.0.0.236/trunk@61873 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-29 15:50:48 +00:00
scc%netscape.com
0d69deea47 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.
git-svn-id: svn://10.0.0.236/trunk@60471 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-11 08:38:14 +00:00
scc%netscape.com
dbe29c01c8 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)


git-svn-id: svn://10.0.0.236/trunk@60461 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-11 07:12:02 +00:00
scc%netscape.com
f2d3cb0785 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


git-svn-id: svn://10.0.0.236/trunk@60459 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-11 07:07:57 +00:00
scc%netscape.com
27364da951 Added |NS_ISUPPORTS_CAST()|. Added |NS_DebugGetRefCount()| as per bug #26803. r={pinkerton, hyatt}
git-svn-id: svn://10.0.0.236/trunk@60406 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-11 01:42:58 +00:00
scc%netscape.com
d5bc449880 Eliminating duplicate macros, r=dougt
git-svn-id: svn://10.0.0.236/trunk@59906 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-05 23:55:09 +00:00
warren%netscape.com
70c4b690e2 Added NS_IMPL_ISUPPORTS_INHERITED3 macro.
git-svn-id: svn://10.0.0.236/trunk@59642 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-03 08:51:30 +00:00
pinkerton%netscape.com
1a6c24150a Fix build bustage. needed a typecast in some cases, but not others.
git-svn-id: svn://10.0.0.236/trunk@58842 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-26 23:17:53 +00:00
pinkerton%netscape.com
cd97ef9165 fix for NS_INTERFACE_MAP_END_INHERITING, wrong local var passed to base class's QI. r=scc.
git-svn-id: svn://10.0.0.236/trunk@58809 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-26 21:54:07 +00:00
dougt%netscape.com
714da09a59 Landing nsIFile.
git-svn-id: svn://10.0.0.236/trunk@58490 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-24 21:28:28 +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
9ff3330264 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}
git-svn-id: svn://10.0.0.236/trunk@57551 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-12 16:01:14 +00:00
dp%netscape.com
9b0cfefb70 NS_GET_IID(). Thanks to patch from pp@ludasdesign.com r=dp@netscape.com
git-svn-id: svn://10.0.0.236/trunk@54812 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-30 23:36:32 +00:00
scc%netscape.com
50681e94de 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
git-svn-id: svn://10.0.0.236/trunk@54256 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 05:55:31 +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
tbogard%aol.net
0154b52329 Second phase of changing NS_ENSURE() to NS_ENSURE_TRUE() and NS_ENSURE_NOT() to NS_ENSURE_FALSE(). r=hyatt
git-svn-id: svn://10.0.0.236/trunk@52457 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:18:52 +00:00
tbogard%aol.net
e3a1567dcc 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.
git-svn-id: svn://10.0.0.236/trunk@52376 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-01 06:59:16 +00:00
tbogard%aol.net
9fa90714c2 Just added support for an NS_IMPL_ISUPPORTS 7 - 10.
git-svn-id: svn://10.0.0.236/trunk@51703 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-25 03:42:10 +00:00
tbogard%aol.net
398c14c4d0 Just added support for an NS_IMPL_ISUPPORTS6.
git-svn-id: svn://10.0.0.236/trunk@51654 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-23 06:55:45 +00:00
waterson%netscape.com
e20da712ec 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
git-svn-id: svn://10.0.0.236/trunk@50413 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-12 02:10:08 +00:00
kipp%netscape.com
e18af2d0ee Cleanup moz-decl-counter usage and fix NS_LOG_ADDREF usage
git-svn-id: svn://10.0.0.236/trunk@50239 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-08 20:41:19 +00:00
warren%netscape.com
c9fbdb8075 Fixed AddRef/Release problems to eliminate negative refcounts in Bloaty.
git-svn-id: svn://10.0.0.236/trunk@50188 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-08 01:49:06 +00:00
warren%netscape.com
fc64e1c69b Added 'Bloaty' refcounting and memory bloat statistics code
git-svn-id: svn://10.0.0.236/trunk@50152 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-07 21:50:20 +00:00
waterson%netscape.com
9145c77cc4 Bug 15367. Dump 'class' instead of 'file/line' for NS_LOG_REFCNT. r=shaver,dp
git-svn-id: svn://10.0.0.236/trunk@49757 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-05 00:07:54 +00:00
tbogard%aol.net
2a33b327b9 Changed NS_ENSURE* macros to use the new NS_WARN_IF_FALSE instead of the NS_ERROR. r=shaver.
git-svn-id: svn://10.0.0.236/trunk@49546 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-01 04:34:03 +00:00
alecf%netscape.com
facf7156ab add new query_interface4 and query_interfac5 (hey, I needed it!)
git-svn-id: svn://10.0.0.236/trunk@47202 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-13 23:23:20 +00:00
tbogard%aol.net
e971381937 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.
git-svn-id: svn://10.0.0.236/trunk@44497 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-25 14:03:25 +00:00
tbogard%aol.net
a65a78136a 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.
git-svn-id: svn://10.0.0.236/trunk@44442 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-25 03:16:23 +00:00
tbogard%aol.net
2957e9ac6e Fixed NS_ENSURE macros to use PR_BEGIN_MACRO and PR_END_MACRO. Also removed indentation before #.
git-svn-id: svn://10.0.0.236/trunk@44203 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-24 00:48:43 +00:00
scc%netscape.com
56d5ad0b43 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
git-svn-id: svn://10.0.0.236/trunk@44139 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-23 10:14:16 +00:00
scc%netscape.com
3d123a8048 fixed ambiguous static cast in the NS_IMPL_QUERYINTERFACE2 case
git-svn-id: svn://10.0.0.236/trunk@44029 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-21 22:33:15 +00:00
jband%netscape.com
619c3e3df4 fix bustage due to ambiguity in use of static_cast
git-svn-id: svn://10.0.0.236/trunk@44027 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-21 22:03:39 +00:00
scc%netscape.com
256b8039a8 Bad merge left two copies of ...QUERYINTERFACE2. Sorry.
git-svn-id: svn://10.0.0.236/trunk@44023 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-21 20:39:59 +00:00
scc%netscape.com
70e5060219 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.
git-svn-id: svn://10.0.0.236/trunk@44019 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-21 20:22:35 +00:00
tbogard%aol.net
591757e319 XPCOM Cleanup: Added macros to make checking arguments and state upon entering interface boundaries easier.
git-svn-id: svn://10.0.0.236/trunk@43555 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-19 05:32:15 +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
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
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
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
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
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
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
jband%netscape.com
809d970fe8 checking in generated versions of these xpcom headers. soon we will be generating these at compile time. Sources for these files are in xpcom/idl. They are regenerated from those files using xpidl -m header filename.idl
git-svn-id: svn://10.0.0.236/trunk@30647 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-07 01:45:20 +00:00