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

241 Коммитов

Автор SHA1 Сообщение Дата
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
tbogard%aol.net ff2fe303c1 Flipped the default of the Windows Warning box that can come up. It now requires an environment variable be set to come up. 1999-11-29 05:50:22 +00:00
akkana%netscape.com fbc4fa0011 AbortIfFalse should abort on all platforms -- that's the whole point. r=shaver 1999-11-24 21:58:20 +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
scc%netscape.com c80acd0854 don't ASSERT that it doesn't support weak references for NULL. r=pinkerton 1999-11-23 03:10:02 +00:00
scc%netscape.com 3122c37753 clear out result in |do_QueryReferent| on error; assert in |NS_GetWeakReference| if the source object doesn't support weak references; also return NS_ERROR_NO_INTERFACE in release builds. r=pinkerton 1999-11-22 22:59:21 +00:00
dveditz%netscape.com 777a3921cc x86 win should join unix and alpha win part of DBG_LOG macro 1999-11-22 08:41:04 +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
dp%netscape.com 0b9b87c92c Eliminating leak of factory when getting it from hashtable.
Using NS_IMPL_ISUPPORTS1
Removing NS_DEFINE_IID
r=warren@netscape.com
1999-11-20 07:21:53 +00:00
warren%netscape.com 6770f57524 Fixed generic module factory lookup to look in cache. 1999-11-19 02:46:50 +00:00
fur%netscape.com 4f42d0d409 Fixed a problem with the NS_GENERIC_FACTORY_CONSTRUCTOR_INIT() macro.
If the Init() routine happens to perform a balanced AddRef/Release,
the instance will be prematurely destroyed when Release() is called.
The change is to do the AddRef() before calling the initialization
routine to stabilize the instance's ref-count.

r: dp, putterman
1999-11-16 03:05:36 +00:00
warren%netscape.com 98a1f3c523 Minor fix. 1999-11-12 09:10:40 +00:00
warren%netscape.com 4471ddf809 Added NS_NewGenericModule. Made NS_IMPL_NSGETFACTORY use it to save space. r=dp,alecf 1999-11-12 09:07:26 +00:00
tbogard%aol.net 60c2846eae NS_WARN_IF_FALSE now by default puts the windows messagebox up on a tripped warning condition. Before it relied on the developer having an environment variable set. r=pink a=sdagley 1999-11-10 04:32:33 +00:00
shaver%netscape.com 61511e23f5 - NS_ERROR_FACTORY_REGISTER_AGAIN for deferring registration of a module until
later in the autoreg cycle.
- teach native component loader about deferred components
- add nsIComponentLoader::registerDeferredComponents
- teach component manager about deferred components
- made nsID::Parse take a |const char *| instead of a simple |char *|.
- move release of XPTI singletons until _after_ shutting down the component
  manager to prevent re-initialization during JS component shutdown.
- category manager work: really delete from reg, start on enumeration
- use nsXPIDLCString instead of autoStringFree.
- fix nsRegistry to use allocator properly.
- cleaner memory management in nsFactoryEntry.
- capitalization fixed in nsIComponentLoader.idl
- clean up loader creation logic
- remove/disable lots of DEBUG_shaver noise
- added (disabled) warning about NSGetFactory usage
- move .so and .shlb higher up in the ValidDllExtensions list to marginally
  speed up registration.
- added nsDll::GetRegistryLocation API
- properly export nsSupportsArray.h
- capitalization fixes in nsIEnumerator.idl
- added deferral to nsSample.js
1999-11-10 00:28:34 +00:00
scc%netscape.com 49bd71ade0 Added |do_CreateInstance()|, |do_GetService()| both by CID and ProgID. See bugs #17364, #17448. r={travis, dp} 1999-11-10 00:14:54 +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
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
alecf%netscape.com 13eaac5db2 cleanup NS_IMPL_MODULE and friends
- define new nsModuleComponentInfo and use it instead of components_t
- use size_t instead of unsigned int
- add some docs
- allow user to define own module name
1999-11-02 01:12:32 +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
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
valeski%netscape.com 96d6215964 15590, r=kipp. added a nsCStringArray class so the cool string array functionality could be used for CStrings too. this checkin is *part* of a fix to the bug 1999-10-29 20:47:17 +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
putterman%netscape.com 03260d2789 Create a version of NS_GENERIC_FACTORY_CONSTRUCTOR that lets you pass in
an initialization function.  No bug.  Reviewed by dp.
1999-10-10 22:30:55 +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
alecf%netscape.com fe5db68d0a add new NS_xxx_MODULE* macros (not used anywhere in the build just yet) 1999-10-08 00:12:29 +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
kipp%netscape.com c90dade264 r=brendan; applied changes recommended by brendan 1999-10-04 23:35:51 +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
beard%netscape.com b1e1f90c07 fix breakage on Mac, r=kipp 1999-09-30 22:45:23 +00:00
beard%netscape.com aa9f92635a fix breakage on Mac 1999-09-30 22:30:32 +00:00
kipp%netscape.com 233c1f07ea Whoops. Fixed 1999-09-30 22:21:31 +00:00
kipp%netscape.com 61973f750f Added in new nsDebug macros 1999-09-30 21:39:31 +00:00
shaver%netscape.com 1fe19c92b7 add componentType to nsIModule::RegisterSelf 1999-09-22 03:18:27 +00:00
scc%netscape.com 13de5fd9cc Made a protected method for severing weak references early 1999-09-21 20:20:04 +00:00
warren%netscape.com ce1be74e8b fixed mismatched free issues with nsID::ToString 1999-09-20 20:52:12 +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
shaver%netscape.com df50cccf6f teach component manager that there are non-native entries in the registry 1999-09-07 23:18:47 +00:00
akkana%netscape.com 73f7c13c31 Print all warning messages on stdout, not just assertions 1999-09-07 19:15:10 +00:00
shaver%netscape.com 5247634d38 put back <string.h> until we find all the uses =( 1999-09-06 21:22:36 +00:00
shaver%netscape.com fa261074c3 remove gratuituous <string.h> include 1999-09-06 18:35:03 +00:00
shaver%netscape.com 53277f4711 convert to CreateInstanceFromProgID 1999-09-05 06:27:42 +00:00
kipp%netscape.com d07faca171 Reworked sizeof api's to be much more useful; updated implementations to match 1999-08-31 03:04:37 +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
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 06e8699a24 fixed tabs 1999-08-23 10:07:16 +00:00
mccabe%netscape.com b95a2bdd54 Replace manual method declarations in implementations of xpcom/ interfaces with NS_DECL_NSIFOO. 1999-08-22 11:25:50 +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
scc%netscape.com 9d8652d710 added license, fixed tabs 1999-08-21 20:07:27 +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
scc%netscape.com 944678da9d renamed to QueryReferent, do_QueryReferent, etc. 1999-08-13 23:00:58 +00:00
danm%netscape.com 4b3daedbe5 fix WeakReference exporting for Windows. a:chofmann r:scc. 1999-08-11 23:48:08 +00:00
sspitzer%netscape.com cbcb2ce098 fix warnings 1999-08-05 19:47:10 +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 fffe08a5ec well, now it needs to include nsCOMPtr, since the header doesn't anymore 1999-08-03 08:34:17 +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 3b6747cc0a getting ready to build 1999-08-03 04:59:47 +00:00
scc%netscape.com 7099e1336a First Checked In. 1999-08-03 03:41:27 +00:00
jband%netscape.com 1d04b3c73c 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 61da273cf3 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 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
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 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
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
jband%netscape.com cc711499f4 quick fix for bug 9250 - assert on startup 1999-06-30 07:13:26 +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
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 6df1f92d72 do_QueryInterface(NULL, &error) now returns the appropriate error in |error| 1999-06-29 21:09:56 +00:00
scc%netscape.com 54c96baa72 |nsISupports::GetIID()| --> |nsCOMTypeInfo<nsISupports>::GetIID()| 1999-06-29 21:01:31 +00:00
scc%netscape.com 7f5981ed65 add traits class to solve multiple |GetIID()| problems 1999-06-29 20:11:57 +00:00
mcafee%netscape.com 4aca8a8246 BeOS changes 1999-06-29 10:27:58 +00:00
alecf%netscape.com a5bae12a33 fix signed/unsigned issues 1999-06-27 06:18:41 +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
mcmullen%netscape.com 456af7c5d9 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 00a0b35eb5 This is all C code. 1999-06-09 10:08:12 +00:00