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

252 Коммитов

Автор SHA1 Сообщение Дата
sspitzer%netscape.com 22b6b14e23 purify related fixes. first, prevent a crash that was prevent me
from running purify in nsGenericFactory.cpp.  Second, add support
for "mozilla -pure".  Only works if you've build mozilla.bin.pure, of course.
1999-12-15 06:23:50 +00:00
scc%netscape.com 964ca8227e Fix specialized |CallQueryInterface| as per review by travis ... r=travis. 1999-12-08 01:44:06 +00:00
scc%netscape.com 8c4ec2ebea Adding an alternate version of |CallQueryInterface| as an experiment on behalf of travis. This function is not yet called, and should not effect the build or the runtime. r=hyatt 1999-12-07 14:09:29 +00:00
sfraser%netscape.com ef6b5d0398 Make sure that all warnings just printf on Mac, and don't dump you into MacsBug. r=pinkerton 1999-12-07 07:21:30 +00:00
jband%netscape.com 2eaaa4083b adding member initializer to quiet Purify. r=waterson. 1999-12-07 07:17:44 +00:00
mscott%netscape.com 2266405677 Fix build breakage for Travis. 1999-12-07 00:15:42 +00:00
tbogard%aol.net 2bc8f99632 Changed the way Assertion works. Get ready to remove all the old assertions methods. NS_ASSERTION now works the same way it used with the exception that on Windows it will put up and abort, retry, ignore box if you aren't in the debugger. r=warren. 1999-12-06 23:34:48 +00:00
warren%netscape.com d25432f38d Prefixed error/warning messages with something bold and assertive! (And somewhat distinguishable from other output.) 1999-12-02 02:37:54 +00:00
waterson%netscape.com 084b9e5d76 Make 'kGrowArrayBy' const. Thanks, Heikki. 1999-12-01 22:44:42 +00:00
warren%netscape.com 9da80972f9 Made WarnIfFalse not call abort. Made abort be continuable on Windows. r=travis 1999-12-01 05:51:45 +00:00
waterson%netscape.com 6d00264a22 Bug 9489. Add support for nsAutoVoidArray. r=scc,shaver 1999-12-01 00:37:11 +00:00
dp%netscape.com edcdeb94a5 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 88639c509e 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 efc8c03546 AbortIfFalse should abort on all platforms -- that's the whole point. r=shaver 1999-11-24 21:58:20 +00:00
scc%netscape.com 67b0bb7084 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 e2e36b3c4a 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 d34a60c8e2 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 446b50640e x86 win should join unix and alpha win part of DBG_LOG macro 1999-11-22 08:41:04 +00:00
scc%netscape.com 778573923a 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 f7a9bde3c4 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 e43ba43af2 Fixed generic module factory lookup to look in cache. 1999-11-19 02:46:50 +00:00
fur%netscape.com 8dc3eec4c8 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 9669aaed56 Minor fix. 1999-11-12 09:10:40 +00:00
warren%netscape.com 7f04320416 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 dc27e88ecd 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 c73533acb7 - 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 e46756059d 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 d5c96b7f3f 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 20035843b1 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 142ac52eaf 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 fd87026ad8 backing out changes. looks like this stuff is untested in a full build. 1999-11-05 03:31:04 +00:00
cls%seawood.org 9c777b0938 Fix for the template variable change from <T> to <nsISupports>. r=dougt 1999-11-05 03:11:03 +00:00
dougt%netscape.com 477a69da9d 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 04c2ee43f4 shutting up copious warnings using /W4 on MSVC 1999-11-03 07:39:19 +00:00
tbogard%aol.net 209f598dcb 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 649ac66265 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 3d60c7ebb0 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 b2c12428df 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 aad867ad42 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 0d9a9d8ba4 Just added support for an NS_IMPL_ISUPPORTS 7 - 10. 1999-10-25 03:42:10 +00:00
tbogard%aol.net 8d8ce920cb Just added support for an NS_IMPL_ISUPPORTS6. 1999-10-23 06:55:45 +00:00
waterson%netscape.com 8241422540 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 07068ab854 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 65f6ba5343 Cleanup moz-decl-counter usage and fix NS_LOG_ADDREF usage 1999-10-08 20:41:19 +00:00
warren%netscape.com 8c71c45537 Fixed AddRef/Release problems to eliminate negative refcounts in Bloaty. 1999-10-08 01:49:06 +00:00
alecf%netscape.com 85fe25d739 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 37676fadb0 Added 'Bloaty' refcounting and memory bloat statistics code 1999-10-07 21:50:20 +00:00
waterson%netscape.com 2efd076b82 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 a5969c2c3f r=brendan; applied changes recommended by brendan 1999-10-04 23:35:51 +00:00
tbogard%aol.net fa4392cf29 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 effe837ad8 fix breakage on Mac, r=kipp 1999-09-30 22:45:23 +00:00
beard%netscape.com 77f45de475 fix breakage on Mac 1999-09-30 22:30:32 +00:00
kipp%netscape.com 573461a95a Whoops. Fixed 1999-09-30 22:21:31 +00:00
kipp%netscape.com 556d538c8f Added in new nsDebug macros 1999-09-30 21:39:31 +00:00
shaver%netscape.com b42e435cb0 add componentType to nsIModule::RegisterSelf 1999-09-22 03:18:27 +00:00
scc%netscape.com ac2969608f Made a protected method for severing weak references early 1999-09-21 20:20:04 +00:00
warren%netscape.com 1eba29ca37 fixed mismatched free issues with nsID::ToString 1999-09-20 20:52:12 +00:00
alecf%netscape.com 456a51b989 add new query_interface4 and query_interfac5 (hey, I needed it!) 1999-09-13 23:23:20 +00:00
shaver%netscape.com aee3857b3b teach component manager that there are non-native entries in the registry 1999-09-07 23:18:47 +00:00
akkana%netscape.com 072e662a0d Print all warning messages on stdout, not just assertions 1999-09-07 19:15:10 +00:00
shaver%netscape.com e43f44b24b put back <string.h> until we find all the uses =( 1999-09-06 21:22:36 +00:00
shaver%netscape.com ac29ce202f remove gratuituous <string.h> include 1999-09-06 18:35:03 +00:00
shaver%netscape.com 6cecf4c569 convert to CreateInstanceFromProgID 1999-09-05 06:27:42 +00:00
kipp%netscape.com 948ad27a21 Reworked sizeof api's to be much more useful; updated implementations to match 1999-08-31 03:04:37 +00:00
scc%netscape.com 2162d2e029 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 84fb0f88b5 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 80ec2cfdfb 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 7b7e859ba3 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 68340a37ef 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 504c1add4e fixed tabs 1999-08-23 10:07:16 +00:00
mccabe%netscape.com 381fb81c4f Replace manual method declarations in implementations of xpcom/ interfaces with NS_DECL_NSIFOO. 1999-08-22 11:25:50 +00:00
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