From 1c926d81a2e15c535f9ccb5a63946bbec82a5054 Mon Sep 17 00:00:00 2001 From: "beard%netscape.com" Date: Tue, 20 Jun 2000 23:10:06 +0000 Subject: [PATCH] bug #42100, Carbon compatibility. r=gordon, saari, pinkerton, sfraser --- build/mac/NGLayoutBuildList.pm | 20 +- config/mac/DefinesMac.h | 1 + gfx/src/mac/nsCarbonHelpers.h | 5 + gfx/src/mac/nsDeviceContextMac.cpp | 73 ++- gfx/src/mac/nsGfxUtils.h | 13 + gfx/src/mac/nsRenderingContextMac.cpp | 4 +- include/npupp.h | 80 +-- layout/base/nsCSSFrameConstructor.cpp | 2 +- layout/generic/nsObjectFrame.cpp | 5 + layout/html/base/src/nsObjectFrame.cpp | 5 + .../html/style/src/nsCSSFrameConstructor.cpp | 2 +- lib/mac/InterfaceLib/Interface.mcp | Bin 92858 -> 93634 bytes .../MacMemoryAllocator/src/CPlusPlusLevel.cp | 2 +- .../src/nsAllocatorManager.cp | 23 +- lib/mac/MoreFiles/DirectoryCopy.c | 8 +- lib/mac/MoreFiles/FullPath.c | 2 +- lib/mac/MoreFiles/IterateDirectory.c | 4 +- lib/mac/MoreFiles/MoreDesktopMgr.c | 8 +- lib/mac/MoreFiles/MoreFilesExtras.c | 16 +- lib/mac/MoreFiles/MoreFilesExtras.h | 4 +- lib/mac/MoreFiles/MoreFilesSearch.c | 16 +- lib/mac/MoreFiles/Optimization.h | 2 +- lib/mac/NSRuntime/NSRuntime.mcp | Bin 421033 -> 414859 bytes modules/libimg/gifcom/dllcompat.cpp | 1 + modules/libimg/src/if.cpp | 2 +- modules/plugin/base/public/npupp.h | 80 +-- modules/plugin/base/src/ns4xPlugin.cpp | 4 +- modules/plugin/nglsrc/ns4xPlugin.cpp | 4 +- netwerk/dns/src/nsDnsService.cpp | 22 +- netwerk/dns/src/nsDnsService.h | 2 +- netwerk/macbuild/netwerk.mcp | Bin 84272 -> 129194 bytes sun-java/stubs/include/jni_md.h | 2 +- sun-java/stubs/include/jri_md.h | 2 +- uriloader/exthandler/mac/nsInternetConfig.cpp | 6 +- .../extprotocol/mac/nsExternalProtocolMac.cpp | 2 + webshell/tests/viewer/mac/viewer.rsrc | Bin 8870 -> 8837 bytes webshell/tests/viewer/nsMacMain.cpp | 6 - widget/macbuild/widget.mcp | Bin 93999 -> 86851 bytes widget/src/mac/nsAppShell.h | 2 + widget/src/mac/nsClipboard.cpp | 17 +- widget/src/mac/nsDynamicMDEF.cpp | 5 +- widget/src/mac/nsFilePicker.cpp | 18 +- widget/src/mac/nsFileWidget.cpp | 19 +- widget/src/mac/nsMacEventHandler.cpp | 2 +- widget/src/mac/nsMacMessagePump.cpp | 14 +- widget/src/mac/nsMacMessageSink.h | 2 + widget/src/mac/nsMacResources.cpp | 3 - widget/src/mac/nsMacWindow.cpp | 14 +- widget/src/mac/nsMacWindow.h | 2 + widget/src/mac/nsMenuBar.cpp | 2 +- widget/src/mac/nsMimeMapper.cpp | 8 +- widget/src/mac/nsMimeMapper.h | 5 +- widget/src/mac/nsTextWidget.cpp | 2 + widget/src/mac/nsWindow.cpp | 36 +- widget/src/mac/nsWindow.h | 4 +- xpcom/base/nsDebug.cpp | 2 +- xpcom/glue/nsDebug.cpp | 2 +- xpcom/io/macDirectoryCopy.c | 8 +- xpcom/io/nsIFileStream.cpp | 4 +- xpcom/io/nsLocalFileMac.cpp | 19 +- xpfe/appshell/src/nsInternetConfig.cpp | 6 +- xpfe/appshell/src/nsWebShellWindow.cpp | 2 +- .../appleevents/nsAEApplicationClass.cpp | 7 +- .../appleevents/nsAEClassDispatcher.cpp | 2 +- .../appleevents/nsAECoercionHandlers.cpp | 26 +- .../appleevents/nsAECoercionHandlers.h | 4 +- xpfe/bootstrap/appleevents/nsAECompare.cpp | 25 +- xpfe/bootstrap/appleevents/nsAECoreClass.cpp | 57 +-- xpfe/bootstrap/appleevents/nsAECoreClass.h | 30 +- .../appleevents/nsAEGenericClass.cpp | 2 +- .../appleevents/nsAEGetURLSuiteHandler.cpp | 4 +- .../appleevents/nsAEGetURLSuiteHandler.h | 4 +- .../appleevents/nsAEMozillaSuiteHandler.cpp | 2 +- .../appleevents/nsAEMozillaSuiteHandler.h | 2 +- .../appleevents/nsAESpyglassSuiteHandler.cpp | 20 +- .../appleevents/nsAESpyglassSuiteHandler.h | 8 +- xpfe/bootstrap/appleevents/nsAETokens.cpp | 53 +- xpfe/bootstrap/appleevents/nsAETokens.h | 38 +- xpfe/bootstrap/appleevents/nsAEUtils.cpp | 474 ++++++------------ xpfe/bootstrap/appleevents/nsAEUtils.h | 23 +- .../bootstrap/appleevents/nsAEWindowClass.cpp | 2 +- xpfe/bootstrap/appleevents/nsWindowUtils.cpp | 6 +- xpfe/bootstrap/nsAppRunner.cpp | 2 + xpfe/bootstrap/nsMacBundle.rsrc | Bin 36743 -> 36712 bytes xpfe/bootstrap/nsNativeAppSupportMac.cpp | 9 +- xpinstall/src/PatchableAppleSingle.h | 2 +- 86 files changed, 675 insertions(+), 753 deletions(-) diff --git a/build/mac/NGLayoutBuildList.pm b/build/mac/NGLayoutBuildList.pm index 9f12613f723e..27192643e4e5 100644 --- a/build/mac/NGLayoutBuildList.pm +++ b/build/mac/NGLayoutBuildList.pm @@ -1641,7 +1641,16 @@ sub BuildRuntimeProjects() BuildOneProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "NSStdLib$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); - BuildOneProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp", "NSPR20$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); + #// for NSPR under Carbon, have to link against some additional static libraries when NOT building with TARGET_CARBON. + if ( $main::CARBON ) { + BuildOneProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp", "NSPR20$D.shlb (Carbon)", 0, 0, 0); + _MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb", ":mozilla:dist:viewer_debug:Essential Files:"); + if ($main::ALIAS_SYM_FILES) { + _MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb.xSYM", ":mozilla:dist:viewer_debug:Essential Files:"); + } + } else { + BuildOneProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp", "NSPR20$D.shlb", 1, $main::ALIAS_SYM_FILES, 0); + } print("--- Runtime projects complete ----\n"); } @@ -1761,7 +1770,16 @@ sub BuildNeckoProjects() print("--- Starting Necko projects ----\n"); + if ( $main::CARBON ) { + BuildOneProject(":mozilla:netwerk:macbuild:netwerk.mcp", "Necko$D.shlb (Carbon)", 0, 0, 0); + _MakeAlias(":mozilla:netwerk:macbuild:Necko$D.shlb", ":mozilla:dist:viewer_debug:Components:"); + if ($main::ALIAS_SYM_FILES) { + _MakeAlias(":mozilla:netwerk:macbuild:Necko$D.shlb.xSYM", ":mozilla:dist:viewer_debug:Components:"); + } + } else { BuildOneProject(":mozilla:netwerk:macbuild:netwerk.mcp", "Necko$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); + } + BuildOneProject(":mozilla:netwerk:macbuild:netwerk2.mcp", "Necko2$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); BuildOneProject(":mozilla:dom:src:jsurl:macbuild:JSUrl.mcp", "JSUrl$D.shlb", 1, $main::ALIAS_SYM_FILES, 1); diff --git a/config/mac/DefinesMac.h b/config/mac/DefinesMac.h index 1be7b1edfcd3..a9f4e1aa31f0 100644 --- a/config/mac/DefinesMac.h +++ b/config/mac/DefinesMac.h @@ -32,6 +32,7 @@ #define TARGET_CARBON 0 #if TARGET_CARBON #define PP_Target_Carbon 1 +#define OLDP2C 1 #endif /* Some build-wide Mac-related defines */ diff --git a/gfx/src/mac/nsCarbonHelpers.h b/gfx/src/mac/nsCarbonHelpers.h index 3afb8afe86ea..b5e109b6af9f 100644 --- a/gfx/src/mac/nsCarbonHelpers.h +++ b/gfx/src/mac/nsCarbonHelpers.h @@ -156,6 +156,11 @@ inline GrafPtr GetQDGlobalsThePort ( ) return qd.thePort; } +inline const BitMap * GetPortBitMapForCopyBits(CGrafPtr port) +{ + return &((GrafPtr)port)->portBits; +} + #endif /* !TARGET_CARBON */ #endif /* CarbonHelpers_h__ */ diff --git a/gfx/src/mac/nsDeviceContextMac.cpp b/gfx/src/mac/nsDeviceContextMac.cpp index d4f63df8076a..275f37b5299b 100644 --- a/gfx/src/mac/nsDeviceContextMac.cpp +++ b/gfx/src/mac/nsDeviceContextMac.cpp @@ -476,7 +476,7 @@ nsDeviceContextMac :: FindScreenForSurface ( nsIScreen** outScreen ) NS_IF_ADDREF(*outScreen = sPrimaryScreen.get()); } else { - ::SetPort ( window ); + ::SetPortWindowPort( window ); // convert window bounds to global coordinates Point topLeft = { bounds.top, bounds.left }; @@ -487,7 +487,9 @@ nsDeviceContextMac :: FindScreenForSurface ( nsIScreen** outScreen ) // subtract out the height of title bar from the size StRegionFromPool structRgn; - ::GetWindowStructureRgn(window, structRgn); + // GetWindowRegion is available in 8.0 and beyond. Use it. + // ::GetWindowStructureRgn(window, structRgn); + ::GetWindowRegion(window, kWindowStructureRgn, structRgn); Rect structBox; ::GetRegionBounds ( structRgn, &structBox ); PRInt32 wTitleHeight = topLeft.v - 1 - structBox.top; @@ -773,12 +775,53 @@ void nsDeviceContextMac :: InitFontInfoList() if (!gFontInfoList) return; - short numFONDs = ::CountResources('FOND'); -#if !TARGET_CARBON +#if TARGET_CARBON + // use the new Font Manager enumeration API. + FMFontFamilyIterator iter; + err = FMCreateFontFamilyIterator(NULL, NULL, kFMDefaultOptions, &iter); + if (err != noErr) + return; + + TextEncoding unicodeEncoding = ::CreateTextEncoding(kTextEncodingUnicodeDefault, + kTextEncodingDefaultVariant, + kTextEncodingDefaultFormat); + // enumerate all fonts. + TECObjectRef converter = 0; + TextEncoding oldFontEncoding = 0; + FMFontFamily fontFamily; + while (FMGetNextFontFamily(&iter, &fontFamily) == noErr) { + Str255 fontName; + err = ::FMGetFontFamilyName(fontFamily, fontName); + if (err != noErr || fontName[0] == 0 || fontName[1] == '.' || fontName[1] == '%') + continue; + TextEncoding fontEncoding; + err = ::FMGetFontFamilyTextEncoding(fontFamily, &fontEncoding); + if (oldFontEncoding != fontEncoding) { + oldFontEncoding = fontEncoding; + if (converter) + err = ::TECDisposeConverter(converter); + err = ::TECCreateConverter(&converter, fontEncoding, unicodeEncoding); + if (err != noErr) + continue; + } + // convert font name to UNICODE. + PRUnichar unicodeFontName[sizeof(fontName)]; + ByteCount actualInputLength, actualOutputLength; + err = ::TECConvertText(converter, &fontName[1], fontName[0], &actualInputLength, + (TextPtr)unicodeFontName , sizeof(unicodeFontName), &actualOutputLength); + unicodeFontName[actualOutputLength / sizeof(PRUnichar)] = '\0'; + + FontNameKey key(unicodeFontName); + gFontInfoList->Put(&key, (void*)fontFamily); + } + if (converter) + err = ::TECDisposeConverter(converter); + err = FMDisposeFontFamilyIterator(&iter); +#else + short numFONDs = ::CountResources('FOND'); TextEncoding unicodeEncoding = ::CreateTextEncoding(kTextEncodingUnicodeDefault, kTextEncodingDefaultVariant, kTextEncodingDefaultFormat); -#endif TECObjectRef converter = nil; ScriptCode lastscript = smUninterp; for (short i = 1; i <= numFONDs ; i++) @@ -792,7 +835,6 @@ void nsDeviceContextMac :: InitFontInfoList() ::GetResInfo(fond, &fondID, &resType, fontName); if( (0 != fontName[0]) && ('.' != fontName[1]) && ('%' != fontName[1])) { -#if !TARGET_CARBON ScriptCode script = ::FontToScript(fondID); if (script != lastscript) { @@ -821,21 +863,13 @@ void nsDeviceContextMac :: InitFontInfoList() FontNameKey key(unicodeFontName); gFontInfoList->Put(&key, (void*)fondID); } -#else - // pinkerton - CreateTextEncoding() makes a carbon app exit. this is a smarmy hack - char buffer[500]; - ::BlockMoveData ( &fontName[1], buffer, *fontName ); - buffer[*fontName] = NULL; - printf("font buffer is %s\n", buffer); - FontNameKey key(buffer); - gFontInfoList->Put(&key, (void*)fondID); -#endif ::ReleaseResource(fond); } } } if (converter) err = ::TECDisposeConverter(converter); +#endif /* !TARGET_CARBON */ } } @@ -850,17 +884,8 @@ bool nsDeviceContextMac :: GetMacFontNumber(const nsString& aFontName, short &aF //¥TODO?: Maybe we shouldn't call that function so often. If nsFont could store the // fontNum, nsFontMetricsMac::SetFont() wouldn't need to call this at all. InitFontInfoList(); -#if TARGET_CARBON - char* fontNameC = aFontName.ToNewCString(); - Str255 fontNamePascal; - fontNamePascal[0] = strlen(fontNameC); - ::BlockMoveData ( fontNameC, &fontNamePascal[1], fontNamePascal[0] ); - ::GetFNum ( fontNamePascal, &aFontNum ); - delete[] fontNameC; -#else FontNameKey key(aFontName); aFontNum = (short)gFontInfoList->Get(&key); -#endif return (aFontNum != 0) && (kFontIDSymbol != aFontNum); } diff --git a/gfx/src/mac/nsGfxUtils.h b/gfx/src/mac/nsGfxUtils.h index 49c96aa2fa3f..e0d540042e24 100644 --- a/gfx/src/mac/nsGfxUtils.h +++ b/gfx/src/mac/nsGfxUtils.h @@ -35,10 +35,14 @@ */ inline PRBool CurrentPortIsWMPort() { +#if TARGET_CARBON + return PR_FALSE; +#else GrafPtr curPort; ::GetPort(&curPort); return (curPort == ::LMGetWMgrPort()); +#endif } @@ -55,6 +59,15 @@ public: if (mOldPort != newPort) ::SetPort(newPort); } + +#if TARGET_CARBON + StPortSetter(WindowPtr newWindow) + : mNewPort(GetWindowPort(newWindow)), mOldPort(::GetQDGlobalsThePort()) + { + if (mOldPort != mNewPort) + ::SetPort(mNewPort); + } +#endif ~StPortSetter() { diff --git a/gfx/src/mac/nsRenderingContextMac.cpp b/gfx/src/mac/nsRenderingContextMac.cpp index e0075fcf6f79..a23716ea86e3 100644 --- a/gfx/src/mac/nsRenderingContextMac.cpp +++ b/gfx/src/mac/nsRenderingContextMac.cpp @@ -456,8 +456,8 @@ NS_IMETHODIMP nsRenderingContextMac::CopyOffScreenBits(nsDrawingSurface aSrcSurf // copy the bits now ::CopyBits( #if TARGET_CARBON - reinterpret_cast(*::GetPortPixMap(srcPort)), - reinterpret_cast(*::GetPortPixMap(destPort)), + ::GetPortBitMapForCopyBits(srcPort), + ::GetPortBitMapForCopyBits(destPort), #else &srcPort->portBits, &destPort->portBits, diff --git a/include/npupp.h b/include/npupp.h index 766fa4baa9c5..00dd1d5c2291 100644 --- a/include/npupp.h +++ b/include/npupp.h @@ -22,7 +22,7 @@ /* - * npupp.h $Revision: 3.2 $ + * npupp.h $Revision: 3.3 $ * function call mecahnics needed by platform specific glue code. */ @@ -56,7 +56,7 @@ /* NPP_Initialize */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_InitializeUPP; enum { @@ -83,7 +83,7 @@ typedef void (* NP_LOADDS NPP_InitializeUPP)(void); /* NPP_Shutdown */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_ShutdownUPP; enum { @@ -110,7 +110,7 @@ typedef void (* NP_LOADDS NPP_ShutdownUPP)(void); /* NPP_New */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_NewUPP; enum { @@ -143,7 +143,7 @@ typedef NPError (* NP_LOADDS NPP_NewUPP)(NPMIMEType pluginType, NPP instance, ui /* NPP_Destroy */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_DestroyUPP; enum { @@ -169,7 +169,7 @@ typedef NPError (* NP_LOADDS NPP_DestroyUPP)(NPP instance, NPSavedData** save); /* NPP_SetWindow */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_SetWindowUPP; enum { @@ -196,7 +196,7 @@ typedef NPError (* NP_LOADDS NPP_SetWindowUPP)(NPP instance, NPWindow* window); /* NPP_NewStream */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_NewStreamUPP; enum { @@ -224,7 +224,7 @@ typedef NPError (* NP_LOADDS NPP_NewStreamUPP)(NPP instance, NPMIMEType type, NP /* NPP_DestroyStream */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_DestroyStreamUPP; enum { @@ -252,7 +252,7 @@ typedef NPError (* NP_LOADDS NPP_DestroyStreamUPP)(NPP instance, NPStream* strea /* NPP_WriteReady */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_WriteReadyUPP; enum { @@ -279,7 +279,7 @@ typedef int32 (* NP_LOADDS NPP_WriteReadyUPP)(NPP instance, NPStream* stream); /* NPP_Write */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_WriteUPP; enum { @@ -309,7 +309,7 @@ typedef int32 (* NP_LOADDS NPP_WriteUPP)(NPP instance, NPStream* stream, int32 o /* NPP_StreamAsFile */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_StreamAsFileUPP; enum { @@ -336,7 +336,7 @@ typedef void (* NP_LOADDS NPP_StreamAsFileUPP)(NPP instance, NPStream* stream, c /* NPP_Print */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_PrintUPP; enum { @@ -363,7 +363,7 @@ typedef void (* NP_LOADDS NPP_PrintUPP)(NPP instance, NPPrint* platformPrint); /* NPP_HandleEvent */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_HandleEventUPP; enum { @@ -390,7 +390,7 @@ typedef int16 (* NP_LOADDS NPP_HandleEventUPP)(NPP instance, void* event); /* NPP_URLNotify */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_URLNotifyUPP; enum { @@ -419,7 +419,7 @@ typedef void (* NP_LOADDS NPP_URLNotifyUPP)(NPP instance, const char* url, NPRea /* NPP_GetValue */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_GetValueUPP; enum { @@ -445,7 +445,7 @@ typedef NPError (* NP_LOADDS NPP_GetValueUPP)(NPP instance, NPPVariable variable /* NPP_SetValue */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_SetValueUPP; enum { @@ -478,7 +478,7 @@ typedef NPError (* NP_LOADDS NPP_SetValueUPP)(NPP instance, NPNVariable variable /* NPN_GetValue */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_GetValueUPP; enum { @@ -504,7 +504,7 @@ typedef NPError (* NP_LOADDS NPN_GetValueUPP)(NPP instance, NPNVariable variable /* NPN_SetValue */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_SetValueUPP; enum { @@ -530,7 +530,7 @@ typedef NPError (* NP_LOADDS NPN_SetValueUPP)(NPP instance, NPPVariable variable /* NPN_GetUrlNotify */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_GetURLNotifyUPP; enum { @@ -557,7 +557,7 @@ typedef NPError (* NP_LOADDS NPN_GetURLNotifyUPP)(NPP instance, const char* url, /* NPN_PostUrlNotify */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_PostURLNotifyUPP; enum { @@ -587,7 +587,7 @@ typedef NPError (* NP_LOADDS NPN_PostURLNotifyUPP)(NPP instance, const char* url /* NPN_GetUrl */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_GetURLUPP; enum { @@ -613,7 +613,7 @@ typedef NPError (* NP_LOADDS NPN_GetURLUPP)(NPP instance, const char* url, const /* NPN_PostUrl */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_PostURLUPP; enum { @@ -642,7 +642,7 @@ typedef NPError (* NP_LOADDS NPN_PostURLUPP)(NPP instance, const char* url, cons /* NPN_RequestRead */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_RequestReadUPP; enum { @@ -669,7 +669,7 @@ typedef NPError (* NP_LOADDS NPN_RequestReadUPP)(NPStream* stream, NPByteRange* /* NPN_NewStream */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_NewStreamUPP; enum { @@ -698,7 +698,7 @@ typedef NPError (* NP_LOADDS NPN_NewStreamUPP)(NPP instance, NPMIMEType type, co /* NPN_Write */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_WriteUPP; enum { @@ -727,7 +727,7 @@ typedef int32 (* NP_LOADDS NPN_WriteUPP)(NPP instance, NPStream* stream, int32 l /* NPN_DestroyStream */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_DestroyStreamUPP; enum { @@ -755,7 +755,7 @@ typedef NPError (* NP_LOADDS NPN_DestroyStreamUPP)(NPP instance, NPStream* strea /* NPN_Status */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_StatusUPP; enum { @@ -781,7 +781,7 @@ typedef void (* NP_LOADDS NPN_StatusUPP)(NPP instance, const char* message); /* NPN_UserAgent */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_UserAgentUPP; enum { @@ -807,7 +807,7 @@ typedef const char* (* NP_LOADDS NPN_UserAgentUPP)(NPP instance); /* NPN_MemAlloc */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_MemAllocUPP; enum { @@ -834,7 +834,7 @@ typedef void* (* NP_LOADDS NPN_MemAllocUPP)(uint32 size); /* NPN__MemFree */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_MemFreeUPP; enum { @@ -860,7 +860,7 @@ typedef void (* NP_LOADDS NPN_MemFreeUPP)(void* ptr); /* NPN_MemFlush */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_MemFlushUPP; enum { @@ -888,7 +888,7 @@ typedef uint32 (* NP_LOADDS NPN_MemFlushUPP)(uint32 size); /* NPN_ReloadPlugins */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_ReloadPluginsUPP; enum { @@ -915,7 +915,7 @@ typedef void (* NP_LOADDS NPN_ReloadPluginsUPP)(NPBool reloadPages); /* NPN_GetJavaEnv */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_GetJavaEnvUPP; enum { @@ -940,7 +940,7 @@ typedef JRIEnv* (* NP_LOADDS NPN_GetJavaEnvUPP)(void); /* NPN_GetJavaPeer */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_GetJavaPeerUPP; enum { @@ -967,7 +967,7 @@ typedef jref (* NP_LOADDS NPN_GetJavaPeerUPP)(NPP instance); /* NPN_InvalidateRect */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_InvalidateRectUPP; enum { @@ -995,7 +995,7 @@ typedef void (* NP_LOADDS NPN_InvalidateRectUPP)(NPP instance, NPRect *rect); /* NPN_InvalidateRegion */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_InvalidateRegionUPP; enum { @@ -1022,7 +1022,7 @@ typedef void (* NP_LOADDS NPN_InvalidateRegionUPP)(NPP instance, NPRegion region /* NPN_ForceRedraw */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_ForceRedrawUPP; enum { @@ -1052,7 +1052,7 @@ typedef void (* NP_LOADDS NPN_ForceRedrawUPP)(NPP instance); *******************************************************************************************/ #ifdef XP_MAC -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #endif #endif @@ -1103,7 +1103,7 @@ typedef struct _NPNetscapeFuncs { } NPNetscapeFuncs; #ifdef XP_MAC -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif #endif @@ -1121,7 +1121,7 @@ typedef struct _NPNetscapeFuncs { * and NPPShutdownUPP for Netscape's use. */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_MainEntryUPP; enum { diff --git a/layout/base/nsCSSFrameConstructor.cpp b/layout/base/nsCSSFrameConstructor.cpp index 02a96303b83f..e97876d04374 100644 --- a/layout/base/nsCSSFrameConstructor.cpp +++ b/layout/base/nsCSSFrameConstructor.cpp @@ -5616,7 +5616,7 @@ nsCSSFrameConstructor::ConstructXULFrame(nsIPresShell* aPresShell, rv = NS_NewMenuFrame(aPresShell, &newFrame, (aTag != nsXULAtoms::menuitem)); } else if (aTag == nsXULAtoms::menubar) { -#if defined(XP_MAC) || defined(RHAPSODY) // The Mac uses its native menu bar. +#if (defined(XP_MAC) && !TARGET_CARBON) || defined(RHAPSODY) // The Mac uses its native menu bar. aHaltProcessing = PR_TRUE; return NS_OK; #else diff --git a/layout/generic/nsObjectFrame.cpp b/layout/generic/nsObjectFrame.cpp index 5a36634500eb..e5dfd7d01315 100644 --- a/layout/generic/nsObjectFrame.cpp +++ b/layout/generic/nsObjectFrame.cpp @@ -2202,6 +2202,11 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetMayScript(PRBool *result) // Here's where we forward events to plugins. #ifdef XP_MAC + +#if TARGET_CARBON +inline Boolean OSEventAvail(EventMask mask, EventRecord* event) { return EventAvail(mask, event); } +#endif + static void GUItoMacEvent(const nsGUIEvent& anEvent, EventRecord& aMacEvent) { ::OSEventAvail(0, &aMacEvent); diff --git a/layout/html/base/src/nsObjectFrame.cpp b/layout/html/base/src/nsObjectFrame.cpp index 5a36634500eb..e5dfd7d01315 100644 --- a/layout/html/base/src/nsObjectFrame.cpp +++ b/layout/html/base/src/nsObjectFrame.cpp @@ -2202,6 +2202,11 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetMayScript(PRBool *result) // Here's where we forward events to plugins. #ifdef XP_MAC + +#if TARGET_CARBON +inline Boolean OSEventAvail(EventMask mask, EventRecord* event) { return EventAvail(mask, event); } +#endif + static void GUItoMacEvent(const nsGUIEvent& anEvent, EventRecord& aMacEvent) { ::OSEventAvail(0, &aMacEvent); diff --git a/layout/html/style/src/nsCSSFrameConstructor.cpp b/layout/html/style/src/nsCSSFrameConstructor.cpp index 02a96303b83f..e97876d04374 100644 --- a/layout/html/style/src/nsCSSFrameConstructor.cpp +++ b/layout/html/style/src/nsCSSFrameConstructor.cpp @@ -5616,7 +5616,7 @@ nsCSSFrameConstructor::ConstructXULFrame(nsIPresShell* aPresShell, rv = NS_NewMenuFrame(aPresShell, &newFrame, (aTag != nsXULAtoms::menuitem)); } else if (aTag == nsXULAtoms::menubar) { -#if defined(XP_MAC) || defined(RHAPSODY) // The Mac uses its native menu bar. +#if (defined(XP_MAC) && !TARGET_CARBON) || defined(RHAPSODY) // The Mac uses its native menu bar. aHaltProcessing = PR_TRUE; return NS_OK; #else diff --git a/lib/mac/InterfaceLib/Interface.mcp b/lib/mac/InterfaceLib/Interface.mcp index a8519def561037fd4b60333c2a04d66867f7733c..5caf8953548a07f052b5bc7943bde419beead581 100644 GIT binary patch delta 1857 zcmZuydrVtZ96qPCw3pWap&ccZ@*1FkqYR?*aLqQ7$?G<3IAB9c*Rc|MOK4FsCh(V0 zm#O7U?xJ%+nQe&0Rk z-1|F^zWb%={IV&}7YdCNLQ)8!RfO&tBXnr)bl%(MJB_a*-3_1_7xB}x782u!U|GbM zz@Di4Y~~#ZoD@Gm346!V(3lI61Ed0Gzyf3gS%3tj0qH;nkO`~RL)w}cd*H{w_D%-WPD1VAZ!QtGcjFcU}OzrPf(1yFL&Fmt54+3y=d z+G1LhdFys1;-6If5sbSpFxnXyAw3g*Wyhpf2~UJ3BmX2OB8ew?YNrzLh4%87dDuT0 z(W28o8KQDE>&PEs$1?I!OQN02ub}K$K@R)OibT`=nGfhPWiJg$?8TwSSg>Gt&X#WG z1tX-1In%qe8hgIPWT~ORj%*=N1UP_VfS0y}Em;cdc}aO0lgr9W$4i(fD=&Sbv{_O2 zy-Z4LV-Ka9*rHURDdoQzSfJ)v+QojY*<#|W+RYkk2dT^s)^_3zj9Q@bTWYey=wZQ1 zTeM5EVERI6IY}2myOXp7+LNS}EW^u&mL# zJOg`vK^4__c+yH~Q+La#8G~YT9d7pWa1p#xh+r z*Pvyzx>LRN3c!sdck(Vg@TK8E+r0;C>HD#Tq3xXT`X&C?Dygo1K7uY zWhzLBt$%D6(-T9*;Mp)uM$)#`r=Qw494IDcULdd#b&4E8BHf9 z^j#%{zNLiVpV7jE&^MD1rEt3W&caU0HK+#$>9oDlk0Q+m!x7vZDL>)?(W+Ke$8I|0 zDsv;z8H|jFz*yr%llVh)1-wU-@4 zx7lE1A`Hd{CYto9>ex?h1^g5zW=pa=zfimPQ|klLckt~Klm2~#EDa!j4!}Is7jW=* z>G|uAAQRQ|8=c7K>G_q%k(<-=O`Ft{e7Zg8YhJTy-3lzcGjE<1^&3oQ_eAhACq$a=ALv7Tn7i=bQ`@+2U4_Wfr$1GN_yz6~QomPKxL?jcw@vp? z-;ekRcL}lntRCh54qn4c`uHvUZ|CTmO?LjGe!AA5UsB@pF7s=DLHBJ`z0LiCPoOjO z@vov}r?B-;P+wC>3V(qX@0NqInZX9I>dd~7(|`k|Mm&QuW^^q2cJ-%fp48{ OhN{y0FSrmN=l0+4ZIQA7 delta 1329 zcmai!ZERCz6oAj^`n}q+D`YFB!)aU~T@Vb8xe{gLL)*38m~;ICswVuv z{WONC<5k}f9H3wT{bAsBlmHn+6A~BH7&W3G!N~mhL-dz38s~ZMy;J^ql5@|;bI*C- z_uP*UuUpQ4W$|T;#T)=s0bm$#dj@dFOQ(HjY;1Jh{5>ur%}5v0AUkL8tg}*JBejz{ zNS&nBq%KyYc1$LkSWl?a63}kH19ZJHJ%iVgO(h-d zP;xKJ*9|dsmlwO3SAAH7>Kh&GGrxr$?2V;e8#ZoQFWVT_Zdk>z9>Y2e>ojb&VVCM_ zjM!_~fMJ6yx9R>>gU>*EvZE`)q%EwJ{e#AG6WP;k``JQUoW;Xi*_+{wlZjgPbBDV& zwA~Akq1pZ?qBvY*Vqe>R|Np$a(UsK!Ibm(e7U5lEM&?oD^lUP0rOQV{?GR^U++(|M z@W$feH)q7@D}SQsU%$aDGXSM-$}C{zz&5;qyk!T5|Gg~j{TfzI+0bJVPkm=aHXe(x z?9JuO<7%3o#V1fqq<=)V=7zoU>}G7P5+5rzoW6wLq8J{EHnD;_X9>y)i|j=1l(-n{ zv+>zhv{oMK#O_A%{$C!m7#nV`(n>1D0Sr~~14-O#Y9Hh76#7kVBfK?*$$CeE1{BTH z%*oPguq2LK{BQ~b_)Fz%3f&fKs7K<;+%PV;HbC!d@&(M7OY$qB87)av;qGztKdPLh zjEDFb*}M7c6t^3z-IY(sexB0qk)434F1qIxQWF0>FN|Zo-yGK%+O{tWTd!qc~IsP~Gt5@ly;M41N zZ6Tja44|CjksNXVA_XpeKQj~LA0#EIyULT2Z=shCt$O{6p9mb%Fs%BLzbv^bd%E@d ziyh=oX&eXk^BKuw%P7w1_5GvdAJI6(%KVO2pQYHT^S6`azh&?jd1IdHUy$dY)A_4( zRyd|{+`5xLCixc`icjkN#7E@6qj4B`m+vDU*|rbBq@NF0%Rk!*gI^;X*6WVO$d}I; F{sF3MG_e2x diff --git a/lib/mac/MacMemoryAllocator/src/CPlusPlusLevel.cp b/lib/mac/MacMemoryAllocator/src/CPlusPlusLevel.cp index 30dfe79f8a1b..4a5b95a2fe21 100644 --- a/lib/mac/MacMemoryAllocator/src/CPlusPlusLevel.cp +++ b/lib/mac/MacMemoryAllocator/src/CPlusPlusLevel.cp @@ -32,7 +32,7 @@ //############################################################################## // needed because we are not compiling the relevant parts of New.cp -nothrow_t nothrow; +std::nothrow_t nothrow; void* operator new (size_t size, const std::nothrow_t& ) throw() { diff --git a/lib/mac/MacMemoryAllocator/src/nsAllocatorManager.cp b/lib/mac/MacMemoryAllocator/src/nsAllocatorManager.cp index bc7537a9abab..b29eee67455f 100644 --- a/lib/mac/MacMemoryAllocator/src/nsAllocatorManager.cp +++ b/lib/mac/MacMemoryAllocator/src/nsAllocatorManager.cp @@ -115,13 +115,17 @@ void nsHeapZoneHeader::SetupHeapZone(Ptr zonePtr, Size ptrSize) { Ptr zoneStart = zonePtr + sizeof(nsHeapZoneHeader); Ptr endZone = zonePtr + ptrSize; - + +#if !TARGET_CARBON ::InitZone(nil, kHeapZoneMasterPointers, endZone, zoneStart); - +#endif + mHeapZone = (THz)zoneStart; - + +#if !TARGET_CARBON // set the current zone back to the application zone, because InitZone changes it ::SetZone(::ApplicationZone()); +#endif } @@ -129,10 +133,13 @@ void nsHeapZoneHeader::SetupHeapZone(Ptr zonePtr, Size ptrSize) Ptr nsHeapZoneHeader::AllocateZonePtr(Size ptrSize) //-------------------------------------------------------------------- { +#if !TARGET_CARBON ::SetZone(mHeapZone); +#endif Ptr thePtr = ::NewPtr(ptrSize); +#if !TARGET_CARBON ::SetZone(::ApplicationZone()); - +#endif mChunkCount += (thePtr != nil); return thePtr; @@ -143,7 +150,9 @@ Ptr nsHeapZoneHeader::AllocateZonePtr(Size ptrSize) void nsHeapZoneHeader::DisposeZonePtr(Ptr thePtr, Boolean &outWasLastChunk) //-------------------------------------------------------------------- { +#if !TARGET_CARBON MEM_ASSERT(::PtrZone(thePtr) == mHeapZone, "Ptr disposed from wrong zone!"); +#endif ::DisposePtr(thePtr); mChunkCount --; outWasLastChunk = (mChunkCount == 0); @@ -154,10 +163,14 @@ void nsHeapZoneHeader::DisposeZonePtr(Ptr thePtr, Boolean &outWasLastChunk) /* static */ nsHeapZoneHeader* nsHeapZoneHeader::GetZoneFromPtr(Ptr subheapPtr) //-------------------------------------------------------------------- { +#if !TARGET_CARBON THz ptrZone = ::PtrZone(subheapPtr); MEM_ASSERT(ptrZone && (::MemError() == noErr), "Problem getting zone from ptr"); return (nsHeapZoneHeader *)((char *)ptrZone - sizeof(nsHeapZoneHeader)); +#else + return NULL; +#endif } @@ -411,9 +424,9 @@ void nsAllocatorManager::FreeSubheap(Ptr subheapPtr) // increase the stack size by 32k. Someone is bound to have fun with // recursion +#if !TARGET_CARBON SetApplLimit(GetApplLimit() - inAppStackSizeInc); -#if !TARGET_CARBON MaxApplZone(); #endif diff --git a/lib/mac/MoreFiles/DirectoryCopy.c b/lib/mac/MoreFiles/DirectoryCopy.c index 588b2687c964..cbc554d396fd 100644 --- a/lib/mac/MoreFiles/DirectoryCopy.c +++ b/lib/mac/MoreFiles/DirectoryCopy.c @@ -52,7 +52,7 @@ enum ** stack space used when recursively calling CopyLevel and to hold ** global information that might be needed at any time. */ -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #endif struct EnumerateGlobals @@ -67,7 +67,7 @@ struct EnumerateGlobals Str63 itemName; /* the name of the current item */ CInfoPBRec myCPB; /* the parameter block used for PBGetCatInfo calls */ }; -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif @@ -79,7 +79,7 @@ typedef EnumerateGlobals *EnumerateGlobalsPtr; ** stack space used when recursively calling GetLevelSize and to hold ** global information that might be needed at any time. */ -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #endif struct PreflightGlobals @@ -95,7 +95,7 @@ struct PreflightGlobals unsigned long tempBlocks; /* temporary storage for calculations (save some stack space) */ CopyFilterProcPtr copyFilterProc; /* pointer to filter function */ }; -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif diff --git a/lib/mac/MoreFiles/FullPath.c b/lib/mac/MoreFiles/FullPath.c index e99443f82fb0..089cffe8a145 100644 --- a/lib/mac/MoreFiles/FullPath.c +++ b/lib/mac/MoreFiles/FullPath.c @@ -180,7 +180,7 @@ pascal OSErr FSpGetFullPath(const FSSpec *spec, if ( result == noErr ) { /* Return the length */ - *fullPathLength = InlineGetHandleSize(*fullPath); + *fullPathLength = GetHandleSize(*fullPath); result = realResult; // return realResult in case it was fnfErr } else diff --git a/lib/mac/MoreFiles/IterateDirectory.c b/lib/mac/MoreFiles/IterateDirectory.c index 989e08f54e82..d966cdf4ada2 100644 --- a/lib/mac/MoreFiles/IterateDirectory.c +++ b/lib/mac/MoreFiles/IterateDirectory.c @@ -33,7 +33,7 @@ ** stack space used when recursively calling IterateDirectoryLevel ** and to hold global information that might be needed at any time. */ -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #endif struct IterateGlobals @@ -47,7 +47,7 @@ struct IterateGlobals unsigned short currentLevel; /* The current level IterateLevel is on */ void *yourDataPtr; /* A pointer to caller data the filter may need to access */ }; -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif diff --git a/lib/mac/MoreFiles/MoreDesktopMgr.c b/lib/mac/MoreFiles/MoreDesktopMgr.c index f9de5cd52f12..eb5995cfdd9d 100644 --- a/lib/mac/MoreFiles/MoreDesktopMgr.c +++ b/lib/mac/MoreFiles/MoreDesktopMgr.c @@ -85,7 +85,7 @@ enum /* local data structures */ -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #endif @@ -134,7 +134,7 @@ struct APPLRec typedef struct APPLRec APPLRec; typedef APPLRec *APPLRecPtr; -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif @@ -314,7 +314,7 @@ static OSErr GetAPPLFromDesktopFile(ConstStr255Param volName, applResHandle = Get1Resource(kAPPLResType, 0); if ( applResHandle != NULL ) { - applSize = InlineGetHandleSize((Handle)applResHandle); + applSize = GetHandleSize((Handle)applResHandle); if ( applSize != 0 ) /* make sure the APPL resource isn't empty */ { foundCreator = false; @@ -1110,7 +1110,7 @@ static OSErr GetCommentFromDesktopFile(short vRefNum, commentHandle = (StringHandle)Get1Resource(kFCMTResType,commentID); if ( commentHandle != NULL ) { - if ( InlineGetHandleSize((Handle)commentHandle) > 0 ) + if ( GetHandleSize((Handle)commentHandle) > 0 ) { BlockMoveData(*commentHandle, comment, *commentHandle[0] + 1); } diff --git a/lib/mac/MoreFiles/MoreFilesExtras.c b/lib/mac/MoreFiles/MoreFilesExtras.c index bf337c935819..12bd297bb28b 100644 --- a/lib/mac/MoreFiles/MoreFilesExtras.c +++ b/lib/mac/MoreFiles/MoreFilesExtras.c @@ -55,7 +55,7 @@ ** stack space used when recursively calling DeleteLevel and to hold ** global information that might be needed at any time. */ -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #endif struct DeleteEnumGlobals @@ -64,7 +64,7 @@ struct DeleteEnumGlobals Str63 itemName; /* the name of the current item */ UniversalFMPB myPB; /* the parameter block used for PBGetCatInfo calls */ }; -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif @@ -87,7 +87,7 @@ pascal void TruncPString(StringPtr destination, /* a multi-byte character. */ while (maxLength != 0) { - charType = CharByte((Ptr)&source[1], maxLength); + charType = CharacterByteType((Ptr)&source[1], maxLength, 0); if ( (charType == smSingleByte) || (charType == smLastByte) ) break; /* source[maxLength] is now a valid last character */ --maxLength; @@ -438,7 +438,7 @@ pascal OSErr HGetVInfo(short volReference, #undef pascal #endif -#if GENERATINGCFM && !TARGET_CARBON +#if TARGET_RT_MAC_CFM && !TARGET_CARBON pascal OSErr PBXGetVolInfoSync(XVolumeParamPtr paramBlock) { enum @@ -547,6 +547,8 @@ pascal OSErr CheckVolLock(ConstStr255Param pathname, /*****************************************************************************/ +#if CALL_NOT_IN_CARBON + pascal OSErr GetDriverName(short driverRefNum, Str255 driverName) { @@ -645,6 +647,8 @@ pascal OSErr FindDrive(ConstStr255Param pathname, return ( result ); } +#endif /* CALL_NOT_IN_CARBON */ + /*****************************************************************************/ pascal OSErr GetDiskBlocks(ConstStr255Param pathname, @@ -803,6 +807,8 @@ pascal OSErr GetVolFileSystemID(ConstStr255Param pathname, /*****************************************************************************/ +#if CALL_NOT_IN_CARBON + pascal OSErr GetVolState(ConstStr255Param pathname, short vRefNum, Boolean *volumeOnline, @@ -978,6 +984,8 @@ pascal OSErr UnmountAndEject(ConstStr255Param pathname, return ( error ); } +#endif /* CALL_NOT_IN_CARBON */ + /*****************************************************************************/ pascal OSErr OnLine(FSSpecPtr volumes, diff --git a/lib/mac/MoreFiles/MoreFilesExtras.h b/lib/mac/MoreFiles/MoreFilesExtras.h index e2fb809cc7e4..7ee3dae40a95 100644 --- a/lib/mac/MoreFiles/MoreFilesExtras.h +++ b/lib/mac/MoreFiles/MoreFilesExtras.h @@ -210,7 +210,7 @@ enum /*****************************************************************************/ -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #endif @@ -317,7 +317,7 @@ struct MyAFPXVolMountInfo typedef struct MyAFPXVolMountInfo MyAFPXVolMountInfo; typedef MyAFPXVolMountInfo *MyAFPXVolMountInfoPtr, **MyAFPXVolMountInfoHandle; -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif diff --git a/lib/mac/MoreFiles/MoreFilesSearch.c b/lib/mac/MoreFiles/MoreFilesSearch.c index 6ae9ffdfbfbc..c8b96f06ca16 100644 --- a/lib/mac/MoreFiles/MoreFilesSearch.c +++ b/lib/mac/MoreFiles/MoreFilesSearch.c @@ -75,7 +75,7 @@ typedef LevelRec *LevelRecPtr, **LevelRecHandle; ** SearchPositionRec is my version of a CatPositionRec. It holds the ** information I need to resuming searching. */ -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #endif struct SearchPositionRec @@ -85,7 +85,7 @@ struct SearchPositionRec unsigned short stackDepth; /* Current depth on searchStack. */ short priv[11]; /* For future use... */ }; -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif typedef struct SearchPositionRec SearchPositionRec; @@ -95,7 +95,7 @@ typedef SearchPositionRec *SearchPositionRecPtr; /* ** ExtendedTMTask is a TMTask record extended to hold the timer flag. */ -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #endif struct ExtendedTMTask @@ -104,7 +104,7 @@ struct ExtendedTMTask Boolean stopSearch; /* the Time Mgr task will set stopSearch to */ /* true when the timer expires */ }; -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif typedef struct ExtendedTMTask ExtendedTMTask; @@ -144,7 +144,7 @@ static void CheckForMatches(CInfoPBPtr cPB, #undef pascal #endif -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM static pascal void TimeOutTask(TMTaskPtr tmTaskPtr); @@ -214,7 +214,7 @@ static OSErr CheckStack(unsigned short stackDepth, /* Time to grow stack */ SetHandleSize((Handle)searchStack, *searchStackSize + (kAdditionalLevelRecs * sizeof(LevelRec))); result = MemError(); /* should be noErr */ - *searchStackSize = InlineGetHandleSize((Handle)searchStack); + *searchStackSize = GetHandleSize((Handle)searchStack); } else { @@ -687,7 +687,7 @@ Failed: #undef pascal #endif -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM static pascal void TimeOutTask(TMTaskPtr tmTaskPtr) { @@ -813,7 +813,7 @@ pascal OSErr IndexedSearch(CSParamPtr pb, /* Make sure searchStack really exists */ if ( searchStack != NULL ) { - searchStackSize = InlineGetHandleSize((Handle)searchStack); + searchStackSize = GetHandleSize((Handle)searchStack); /* See if the search is a new search or a resumed search. */ if ( catPosition->initialize == 0 ) diff --git a/lib/mac/MoreFiles/Optimization.h b/lib/mac/MoreFiles/Optimization.h index f4e204765982..b722a66e966c 100644 --- a/lib/mac/MoreFiles/Optimization.h +++ b/lib/mac/MoreFiles/Optimization.h @@ -74,7 +74,7 @@ #endif #ifndef __MACOSSEVENORLATER - #if GENERATINGCFM + #if TARGET_RT_MAC_CFM #define __MACOSSEVENORLATER 1 #else #define __MACOSSEVENORLATER __MACOSSEVENFIVEORLATER diff --git a/lib/mac/NSRuntime/NSRuntime.mcp b/lib/mac/NSRuntime/NSRuntime.mcp index 868bb45c84731b065e9b685569b371bed1979d08..a428f582556251f7829dc45212048ec04de128b7 100644 GIT binary patch delta 6867 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 delta 5840 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 Pj|;-lze4#Wt@nQbAnhg= diff --git a/modules/libimg/gifcom/dllcompat.cpp b/modules/libimg/gifcom/dllcompat.cpp index 2d3b659e0383..cf65ea310e71 100644 --- a/modules/libimg/gifcom/dllcompat.cpp +++ b/modules/libimg/gifcom/dllcompat.cpp @@ -343,6 +343,7 @@ static void swap ( #endif /* XP_MAC */ #ifdef XP_MAC #include +#include static void MyReadLocation(MachineLocation * loc) { diff --git a/modules/libimg/src/if.cpp b/modules/libimg/src/if.cpp index a517c403d31f..1213a2a3c778 100644 --- a/modules/libimg/src/if.cpp +++ b/modules/libimg/src/if.cpp @@ -836,7 +836,7 @@ il_size(il_container *ic) #define IL_SIZE_CHUNK 128 #endif #ifdef XP_MAC -# if GENERATINGPOWERPC +# if TARGET_CPU_PPC # define IL_PREFERRED_CHUNK 8192 # define IL_OFFSCREEN_CHUNK 128 # else /* normal mac */ diff --git a/modules/plugin/base/public/npupp.h b/modules/plugin/base/public/npupp.h index 766fa4baa9c5..00dd1d5c2291 100644 --- a/modules/plugin/base/public/npupp.h +++ b/modules/plugin/base/public/npupp.h @@ -22,7 +22,7 @@ /* - * npupp.h $Revision: 3.2 $ + * npupp.h $Revision: 3.3 $ * function call mecahnics needed by platform specific glue code. */ @@ -56,7 +56,7 @@ /* NPP_Initialize */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_InitializeUPP; enum { @@ -83,7 +83,7 @@ typedef void (* NP_LOADDS NPP_InitializeUPP)(void); /* NPP_Shutdown */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_ShutdownUPP; enum { @@ -110,7 +110,7 @@ typedef void (* NP_LOADDS NPP_ShutdownUPP)(void); /* NPP_New */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_NewUPP; enum { @@ -143,7 +143,7 @@ typedef NPError (* NP_LOADDS NPP_NewUPP)(NPMIMEType pluginType, NPP instance, ui /* NPP_Destroy */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_DestroyUPP; enum { @@ -169,7 +169,7 @@ typedef NPError (* NP_LOADDS NPP_DestroyUPP)(NPP instance, NPSavedData** save); /* NPP_SetWindow */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_SetWindowUPP; enum { @@ -196,7 +196,7 @@ typedef NPError (* NP_LOADDS NPP_SetWindowUPP)(NPP instance, NPWindow* window); /* NPP_NewStream */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_NewStreamUPP; enum { @@ -224,7 +224,7 @@ typedef NPError (* NP_LOADDS NPP_NewStreamUPP)(NPP instance, NPMIMEType type, NP /* NPP_DestroyStream */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_DestroyStreamUPP; enum { @@ -252,7 +252,7 @@ typedef NPError (* NP_LOADDS NPP_DestroyStreamUPP)(NPP instance, NPStream* strea /* NPP_WriteReady */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_WriteReadyUPP; enum { @@ -279,7 +279,7 @@ typedef int32 (* NP_LOADDS NPP_WriteReadyUPP)(NPP instance, NPStream* stream); /* NPP_Write */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_WriteUPP; enum { @@ -309,7 +309,7 @@ typedef int32 (* NP_LOADDS NPP_WriteUPP)(NPP instance, NPStream* stream, int32 o /* NPP_StreamAsFile */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_StreamAsFileUPP; enum { @@ -336,7 +336,7 @@ typedef void (* NP_LOADDS NPP_StreamAsFileUPP)(NPP instance, NPStream* stream, c /* NPP_Print */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_PrintUPP; enum { @@ -363,7 +363,7 @@ typedef void (* NP_LOADDS NPP_PrintUPP)(NPP instance, NPPrint* platformPrint); /* NPP_HandleEvent */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_HandleEventUPP; enum { @@ -390,7 +390,7 @@ typedef int16 (* NP_LOADDS NPP_HandleEventUPP)(NPP instance, void* event); /* NPP_URLNotify */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_URLNotifyUPP; enum { @@ -419,7 +419,7 @@ typedef void (* NP_LOADDS NPP_URLNotifyUPP)(NPP instance, const char* url, NPRea /* NPP_GetValue */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_GetValueUPP; enum { @@ -445,7 +445,7 @@ typedef NPError (* NP_LOADDS NPP_GetValueUPP)(NPP instance, NPPVariable variable /* NPP_SetValue */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_SetValueUPP; enum { @@ -478,7 +478,7 @@ typedef NPError (* NP_LOADDS NPP_SetValueUPP)(NPP instance, NPNVariable variable /* NPN_GetValue */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_GetValueUPP; enum { @@ -504,7 +504,7 @@ typedef NPError (* NP_LOADDS NPN_GetValueUPP)(NPP instance, NPNVariable variable /* NPN_SetValue */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_SetValueUPP; enum { @@ -530,7 +530,7 @@ typedef NPError (* NP_LOADDS NPN_SetValueUPP)(NPP instance, NPPVariable variable /* NPN_GetUrlNotify */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_GetURLNotifyUPP; enum { @@ -557,7 +557,7 @@ typedef NPError (* NP_LOADDS NPN_GetURLNotifyUPP)(NPP instance, const char* url, /* NPN_PostUrlNotify */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_PostURLNotifyUPP; enum { @@ -587,7 +587,7 @@ typedef NPError (* NP_LOADDS NPN_PostURLNotifyUPP)(NPP instance, const char* url /* NPN_GetUrl */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_GetURLUPP; enum { @@ -613,7 +613,7 @@ typedef NPError (* NP_LOADDS NPN_GetURLUPP)(NPP instance, const char* url, const /* NPN_PostUrl */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_PostURLUPP; enum { @@ -642,7 +642,7 @@ typedef NPError (* NP_LOADDS NPN_PostURLUPP)(NPP instance, const char* url, cons /* NPN_RequestRead */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_RequestReadUPP; enum { @@ -669,7 +669,7 @@ typedef NPError (* NP_LOADDS NPN_RequestReadUPP)(NPStream* stream, NPByteRange* /* NPN_NewStream */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_NewStreamUPP; enum { @@ -698,7 +698,7 @@ typedef NPError (* NP_LOADDS NPN_NewStreamUPP)(NPP instance, NPMIMEType type, co /* NPN_Write */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_WriteUPP; enum { @@ -727,7 +727,7 @@ typedef int32 (* NP_LOADDS NPN_WriteUPP)(NPP instance, NPStream* stream, int32 l /* NPN_DestroyStream */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_DestroyStreamUPP; enum { @@ -755,7 +755,7 @@ typedef NPError (* NP_LOADDS NPN_DestroyStreamUPP)(NPP instance, NPStream* strea /* NPN_Status */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_StatusUPP; enum { @@ -781,7 +781,7 @@ typedef void (* NP_LOADDS NPN_StatusUPP)(NPP instance, const char* message); /* NPN_UserAgent */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_UserAgentUPP; enum { @@ -807,7 +807,7 @@ typedef const char* (* NP_LOADDS NPN_UserAgentUPP)(NPP instance); /* NPN_MemAlloc */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_MemAllocUPP; enum { @@ -834,7 +834,7 @@ typedef void* (* NP_LOADDS NPN_MemAllocUPP)(uint32 size); /* NPN__MemFree */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_MemFreeUPP; enum { @@ -860,7 +860,7 @@ typedef void (* NP_LOADDS NPN_MemFreeUPP)(void* ptr); /* NPN_MemFlush */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_MemFlushUPP; enum { @@ -888,7 +888,7 @@ typedef uint32 (* NP_LOADDS NPN_MemFlushUPP)(uint32 size); /* NPN_ReloadPlugins */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_ReloadPluginsUPP; enum { @@ -915,7 +915,7 @@ typedef void (* NP_LOADDS NPN_ReloadPluginsUPP)(NPBool reloadPages); /* NPN_GetJavaEnv */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_GetJavaEnvUPP; enum { @@ -940,7 +940,7 @@ typedef JRIEnv* (* NP_LOADDS NPN_GetJavaEnvUPP)(void); /* NPN_GetJavaPeer */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_GetJavaPeerUPP; enum { @@ -967,7 +967,7 @@ typedef jref (* NP_LOADDS NPN_GetJavaPeerUPP)(NPP instance); /* NPN_InvalidateRect */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_InvalidateRectUPP; enum { @@ -995,7 +995,7 @@ typedef void (* NP_LOADDS NPN_InvalidateRectUPP)(NPP instance, NPRect *rect); /* NPN_InvalidateRegion */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_InvalidateRegionUPP; enum { @@ -1022,7 +1022,7 @@ typedef void (* NP_LOADDS NPN_InvalidateRegionUPP)(NPP instance, NPRegion region /* NPN_ForceRedraw */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPN_ForceRedrawUPP; enum { @@ -1052,7 +1052,7 @@ typedef void (* NP_LOADDS NPN_ForceRedrawUPP)(NPP instance); *******************************************************************************************/ #ifdef XP_MAC -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #endif #endif @@ -1103,7 +1103,7 @@ typedef struct _NPNetscapeFuncs { } NPNetscapeFuncs; #ifdef XP_MAC -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif #endif @@ -1121,7 +1121,7 @@ typedef struct _NPNetscapeFuncs { * and NPPShutdownUPP for Netscape's use. */ -#if GENERATINGCFM +#if TARGET_RT_MAC_CFM typedef UniversalProcPtr NPP_MainEntryUPP; enum { diff --git a/modules/plugin/base/src/ns4xPlugin.cpp b/modules/plugin/base/src/ns4xPlugin.cpp index 543a7f7db8b0..5638b486a6ad 100644 --- a/modules/plugin/base/src/ns4xPlugin.cpp +++ b/modules/plugin/base/src/ns4xPlugin.cpp @@ -304,7 +304,7 @@ ns4xPlugin::CreatePlugin(nsPluginTag* pluginTag, nsIServiceManager* serviceMgr) return NS_ERROR_UNEXPECTED; #endif -#ifdef XP_MAC +#if defined(XP_MAC) && !TARGET_CARBON // get the mainRD entry point NP_MAIN pfnMain = (NP_MAIN) PR_FindSymbol(pluginTag->mLibrary, "mainRD"); if(pfnMain == NULL) @@ -426,8 +426,10 @@ ns4xPlugin::Shutdown(void) printf("shutting down plugin %08x\n",(int)this); #endif #ifdef XP_MAC +#if !TARGET_CARBON CallNPP_ShutdownProc(fShutdownEntry); ::CloseResFile(fPluginRefNum); +#endif #else fShutdownEntry(); #endif diff --git a/modules/plugin/nglsrc/ns4xPlugin.cpp b/modules/plugin/nglsrc/ns4xPlugin.cpp index 543a7f7db8b0..5638b486a6ad 100644 --- a/modules/plugin/nglsrc/ns4xPlugin.cpp +++ b/modules/plugin/nglsrc/ns4xPlugin.cpp @@ -304,7 +304,7 @@ ns4xPlugin::CreatePlugin(nsPluginTag* pluginTag, nsIServiceManager* serviceMgr) return NS_ERROR_UNEXPECTED; #endif -#ifdef XP_MAC +#if defined(XP_MAC) && !TARGET_CARBON // get the mainRD entry point NP_MAIN pfnMain = (NP_MAIN) PR_FindSymbol(pluginTag->mLibrary, "mainRD"); if(pfnMain == NULL) @@ -426,8 +426,10 @@ ns4xPlugin::Shutdown(void) printf("shutting down plugin %08x\n",(int)this); #endif #ifdef XP_MAC +#if !TARGET_CARBON CallNPP_ShutdownProc(fShutdownEntry); ::CloseResFile(fPluginRefNum); +#endif #else fShutdownEntry(); #endif diff --git a/netwerk/dns/src/nsDnsService.cpp b/netwerk/dns/src/nsDnsService.cpp index 1094d3cbe408..1a0bb6cd7967 100644 --- a/netwerk/dns/src/nsDnsService.cpp +++ b/netwerk/dns/src/nsDnsService.cpp @@ -54,18 +54,15 @@ static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); #include "pprthred.h" #if TARGET_CARBON - -#define nsDNS_NOTIFIER_ROUTINE nsDnsServiceNotifierRoutineUPP -#define INIT_OPEN_TRANSPORT() InitOpenTransport(mClientContext, kInitOTForExtensionMask) -#define OT_OPEN_INTERNET_SERVICES(config, flags, err) OTOpenInternetServices(config, flags, err, mClientContext) -#define OT_OPEN_ENDPOINT(config, flags, info, err) OTOpenEndpoint(config, flags, info, err, mClientContext) - +#define INIT_OPEN_TRANSPORT() InitOpenTransportInContext(kInitOTForExtensionMask, &mClientContext) +#define OT_OPEN_INTERNET_SERVICES(config, flags, err) OTOpenInternetServicesInContext(config, flags, err, mClientContext) +#define OT_OPEN_ENDPOINT(config, flags, info, err) OTOpenEndpointInContext(config, flags, info, err, mClientContext) +#define CLOSE_OPEN_TRANSPORT() do { if (mClientContext) CloseOpenTransportInContext(mClientContext); } while (0) #else - -#define nsDNS_NOTIFIER_ROUTINE nsDnsServiceNotifierRoutine #define INIT_OPEN_TRANSPORT() InitOpenTransport() #define OT_OPEN_INTERNET_SERVICES(config, flags, err) OTOpenInternetServices(config, flags, err) #define OT_OPEN_ENDPOINT(config, flags, info, err) OTOpenEndpoint(config, flags, info, err) +#define CLOSE_OPEN_TRANSPORT() CloseOpenTransport() #endif /* TARGET_CARBON */ typedef struct nsInetHostInfo { @@ -907,13 +904,8 @@ nsDNSService::LateInit() // create Open Transport Service Provider for DNS Lookups OSStatus errOT; -#if TARGET_CARBON nsDnsServiceNotifierRoutineUPP = NewOTNotifyUPP(nsDnsServiceNotifierRoutine); - errOT = OTAllocClientContext((UInt32)0, &clientContext); - NS_ASSERTION(err == kOTNoError, "error allocating OTClientContext."); -#endif /* TARGET_CARBON */ - errOT = INIT_OPEN_TRANSPORT(); NS_ASSERTION(errOT == kOTNoError, "InitOpenTransport failed."); @@ -922,7 +914,7 @@ nsDNSService::LateInit() NS_ASSERTION((mServiceRef != NULL) && (errOT == kOTNoError), "error opening OT service."); /* Install notify function for DNR Address To String completion */ - errOT = OTInstallNotifier(mServiceRef, nsDNS_NOTIFIER_ROUTINE, this); + errOT = OTInstallNotifier(mServiceRef, nsDnsServiceNotifierRoutineUPP, this); NS_ASSERTION(errOT == kOTNoError, "error installing dns notification routine."); /* Put us into async mode */ @@ -1218,7 +1210,7 @@ nsDNSService::Shutdown() // let's shutdown Open Transport so outstanding lookups won't complete while we're cleaning them up (void) OTCloseProvider((ProviderRef)mServiceRef); - CloseOpenTransport(); // terminate routine should check flag and do this if Shutdown() is bypassed somehow + CLOSE_OPEN_TRANSPORT(); // terminate routine should check flag and do this if Shutdown() is bypassed somehow PRThread* dnsServiceThread; rv = mThread->GetPRThread(&dnsServiceThread); diff --git a/netwerk/dns/src/nsDnsService.h b/netwerk/dns/src/nsDnsService.h index 72f9cd8da896..a3dafe6fc9cb 100644 --- a/netwerk/dns/src/nsDnsService.h +++ b/netwerk/dns/src/nsDnsService.h @@ -84,8 +84,8 @@ protected: QHdr mCompletionQueue; #if TARGET_CARBON OTClientContextPtr mClientContext; - OTNotifyUPP nsDnsServiceNotifierRoutineUPP; #endif /* TARGET_CARBON */ + OTNotifyUPP nsDnsServiceNotifierRoutineUPP; #endif /* XP_MAC */ #if defined(XP_PC) && !defined(XP_OS2) diff --git a/netwerk/macbuild/netwerk.mcp b/netwerk/macbuild/netwerk.mcp index 911c66f71d5e4836b23d119ee8f6ac471fe28191..3882e872a871d867fc5a9b228dd46bfb59e78d4a 100644 GIT binary patch delta 10079 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 delta 3036 zcmcImYfzNe89wLR3$n{D3VQ)cU>7h@lm$cutVSY8R4!S$1RE7uVFiQ*TsF1SHi`~4 zQ5)*!q&bPi3>n*rZ3m0}WR_&6bf(%)(;r?kz0CB7nvSueiI-lc(`k!+&i5VSroY-B zeP`c&-t#{1Ip;m^`M&d=A3RK$dexNKIXKu)2r&>s3kY3bL1oj63^+lE{XQX!h3go(v*WwAJKOW1CD2W_>tie7R|NTn_&Z5VY+qX{ zyJ9i3^_DvJ=Om~4lGTeu6WO>U%dM?Nn-pszNz;{2+<5fp{V}!kYKjs&IZAU4>`YQU z`%cPkrx;F18?=Ms4?2tim$C01J+qWjG@*i65G_*V0v*O;A2GjUEv4)g$8vVI^jGXi zjgMt+E{OW=tUKS$=AGs0$hKP+W_m4~4b9H8sr*f*VstNI*&E#~)9YE1jg|-Mh2}sj zSc5lr$ud~Wp+!(1w3SU5+@{sA%GoJzr)?{&CTKIXg-zIxv#R%u?EbRCsNZ7MYGnmO zD%q->T{a(9Pz)`Bma=Hh19ircPT5;6XPEUuVzL%4qJ>~Bn;ltEzggS#Z+Dd^M4ws5 zerOz}Z>klhmngen?upi0)Wd}dR9msOTC;k(Y}{ZHnKtvO2AZoavPCyb;BD2-Qkc(a zrutO*&cs;9k7zH=)pz#|WQU&=qh`N3UFkfJ$hl<67{cOCzcr1 zYtMb3#x5VFx9z;|9lA5>pH>g`Uviv&;i{qz&DxcPXe+<*BK0uOTgLv~;Xt@Ih@B_q z+RgPFk?(SeDH44WizSvwES)l6{IEl;PKhjAY`*Yw|CZ*Kz;Iu4BoGNEi1x>Qjf2&L z1H+MUpm!i*I>av5)cs!`mIBtAx69yD2;17`Vn4~d8GF@9&*5>8)wt>ViWjR&l3Cj% zCQD4!kY{Jm0K0U&m4#=zP^y0!qW;O)2UGON$*lIkpVV~+QThR`nNx$4ZH-B(9cNt|9Mp(b9B; ze@VL6N?fPY(=O^2bzU#sRT7_;xIqv5n~Qpi5LP4I8zt60)70u0&k|&bp=Lt^P|>?! z3v(&uJ#LyM-uwKx$P{C!HxxvuK@PK7;ugK@c{k0eM4txfepcdEiA@rlCALUx)sQEr z(bcu+-X`7KBz{@q^AfkmrQ|Yp1tNjZvL|GR7Q~OI(ac1Q)vh;B8vs_B0|SUPG4`@4eSHU4mLPcR%D=nM|8X$VHbgZqQwzTq|1 zZEAHz*&^0hwN#w9JyiA0j~l3ue{z=Q%X9j{SsdB=Ijx!cIW5fC2b3-x)cUJvCfi2v zvE~nN)6^$$XCMh9q2Y+QL&V9VGk74mcaElJxK@cP076hy!|lg0`IEeHj=D06@r_f& z5Cfm*%O?2&@Jh}q{`wsC9ZcPXzKcVVp~>hX2FAVUiHz%21>mONo!SiWjXQ6sx{N)2M+Qxxw4-(jo(O5X9#HD-)zg-{a zonOP2Ta|Ky-xGZ5Hu&^;l)84<*aso0{XFZw;J<=Kl0Hwu*I*9`7F}j|qu`gukVl%% zuRH`oygZQ9!~B5Yorlrz>3rt9up@%SwPl>2y-(fgQ?Lv4^!_StdSW`rw>|aQg%Br>=ZfCS`-T^oSH8a})e2!IxrN7s}-Q9f)seG&y~f4+#F< zzhJvPdU`+o6r8xkLaY<~ZNXcwp`n*gIbw!A0)^yG^Gh242^z9|RTp84~h~aBLdR#pp-V`F13wiP~Zx?)?8x2{#+ljDW7Azr$cJMLq St}>CXUOr{bKVggc$iD#@AgZkZ diff --git a/sun-java/stubs/include/jni_md.h b/sun-java/stubs/include/jni_md.h index 3ea2218c0b88..0a0ef1de5009 100644 --- a/sun-java/stubs/include/jni_md.h +++ b/sun-java/stubs/include/jni_md.h @@ -141,7 +141,7 @@ # if !__option(enumsalwaysint) # error You need to define 'Enums Always Int' for your project. # endif -# if defined(GENERATING68K) && !GENERATINGCFM +# if defined(TARGET_CPU_68K) && !TARGET_RT_MAC_CFM # if !__option(fourbyteints) # error You need to define 'Struct Alignment: 68k' for your project. # endif diff --git a/sun-java/stubs/include/jri_md.h b/sun-java/stubs/include/jri_md.h index ae6c53a39309..0fad15e1fd9e 100644 --- a/sun-java/stubs/include/jri_md.h +++ b/sun-java/stubs/include/jri_md.h @@ -119,7 +119,7 @@ extern "C" { # if !__option(enumsalwaysint) # error You need to define 'Enums Always Int' for your project. # endif -# if defined(GENERATING68K) && !GENERATINGCFM +# if defined(TARGET_CPU_68K) && !TARGET_RT_MAC_CFM # if !__option(fourbyteints) # error You need to define 'Struct Alignment: 68k' for your project. # endif diff --git a/uriloader/exthandler/mac/nsInternetConfig.cpp b/uriloader/exthandler/mac/nsInternetConfig.cpp index 480f6dca34df..ee20ccd05456 100644 --- a/uriloader/exthandler/mac/nsInternetConfig.cpp +++ b/uriloader/exthandler/mac/nsInternetConfig.cpp @@ -50,7 +50,7 @@ ICInstance nsInternetConfig::GetInstance() { if ( !sInstance ) { - ICError err; + OSStatus err; if ((long)ICStart == kUnresolvedCFragSymbolAddress ) return sInstance; @@ -63,7 +63,9 @@ ICInstance nsInternetConfig::GetInstance() } else { +#if !TARGET_CARBON ::ICFindConfigFile( sInstance, 0 , nil ); +#endif ::ICGetSeed( sInstance, &sSeed ); } } @@ -108,7 +110,7 @@ nsresult nsInternetConfig::GetString( unsigned char* inKey, char** outString ) ICInstance instance = nsInternetConfig::GetInstance(); if ( instance ) { - ICError err; + OSStatus err; char buffer[256]; ICAttr junk; long size = 256; diff --git a/uriloader/extprotocol/mac/nsExternalProtocolMac.cpp b/uriloader/extprotocol/mac/nsExternalProtocolMac.cpp index 19964c7cdda1..1c905cb55c91 100644 --- a/uriloader/extprotocol/mac/nsExternalProtocolMac.cpp +++ b/uriloader/extprotocol/mac/nsExternalProtocolMac.cpp @@ -60,7 +60,9 @@ nsresult nsExternalProtocol::DefaultLaunch( nsIURI *pUri) err = ICStart(&inst, 'MOSS'); if (err == noErr) { +#if !TARGET_CARBON err = ICFindConfigFile( inst, 0, nil); +#endif if (err == noErr) { startSel = 0; err = ICLaunchURL(inst, "\p", (char *)((const char *) uriStr), endSel, &startSel, &endSel); diff --git a/webshell/tests/viewer/mac/viewer.rsrc b/webshell/tests/viewer/mac/viewer.rsrc index deb7845980b6b06a037e93762c2b81db5804abdb..e2656b1926aeb8cc3ffc303e2cb7dc2785e1321b 100644 GIT binary patch delta 301 zcmZ4H+Uh#NP*$CRfq|2OK`9kTD=;uHf~aK-4DvwC*tpT}sr=+)3ZeB3EI@G(2ujtN zdEWl1kpWl)q?%!?$NCc>3}Pb#p`_Hrq7>D<)RN-l#DY}42%5 delta 332 zcmZp5UFJH$P}YNifq|2OL8%Q$D=;uHf~eaJ4DvwCn7h&MseFC^j+6fv**`ThU|<1C zf)p@p+7@LD#HJuNG7u?FD@rU*EmF-(Eh$b;EJ)Q$&d+6FHqEG5>rc3fnsTnK0zTshZnhc zhWG&KuHcX$WuW+?RE08TR g`I%w_KVLvmepYI7Nq&)nOJYglWIH8^$*D>T00=Kx9smFU diff --git a/webshell/tests/viewer/nsMacMain.cpp b/webshell/tests/viewer/nsMacMain.cpp index 0ac4adc56f7b..ec825498877a 100644 --- a/webshell/tests/viewer/nsMacMain.cpp +++ b/webshell/tests/viewer/nsMacMain.cpp @@ -37,10 +37,8 @@ #include #include "nsMacMessagePump.h" // for the windowless menu event handler -#if !TARGET_CARBON #include "nsILeakDetector.h" #include "macstdlibextras.h" -#endif typedef SInt32 MessageT; typedef PRUint32 Uint32; @@ -356,11 +354,9 @@ nsNativeBrowserWindow::DispatchMenuItem(PRInt32 aID) case cmd_DumpLeaks: { nsresult rv; -#if !TARGET_CARBON NS_WITH_SERVICE(nsILeakDetector, leakDetector, "component://netscape/xpcom/leakdetector", &rv) if (NS_SUCCEEDED(rv)) leakDetector->DumpLeaks(); -#endif } break; case cmd_GFXScrollBars: xpID =VIEWER_GFX_SCROLLBARS_ON; break; @@ -431,9 +427,7 @@ static pascal OSErr handleQuitApplication(const AppleEvent*, AppleEvent*, UInt32 int main(int argc, char **argv) { // Set up the toolbox and (if DEBUG) the console -#if !TARGET_CARBON InitializeMacToolbox(); -#endif // Install an a Quit AppleEvent handler. OSErr err = AEInstallEventHandler(kCoreEventClass, kAEQuitApplication, diff --git a/widget/macbuild/widget.mcp b/widget/macbuild/widget.mcp index 07ddd08820f702aab6c385c13725cfb385fb44ea..78ef1a9f8f7701d509694020afe83a940d5dba69 100644 GIT binary patch delta 1656 zcmb7^e@vT27{~A4wzPoO!U}JN2_-1L{MZW{PP3vZD{fGAN*r4)uAM?QnH#nm7PCY{ zW1=WOhH$#q8KTn~T&8hzH?77Wgkd7vG&*KB0ttbC49lj8+03%cWPb0x%KUd1zIWgI zJlE&$p7-TFJZGC2wYl44v0a1^3n5e^w5gKN;KtA0b(CtXna0Yi5xWyAgYJUvhRUG| zs1mAzRzNyajZ&7ac44Z1?cz9iz@n!A!`!YAG8C=#1*sEaJ${`7eOnM8S`i53TjEU$$iM88zE& z-+fPvkcRvD#Y$CCsEfr$irE(ZRWrk2FpDkdMN}KEe(@$RI#K<-=D>l(re+hTK)V45 zamZUxwvfzczs9YsK4j%T*6hu)x0L)tNUn#E_gtea^gzA<*RTI^0^lm;oqn(7W|CL& zg~0Dl?tlC%${JfH*;q?+S{lD?Q$FRt4cjSOop+L7oU>784IAv^uvXTGC($pS#%t($ zpx2={pk8Px$PzUxhMMi%-MX?MM_C_yWF4-UNRPpxwLZ3Q!pY~lW^#uDwc?iia8H4Q z?;gpvm>1zq=RBwYE#ei%!!~|m5Iphzl#91b7b@oZ`p^%QUznR$cjrWe>8pGq0 zEbDl4S{iRXu2Qa!hZVkWVlkI51RE4yzvnbXDi`H1%_jUQ&pN7kdGnFtOuqG)%Vzku z(JOQ^b>DW{PFD`1+>7xSwrwZcnNRSTHkc2K^p6pe;Wl}>zXR-1$|D%MsI=kXKFp6!{?TKqJlbv0=@T&ixt8vT=%)CBc z3!e+2O<-NR9KLsSfMq5o`*$vt!*_H9Ok5xDbiq|ZycO|EQ9s}8yFhtnfNaK>f!gH; zWmmxRB_BRxWIs!F#nEomVQf=-!DU^1^EvQ^a-AyH%ewe#r{I^TxhTRdX5KZIzkzR* zJS4t2C*^+A_rl*H`P-L_Q`o0lKZv<5<)-eqdY+5%g^9Nq0scR=+X!1x)r`pP(lI+(8&Wtl~Q=|d$ho(=;VtU z-S8LufS`mNTfMY@G*i6bdreHfr~{vg8?H`zzTj+#5Ua~Pq-&@M3-+6fXkDqX>^VC6 uQ1BznH8ZZH4EPVsI0?_+;IAa$KZKCik5|nm^I1y8g_Dv$*kD*?xa@a-Wa&K2kXN}gbfy%C2xfe7DNMsQ#19m^4m9-}I zNAZ=2@9162#3dSSE~vM>v@AxnRb<0xOJ@$Gt(ME-ELT(ixIOPZ7pDHz*?xO|&-;7c z=j)uE>67x%Q#x)80wEzpn4Xm!YrB#4AbJsfi2h{|z=!ARA_*p0P<#l`)kQ6|*szKo zQ_S=O#mqYlBPqreovMn>ECTT|0ivgH`969sm_QpNGCfh6E=$;tL@#^n%csm|1ex|3 zvgzzoiTt8sw&<(=`jn8mJbu-oNVG$FfSyu}6kMZp(X|#Fhc~?NKPQfCn4ycc&O0j^ z<4ywqrs$wa@2_u+M&J6Cr`vA>t$8d{JGefC2RDJYyH(vv!#=)P@_ULL#Qsmyv9DAE z&KN=`vh0M>nGg>Dy7F_7yV3og2By>m4D6w;Q+a~)($JTAbY$0Yp87;4@T>C+621K- zGlpb*9f%G(Q0vI*LDq}tL-ZrwT*lzzPHw4t(0V|>-Q(Sc`MToP6Su**4aIFw+;+!p zSPg~)&owu7cBpOpTAP!N6kr+lC+~NtX=V`)N#o)IALzW2 z!6)8GH}L0=n00(zwO(7@pkE)`_TT9iZe{f{|84-~uHm^f`fjP2FL^dgT($oIkxgz$ zl?^zf0kc-p$tfG(5_wUU#d^iAZL(-jEZQb_AQM}*@rg4Nz)PlF(x5+|2dDqYpw5~Z zeq-o<;QsM!iK_NnqC9{3msj2Q6x_NM(q*jela{}Y2!4f8d>$NSvFPq3)+5MAHF@qR@;V_B zqP)bSUf3>u7GPyN!L>tq2oKZRJA?bsiZb!1HUY_{_Rh8d+B?o&Lbt~97W0kBGsFQQ z(?e`>C$`l;xiVex$45}G#AI@1HM=JC!$0AudhLGxzo=zuI=#qpD!?Tvnan4w%gPQ^ z;1)_y)}}1pIEP$JjgK!U%kA@A4p()Zalq0j$`>q(5&X)ub9 +using std::auto_ptr; + class nsMacMessagePump; class nsMacMessageSink; class nsIToolkit; diff --git a/widget/src/mac/nsClipboard.cpp b/widget/src/mac/nsClipboard.cpp index 3df1fe3e7fbf..aab8f13149cf 100644 --- a/widget/src/mac/nsClipboard.cpp +++ b/widget/src/mac/nsClipboard.cpp @@ -43,6 +43,7 @@ #include "nsISupportsPrimitives.h" #include "nsXPIDLString.h" #include "nsPrimitiveHelpers.h" +#include "nsMemory.h" #include @@ -213,9 +214,10 @@ nsClipboard :: GetNativeClipboardData ( nsITransferable * aTransferable, PRInt32 // create a mime mapper. It's ok for this to fail because the data may come from // another app which obviously wouldn't put our mime mapping data on the clipboard. char* mimeMapperData = nsnull; - GetDataOffClipboard ( nsMimeMapperMac::MappingFlavor(), (void**)&mimeMapperData, 0 ); + errCode = GetDataOffClipboard ( nsMimeMapperMac::MappingFlavor(), (void**)&mimeMapperData, 0 ); nsMimeMapperMac theMapper ( mimeMapperData ); - nsCRT::free ( mimeMapperData ); + if (mimeMapperData) + nsCRT::free ( mimeMapperData ); // Now walk down the list of flavors. When we find one that is actually on the // clipboard, copy out the data into the transferable in that format. SetTransferData() @@ -295,6 +297,11 @@ nsClipboard :: GetDataOffClipboard ( ResType inMacFlavor, void** outData, PRInt3 if ( !outData || !inMacFlavor ) return NS_ERROR_FAILURE; + // set up default results. + *outData = nsnull; + if ( outDataSize ) + *outDataSize = 0; + // check if it is on the clipboard long offsetUnused = 0; @@ -306,9 +313,10 @@ nsClipboard :: GetDataOffClipboard ( ResType inMacFlavor, void** outData, PRInt3 err = ::GetCurrentScrap(&scrap); if (err != noErr) return NS_ERROR_FAILURE; err = ::GetScrapFlavorSize(scrap, inMacFlavor, &dataSize); + if (err != noErr) return NS_ERROR_FAILURE; // check err?? if (dataSize > 0) { - char* dataBuff = new char[dataSize]; + char* dataBuff = (char*) nsMemory::Alloc(dataSize); if ( !dataBuff ) return NS_ERROR_OUT_OF_MEMORY; err = ::GetScrapFlavorData(scrap, inMacFlavor, &dataSize, dataBuff); @@ -370,6 +378,7 @@ nsClipboard :: GetDataOffClipboard ( ResType inMacFlavor, void** outData, PRInt3 NS_IMETHODIMP nsClipboard :: HasDataMatchingFlavors ( nsISupportsArray* aFlavorList, PRInt32 aWhichClipboard, PRBool * outResult ) { + nsresult rv = NS_OK; *outResult = PR_FALSE; // assume there is nothing there we want. if ( aWhichClipboard != kGlobalClipboard ) return NS_OK; @@ -377,7 +386,7 @@ nsClipboard :: HasDataMatchingFlavors ( nsISupportsArray* aFlavorList, PRInt32 a // create a mime mapper. It's ok for this to fail because the data may come from // another app which obviously wouldn't put our mime mapping data on the clipboard. char* mimeMapperData = nsnull; - GetDataOffClipboard ( nsMimeMapperMac::MappingFlavor(), (void**)&mimeMapperData, 0 ); + rv = GetDataOffClipboard ( nsMimeMapperMac::MappingFlavor(), (void**)&mimeMapperData, 0 ); nsMimeMapperMac theMapper ( mimeMapperData ); nsMemory::Free ( mimeMapperData ); diff --git a/widget/src/mac/nsDynamicMDEF.cpp b/widget/src/mac/nsDynamicMDEF.cpp index 9d39e1fc2ce8..0a6edd073394 100644 --- a/widget/src/mac/nsDynamicMDEF.cpp +++ b/widget/src/mac/nsDynamicMDEF.cpp @@ -257,11 +257,13 @@ pascal void nsDynamicMDEFMain( // Force a size message next time we draw this menu if(message == kMenuDrawMsg) { +#if !TARGET_CARBON SInt8 state = ::HGetState((Handle)theMenu); HLock((Handle)theMenu); (**theMenu).menuWidth = -1; (**theMenu).menuHeight = -1; HSetState((Handle)theMenu, state); +#endif } } @@ -461,6 +463,7 @@ void nsCallSystemMDEF( Point hitPt, short * whichItem) { +#if !TARGET_CARBON SInt8 state = ::HGetState(gSystemMDEFHandle); ::HLock(gSystemMDEFHandle); @@ -476,7 +479,7 @@ void nsCallSystemMDEF( ::DisposeRoutineDescriptor(gmdefUPP); ::HSetState(gSystemMDEFHandle, state); - +#endif return; } diff --git a/widget/src/mac/nsFilePicker.cpp b/widget/src/mac/nsFilePicker.cpp index f182b6236582..a4f8bdd20558 100644 --- a/widget/src/mac/nsFilePicker.cpp +++ b/widget/src/mac/nsFilePicker.cpp @@ -166,16 +166,18 @@ NS_IMETHODIMP nsFilePicker::Show(PRInt16 *retval) //------------------------------------------------------------------------- static pascal void FileDialogEventHandlerProc( NavEventCallbackMessage msg, NavCBRecPtr cbRec, NavCallBackUserData data ) { - WindowPtr window = reinterpret_cast(cbRec->eventData.eventDataParms.event->message); switch ( msg ) { - case kNavCBEvent: - switch ( cbRec->eventData.eventDataParms.event->what ) { - case updateEvt: - ::BeginUpdate(window); - ::EndUpdate(window); - break; - } + case kNavCBEvent: + switch ( cbRec->eventData.eventDataParms.event->what ) { + case updateEvt: + WindowPtr window = reinterpret_cast(cbRec->eventData.eventDataParms.event->message); + if (window) { + ::BeginUpdate(window); + ::EndUpdate(window); + } break; + } + break; } } diff --git a/widget/src/mac/nsFileWidget.cpp b/widget/src/mac/nsFileWidget.cpp index fb1fef42b1e9..3e8780178818 100644 --- a/widget/src/mac/nsFileWidget.cpp +++ b/widget/src/mac/nsFileWidget.cpp @@ -203,19 +203,20 @@ PRBool nsFileWidget::Show() // this doesn't seem to work as of yet...I'll play around with it some more. // //------------------------------------------------------------------------- -pascal void myProc ( NavEventCallbackMessage msg, NavCBRecPtr cbRec, NavCallBackUserData data ) ; -pascal void myProc ( NavEventCallbackMessage msg, NavCBRecPtr cbRec, NavCallBackUserData data ) +static pascal void myProc ( NavEventCallbackMessage msg, NavCBRecPtr cbRec, NavCallBackUserData data ) { - WindowPtr window = reinterpret_cast(cbRec->eventData.eventDataParms.event->message); switch ( msg ) { - case kNavCBEvent: - switch ( cbRec->eventData.eventDataParms.event->what ) { - case updateEvt: - ::BeginUpdate(window); - ::EndUpdate(window); - break; + case kNavCBEvent: + switch ( cbRec->eventData.eventDataParms.event->what ) { + case updateEvt: + WindowPtr window = reinterpret_cast(cbRec->eventData.eventDataParms.event->message); + if (window) { + ::BeginUpdate(window); + ::EndUpdate(window); } break; + } + break; } } diff --git a/widget/src/mac/nsMacEventHandler.cpp b/widget/src/mac/nsMacEventHandler.cpp index 773ec64118da..ec19e6010b2f 100644 --- a/widget/src/mac/nsMacEventHandler.cpp +++ b/widget/src/mac/nsMacEventHandler.cpp @@ -1363,7 +1363,7 @@ void nsMacEventHandler::ConvertOSEventToMouseEvent( // now look to see if we want to convert this to a double- or triple-click const short kDoubleClickMoveThreshold = 5; - if (((aOSEvent.when - sLastMouseUp) < ::LMGetDoubleTime()) && + if (((aOSEvent.when - sLastMouseUp) < ::GetDblTime()) && (((abs(aOSEvent.where.h - sLastWhere.h) < kDoubleClickMoveThreshold) && (abs(aOSEvent.where.v - sLastWhere.v) < kDoubleClickMoveThreshold)))) { diff --git a/widget/src/mac/nsMacMessagePump.cpp b/widget/src/mac/nsMacMessagePump.cpp index f378a96f09a3..89aa13b91f60 100644 --- a/widget/src/mac/nsMacMessagePump.cpp +++ b/widget/src/mac/nsMacMessagePump.cpp @@ -73,11 +73,9 @@ #endif #if DEBUG -#if !TARGET_CARBON #include #include "macstdlibextras.h" #endif -#endif #define DRAW_ON_RESIZE 0 // if 1, enable live-resize except when the command key is down @@ -319,7 +317,7 @@ PRBool nsMacMessagePump::GetEvent(EventRecord &theEvent) SInt32 sleepTime = (havePendingEvent || BrowserIsBusy()) ? 0 : 2; - ::LMSetSysEvtMask(everyEvent); // we need keyUp events + ::SetEventMask(everyEvent); // we need keyUp events PRBool haveEvent = ::WaitNextEvent(everyEvent, &theEvent, sleepTime, mMouseRgn); sNextWNECall = ::TickCount() + kWNECallIntervalTicks; @@ -343,10 +341,8 @@ void nsMacMessagePump::DispatchEvent(PRBool aRealEvent, EventRecord *anEvent) { #if DEBUG -#if !TARGET_CARBON if ((anEvent->what != kHighLevelEvent) && SIOUXHandleOneEvent(anEvent)) return; -#endif #endif switch(anEvent->what) @@ -556,8 +552,9 @@ void nsMacMessagePump::DoMouseDown(EventRecord &anEvent) ::SizeWindow(whichWindow, width, height, true); ::DrawGrowIcon(whichWindow); - anEvent.where.h = width; // simulate a click in the grow icon - anEvent.where.v = height; + // simulate a click in the grow icon + anEvent.where.h = width - 8; // on Aqua, clicking at (width, height) misses the grow icon. inset a bit. + anEvent.where.v = height - 8; ::LocalToGlobal(&anEvent.where); DispatchOSEventToRaptor(anEvent, whichWindow); @@ -589,6 +586,7 @@ void nsMacMessagePump::DoMouseDown(EventRecord &anEvent) Rect portRect; Point newPt = botRight(*::GetWindowPortBounds(whichWindow, &portRect)); ::LocalToGlobal(&newPt); + newPt.h -= 8, newPt.v -= 8; anEvent.where = newPt; // important! DispatchOSEventToRaptor(anEvent, whichWindow); } @@ -766,6 +764,7 @@ void nsMacMessagePump::DoKey(EventRecord &anEvent) //------------------------------------------------------------------------- void nsMacMessagePump::DoDisk(const EventRecord& anEvent) { +#if !TARGET_CARBON if (HiWord(anEvent.message) != noErr) { // Error mounting disk. Ask if user wishes to format it. @@ -774,6 +773,7 @@ void nsMacMessagePump::DoDisk(const EventRecord& anEvent) ::DIBadMount(pt, (SInt32) anEvent.message); ::DIUnload(); } +#endif } diff --git a/widget/src/mac/nsMacMessageSink.h b/widget/src/mac/nsMacMessageSink.h index e9b0ad19f24e..850a30194086 100644 --- a/widget/src/mac/nsMacMessageSink.h +++ b/widget/src/mac/nsMacMessageSink.h @@ -27,6 +27,8 @@ #include +using std::map; + #include #include diff --git a/widget/src/mac/nsMacResources.cpp b/widget/src/mac/nsMacResources.cpp index 18ca1e60c948..1764ff1d164f 100644 --- a/widget/src/mac/nsMacResources.cpp +++ b/widget/src/mac/nsMacResources.cpp @@ -27,7 +27,6 @@ short nsMacResources::mRefNum = kResFileNotOpened; short nsMacResources::mSaveResFile = 0; -#if !TARGET_CARBON pascal OSErr __NSInitialize(const CFragInitBlock *theInitBlock); pascal OSErr __initializeResources(const CFragInitBlock *theInitBlock); @@ -63,8 +62,6 @@ pascal void __terminateResources(void) __NSTerminate(); } -#endif - //---------------------------------------------------------------------------------------- // //---------------------------------------------------------------------------------------- diff --git a/widget/src/mac/nsMacWindow.cpp b/widget/src/mac/nsMacWindow.cpp index 9eac92422339..8ec15f002d2d 100644 --- a/widget/src/mac/nsMacWindow.cpp +++ b/widget/src/mac/nsMacWindow.cpp @@ -357,6 +357,7 @@ nsresult nsMacWindow::StandardCreate(nsIWidget *aParent, break; case eWindowType_dialog: +#if !TARGET_CARBON if (aInitData && aInitData->mBorderStyle != eBorderStyle_all && aInitData->mBorderStyle != eBorderStyle_default && @@ -372,6 +373,7 @@ nsresult nsMacWindow::StandardCreate(nsIWidget *aParent, hOffset = kDialogMarginWidth; vOffset = kDialogTitleBarHeight; break; +#endif case eWindowType_toplevel: if (aInitData && @@ -408,6 +410,12 @@ nsresult nsMacWindow::StandardCreate(nsIWidget *aParent, Rect wRect; nsRectToMacRect(aRect, wRect); + +#if TARGET_CARBON + // enforce some minimums on carbon. otherwise the system hangs. + if (aRect.width < 100) wRect.right = wRect.left + 100; + if (aRect.height < 100) wRect.bottom = wRect.top + 100; +#endif #ifdef WINDOW_SIZE_TWEAKING // see also the Resize method @@ -510,8 +518,9 @@ NS_IMETHODIMP nsMacWindow::Show(PRBool bState) if ( mAcceptsActivation ) ::ShowWindow(mWindowPtr); else { - ::BringToFront(mWindowPtr); // competes with ComeToFront, but makes popups work ::ShowHide(mWindowPtr, true); + ::BringToFront(mWindowPtr); // competes with ComeToFront, but makes popups work + //::SendBehind(::FrontWindow(), mWindowPtr); } ComeToFront(); } @@ -679,8 +688,7 @@ void nsMacWindow::MoveToGlobalPoint(PRInt32 aX, PRInt32 aY) //------------------------------------------------------------------------- NS_IMETHODIMP nsMacWindow::Resize(PRInt32 aWidth, PRInt32 aHeight, PRBool aRepaint) { - if (mWindowMadeHere) - { + if (mWindowMadeHere) { // Sanity check against screen size Rect screenRect; ::GetRegionBounds(::GetGrayRgn(), &screenRect); diff --git a/widget/src/mac/nsMacWindow.h b/widget/src/mac/nsMacWindow.h index 05c53289152b..82199fc33b59 100644 --- a/widget/src/mac/nsMacWindow.h +++ b/widget/src/mac/nsMacWindow.h @@ -24,6 +24,8 @@ #include // for auto_ptr +using std::auto_ptr; + #include "nsWindow.h" #include "nsMacEventHandler.h" diff --git a/widget/src/mac/nsMenuBar.cpp b/widget/src/mac/nsMenuBar.cpp index 227af80bbad0..878a82ac0bdc 100644 --- a/widget/src/mac/nsMenuBar.cpp +++ b/widget/src/mac/nsMenuBar.cpp @@ -387,7 +387,7 @@ nsMenuBar::MenuConstruct( const nsMenuEvent & aMenuEvent, nsIWidget* aParentWind if(menuIDstring.EqualsWithConversion("menu_Help")) { nsMenuEvent event; MenuHandle handle; -#ifndef RHAPSODY +#if !(defined(RHAPSODY) || defined(TARGET_CARBON)) ::HMGetHelpMenuHandle(&handle); #endif event.mCommand = (unsigned int) handle; diff --git a/widget/src/mac/nsMimeMapper.cpp b/widget/src/mac/nsMimeMapper.cpp index f73f85aa60cf..fa16cc98f19f 100644 --- a/widget/src/mac/nsMimeMapper.cpp +++ b/widget/src/mac/nsMimeMapper.cpp @@ -32,17 +32,11 @@ #include "nsString.h" -nsMimeMapperMac :: nsMimeMapperMac ( ) - : mCounter(0) -{ -} - nsMimeMapperMac :: nsMimeMapperMac ( const char* inMappings ) : mCounter(0) { - if ( strlen(inMappings) ) + if (inMappings && strlen(inMappings) ) ParseMappings ( inMappings ); - } diff --git a/widget/src/mac/nsMimeMapper.h b/widget/src/mac/nsMimeMapper.h index 571b57c05eca..e8b7773bcb85 100644 --- a/widget/src/mac/nsMimeMapper.h +++ b/widget/src/mac/nsMimeMapper.h @@ -50,18 +50,19 @@ #ifndef nsMimeMapper_h__ #define nsMimeMapper_h__ +#include #include #include #include "nsString.h" +using std::pair; class nsMimeMapperMac { public: enum { kMappingFlavor = 'MOZm' } ; - nsMimeMapperMac ( ) ; - nsMimeMapperMac ( const char* inMappings ) ; + nsMimeMapperMac ( const char* inMappings = nsnull ) ; ~nsMimeMapperMac ( ) ; // Converts from mime type (eg: text/plain) to MacOS type (eg: 'TEXT'). If diff --git a/widget/src/mac/nsTextWidget.cpp b/widget/src/mac/nsTextWidget.cpp index 55bf907a41e4..4ad1378d433f 100644 --- a/widget/src/mac/nsTextWidget.cpp +++ b/widget/src/mac/nsTextWidget.cpp @@ -25,6 +25,8 @@ #include #include +using std::auto_ptr; + #if TARGET_CARBON || (UNIVERSAL_INTERFACES_VERSION >= 0x0330) #include #endif diff --git a/widget/src/mac/nsWindow.cpp b/widget/src/mac/nsWindow.cpp index f5237637923d..3c990981fa07 100644 --- a/widget/src/mac/nsWindow.cpp +++ b/widget/src/mac/nsWindow.cpp @@ -1101,13 +1101,9 @@ NS_IMETHODIMP nsWindow::Update() static Boolean control_key_down() { -#if TARGET_CARBON - return PR_FALSE; -#else EventRecord event; - ::OSEventAvail(0, &event); + ::EventAvail(0, &event); return (event.modifiers & controlKey) != 0; -#endif } static long long microseconds() @@ -1164,11 +1160,11 @@ OSStatus nsWindow :: CountUpdateRectProc (UInt16 message, RgnHandle rgn, const Rect *inDirtyRect, void *refCon) { NS_ASSERTION ( refCon, "You better pass a counter!" ); - (*NS_REINTERPRET_CAST(long*, refCon))++; // increment + return noErr; } -#else +#endif // // UpdateRect @@ -1216,10 +1212,6 @@ nsWindow :: CountUpdateRect (Rect *inDirtyRect, void* inData) } // CountUpdateRects - -#endif - - //------------------------------------------------------------------------- // HandleUpdateEvent // @@ -1277,17 +1269,17 @@ nsresult nsWindow::HandleUpdateEvent() // Iterate over each rect in the region, sending a paint event for each. Carbon // has a routine for this, pre-carbon doesn't so we roll our own. If the region // is very complicated (more than 10 pieces), just use a bounding box. - #if TARGET_CARBON - long count = 0; - QDRegionToRects ( updateRgn, kQDParseRegionFromTop, sCountRectProc, this ); - if ( count < 10 ) - QDRegionToRects ( updateRgn, kQDParseRegionFromTop, sUpdateRectProc, this ); - else { - Rect boundingBox; - ::GetRegionBounds(updateRgn, &boundingBox); - PaintUpdateRegionRects ( &boundingBox, this ); - } - #else +#if TARGET_CARBON + long count = 0; + QDRegionToRects ( updateRgn, kQDParseRegionFromTop, sCountRectProc, &count ); + if ( count > 0 && count < 10 ) + QDRegionToRects ( updateRgn, kQDParseRegionFromTop, sUpdateRectProc, this ); + else { + Rect boundingBox; + ::GetRegionBounds(updateRgn, &boundingBox); + PaintUpdateRect ( &boundingBox, this ); + } +#else long count = 0; EachRegionRect ( updateRgn, CountUpdateRect, &count ); if ( count < 10 ) diff --git a/widget/src/mac/nsWindow.h b/widget/src/mac/nsWindow.h index 200c91e4b7c6..eda700f8364b 100644 --- a/widget/src/mac/nsWindow.h +++ b/widget/src/mac/nsWindow.h @@ -219,10 +219,10 @@ protected: #if TARGET_CARBON static OSStatus PaintUpdateRectProc (UInt16 message, RgnHandle rgn, const Rect *rect, void *refCon); static OSStatus CountUpdateRectProc (UInt16 message, RgnHandle rgn, const Rect *rect, void *refCon); -#else +#endif + static void PaintUpdateRect (Rect * r, void* data) ; static void CountUpdateRect (Rect * r, void* data) ; -#endif }; diff --git a/xpcom/base/nsDebug.cpp b/xpcom/base/nsDebug.cpp index d75d9800827a..5b627352e1e0 100644 --- a/xpcom/base/nsDebug.cpp +++ b/xpcom/base/nsDebug.cpp @@ -104,7 +104,7 @@ Str255 buffer; va_start(ap, format); - buffer[0] = vsnprintf((char *)buffer + 1, sizeof(buffer) - 1, format, ap); + buffer[0] = std::vsnprintf((char *)buffer + 1, sizeof(buffer) - 1, format, ap); va_end(ap); if (PL_strcasestr((char *)&buffer[1], "warning")) printf("¥¥¥%s\n", (char*)buffer + 1); diff --git a/xpcom/glue/nsDebug.cpp b/xpcom/glue/nsDebug.cpp index d75d9800827a..5b627352e1e0 100644 --- a/xpcom/glue/nsDebug.cpp +++ b/xpcom/glue/nsDebug.cpp @@ -104,7 +104,7 @@ Str255 buffer; va_start(ap, format); - buffer[0] = vsnprintf((char *)buffer + 1, sizeof(buffer) - 1, format, ap); + buffer[0] = std::vsnprintf((char *)buffer + 1, sizeof(buffer) - 1, format, ap); va_end(ap); if (PL_strcasestr((char *)&buffer[1], "warning")) printf("¥¥¥%s\n", (char*)buffer + 1); diff --git a/xpcom/io/macDirectoryCopy.c b/xpcom/io/macDirectoryCopy.c index 15f343e2d13b..838dffa2d60d 100644 --- a/xpcom/io/macDirectoryCopy.c +++ b/xpcom/io/macDirectoryCopy.c @@ -95,7 +95,7 @@ enum ** stack space used when recursively calling CopyLevel and to hold ** global information that might be needed at any time. */ -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #endif struct EnumerateGlobals @@ -110,7 +110,7 @@ struct EnumerateGlobals Str63 itemName; /* the name of the current item */ CInfoPBRec myCPB; /* the parameter block used for PBGetCatInfo calls */ }; -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif @@ -122,7 +122,7 @@ typedef EnumerateGlobals *EnumerateGlobalsPtr; ** stack space used when recursively calling GetLevelSize and to hold ** global information that might be needed at any time. */ -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #endif struct PreflightGlobals @@ -138,7 +138,7 @@ struct PreflightGlobals unsigned long tempBlocks; /* temporary storage for calculations (save some stack space) */ CopyFilterProcPtr copyFilterProc; /* pointer to filter function */ }; -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif diff --git a/xpcom/io/nsIFileStream.cpp b/xpcom/io/nsIFileStream.cpp index 2e9d2d7c22d0..4968cfe8ae7f 100644 --- a/xpcom/io/nsIFileStream.cpp +++ b/xpcom/io/nsIFileStream.cpp @@ -364,7 +364,7 @@ NS_IMETHODIMP FileImpl::Write(const char* aBuf, PRUint32 aCount, PRUint32 *aWrit // Calling PR_Write on stdout is sure suicide. if (mFileDesc == PR_STDOUT || mFileDesc == PR_STDERR) { - cout.write(aBuf, aCount); + std::cout.write(aBuf, aCount); *aWriteCount = aCount; return NS_OK; } @@ -452,7 +452,7 @@ NS_IMETHODIMP FileImpl::Flush() #ifdef XP_MAC if (mFileDesc == PR_STDOUT || mFileDesc == PR_STDERR) { - cout.flush(); + std::cout.flush(); return NS_OK; } #endif diff --git a/xpcom/io/nsLocalFileMac.cpp b/xpcom/io/nsLocalFileMac.cpp index 5d14efa546dc..6cdb3739e491 100644 --- a/xpcom/io/nsLocalFileMac.cpp +++ b/xpcom/io/nsLocalFileMac.cpp @@ -53,6 +53,8 @@ #include #include "macDirectoryCopy.h" +#include + // Stupid @#$% header looks like its got extern mojo but it doesn't really extern "C" { @@ -301,14 +303,15 @@ static OSErr FindAppOnVolume (OSType sig, short vRefNum, FSSpec *file) static OSErr GetIndVolume(short index, short *vRefNum) { - ParamBlockRec pb; + HParamBlockRec pb; + Str63 volumeName; OSErr err = noErr; pb.volumeParam.ioCompletion = nil; - pb.volumeParam.ioNamePtr = nil; + pb.volumeParam.ioNamePtr = volumeName; pb.volumeParam.ioVolIndex = index; - err = PBGetVInfoSync(&pb); + err = PBHGetVInfoSync(&pb); *vRefNum = pb.volumeParam.ioVRefNum; return err; @@ -2297,10 +2300,14 @@ nsresult nsLocalFile::MyLaunchAppWithDoc(const FSSpec& appSpec, const FSSpec* aD err = AECoerceDesc(&theEvent, typeAppParameters, &launchDesc); if (err != noErr) return NS_ERROR_FAILURE; - ::HLock(theEvent.dataHandle); - launchThis.launchAppSpec = (FSSpecPtr)&appSpec; - launchThis.launchAppParameters = (AppParametersPtr)*launchDesc.dataHandle; +#if TARGET_CARBON && ACCESSOR_CALLS_ARE_FUNCTIONS + ::AEGetDescData(&launchDesc, &launchThis.launchAppParameters, sizeof(launchThis.launchAppParameters)); +#else + // no need to lock this handle. + AppParameters appParameters = *(AppParametersPtr)*launchDesc.dataHandle; + launchThis.launchAppParameters = &appParameters; +#endif launchThis.launchBlockID = extendedBlock; launchThis.launchEPBLength = extendedBlockLen; launchThis.launchFileFlags = 0; diff --git a/xpfe/appshell/src/nsInternetConfig.cpp b/xpfe/appshell/src/nsInternetConfig.cpp index 480f6dca34df..ee20ccd05456 100644 --- a/xpfe/appshell/src/nsInternetConfig.cpp +++ b/xpfe/appshell/src/nsInternetConfig.cpp @@ -50,7 +50,7 @@ ICInstance nsInternetConfig::GetInstance() { if ( !sInstance ) { - ICError err; + OSStatus err; if ((long)ICStart == kUnresolvedCFragSymbolAddress ) return sInstance; @@ -63,7 +63,9 @@ ICInstance nsInternetConfig::GetInstance() } else { +#if !TARGET_CARBON ::ICFindConfigFile( sInstance, 0 , nil ); +#endif ::ICGetSeed( sInstance, &sSeed ); } } @@ -108,7 +110,7 @@ nsresult nsInternetConfig::GetString( unsigned char* inKey, char** outString ) ICInstance instance = nsInternetConfig::GetInstance(); if ( instance ) { - ICError err; + OSStatus err; char buffer[256]; ICAttr junk; long size = 256; diff --git a/xpfe/appshell/src/nsWebShellWindow.cpp b/xpfe/appshell/src/nsWebShellWindow.cpp index e38e5173c15a..364d66014cb4 100644 --- a/xpfe/appshell/src/nsWebShellWindow.cpp +++ b/xpfe/appshell/src/nsWebShellWindow.cpp @@ -115,7 +115,7 @@ static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); #include "nsIDOMXULDocument.h" // End hack -#if defined(XP_MAC) || defined(RHAPSODY) +#if (defined(XP_MAC) && !TARGET_CARBON) || defined(RHAPSODY) #define USE_NATIVE_MENUS #endif diff --git a/xpfe/bootstrap/appleevents/nsAEApplicationClass.cpp b/xpfe/bootstrap/appleevents/nsAEApplicationClass.cpp index 552a9bb2f3d9..7c8e0164bf13 100644 --- a/xpfe/bootstrap/appleevents/nsAEApplicationClass.cpp +++ b/xpfe/bootstrap/appleevents/nsAEApplicationClass.cpp @@ -576,6 +576,7 @@ void AEApplicationClass::GetDataFromObject(const AEDesc *token, AEDesc *desiredT break; case pClipboard: +#if !TARGET_CARBON { // Return all of the items currently on the clipboard. // The returned information is an AEList, and each data type @@ -627,7 +628,8 @@ void AEApplicationClass::GetDataFromObject(const AEDesc *token, AEDesc *desiredT scrapPtr += itemLength; } HUnlock (scrapInfo->scrapHandle); - } + } +#endif break; default: @@ -667,7 +669,7 @@ void AEApplicationClass::SetDataForObject(const AEDesc *token, AEDesc *data) case pClipboard: // The data should be an AE list containing a series of things to be placed on the // clipboard. The data type of each item is also the clipboard type for that data - +#if !TARGET_CARBON err = ZeroScrap(); ThrowIfOSErr(err); @@ -687,6 +689,7 @@ void AEApplicationClass::SetDataForObject(const AEDesc *token, AEDesc *data) *currentItemDesc.dataHandle); ThrowIfOSErr(err); } +#endif break; default: diff --git a/xpfe/bootstrap/appleevents/nsAEClassDispatcher.cpp b/xpfe/bootstrap/appleevents/nsAEClassDispatcher.cpp index fe32cde97efc..9445dfd17404 100644 --- a/xpfe/bootstrap/appleevents/nsAEClassDispatcher.cpp +++ b/xpfe/bootstrap/appleevents/nsAEClassDispatcher.cpp @@ -213,7 +213,7 @@ AEDispatchHandler* AEDispatchTree::FindHandler(DescType handlerClass) *(DescType *)key = handlerClass; - (void)PatriciaSearch(mTree, key, &foundClass); + (void)PatriciaSearch(mTree, key, (void**)&foundClass); return foundClass; } diff --git a/xpfe/bootstrap/appleevents/nsAECoercionHandlers.cpp b/xpfe/bootstrap/appleevents/nsAECoercionHandlers.cpp index 9b74cff739f0..4f3fa7c38753 100644 --- a/xpfe/bootstrap/appleevents/nsAECoercionHandlers.cpp +++ b/xpfe/bootstrap/appleevents/nsAECoercionHandlers.cpp @@ -43,11 +43,12 @@ AECoercionHandlers::AECoercionHandlers() { OSErr err; + // XXX: Note inconsistent type between NewAECoerceDescProc and AEInstallCoercionHandler. Buggy headers when using Carbon? mTextDescToPascalString = NewAECoerceDescProc(TextToPascalStringCoercion); ThrowIfNil(mTextDescToPascalString); err = ::AEInstallCoercionHandler(typeChar, typePascalString, - mTextDescToPascalString, + (AECoercionHandlerUPP) mTextDescToPascalString, (long)this, true, /* Pass a pointer not a descriptor */ false ); /* Application table, not System */ @@ -57,7 +58,7 @@ AECoercionHandlers::AECoercionHandlers() ThrowIfNil(mPascalStringDescToText); err = ::AEInstallCoercionHandler(typePascalString, typeChar, - mPascalStringDescToText, + (AECoercionHandlerUPP) mPascalStringDescToText, (long)this, true, /* Pass a pointer not a descriptor */ false ); /* Application table, not System */ @@ -75,14 +76,14 @@ AECoercionHandlers::~AECoercionHandlers() { if (mTextDescToPascalString) { - AERemoveCoercionHandler(typeChar, typePascalString, mTextDescToPascalString, false); - DisposeRoutineDescriptor(mTextDescToPascalString); + AERemoveCoercionHandler(typeChar, typePascalString, (AECoercionHandlerUPP) mTextDescToPascalString, false); + DisposeAECoerceDescUPP(mTextDescToPascalString); } if (mPascalStringDescToText) { - AERemoveCoercionHandler(typePascalString, typeChar, mPascalStringDescToText, false); - DisposeRoutineDescriptor(mPascalStringDescToText); + AERemoveCoercionHandler(typePascalString, typeChar, (AECoercionHandlerUPP) mPascalStringDescToText, false); + DisposeAECoerceDescUPP(mPascalStringDescToText); } } @@ -93,7 +94,7 @@ AECoercionHandlers::~AECoercionHandlers() TextToPascalStringCoercion ----------------------------------------------------------------------------*/ -OSErr AECoercionHandlers::TextToPascalStringCoercion(const AEDesc *fromDesc, DescType toType, long handlerRefcon, AEDesc *toDesc) +pascal OSErr AECoercionHandlers::TextToPascalStringCoercion(const AEDesc *fromDesc, DescType toType, long handlerRefcon, AEDesc *toDesc) { OSErr err = noErr; @@ -121,7 +122,7 @@ OSErr AECoercionHandlers::TextToPascalStringCoercion(const AEDesc *fromDesc, Des ----------------------------------------------------------------------------*/ -OSErr AECoercionHandlers::PascalStringToTextCoercion(const AEDesc *fromDesc, DescType toType, long handlerRefcon, AEDesc *toDesc) +pascal OSErr AECoercionHandlers::PascalStringToTextCoercion(const AEDesc *fromDesc, DescType toType, long handlerRefcon, AEDesc *toDesc) { OSErr err = noErr; @@ -132,16 +133,15 @@ OSErr AECoercionHandlers::PascalStringToTextCoercion(const AEDesc *fromDesc, Des { case typePascalString: { - Handle dataHandle = fromDesc->dataHandle; - long stringLen = *(unsigned char *)(*dataHandle); + long stringLen = AEGetDescDataSize(fromDesc); if (stringLen > 255) { err = errAECoercionFail; break; } - - StHandleLocker locker(dataHandle); - err = AECreateDesc(typeChar, *dataHandle + 1, stringLen, toDesc); + Str255 str; + AEGetDescData(fromDesc, str, sizeof(str) - 1); + err = AECreateDesc(typeChar, str + 1, str[0], toDesc); } break; diff --git a/xpfe/bootstrap/appleevents/nsAECoercionHandlers.h b/xpfe/bootstrap/appleevents/nsAECoercionHandlers.h index 947feabf2919..63c4e8c9d879 100644 --- a/xpfe/bootstrap/appleevents/nsAECoercionHandlers.h +++ b/xpfe/bootstrap/appleevents/nsAECoercionHandlers.h @@ -41,8 +41,8 @@ public: protected: - static OSErr TextToPascalStringCoercion(const AEDesc *fromDesc, DescType toType, long handlerRefcon, AEDesc *toDesc); - static OSErr PascalStringToTextCoercion(const AEDesc *fromDesc, DescType toType, long handlerRefcon, AEDesc *toDesc); + static pascal OSErr TextToPascalStringCoercion(const AEDesc *fromDesc, DescType toType, long handlerRefcon, AEDesc *toDesc); + static pascal OSErr PascalStringToTextCoercion(const AEDesc *fromDesc, DescType toType, long handlerRefcon, AEDesc *toDesc); protected: diff --git a/xpfe/bootstrap/appleevents/nsAECompare.cpp b/xpfe/bootstrap/appleevents/nsAECompare.cpp index b5803d55908b..bd4976892a36 100644 --- a/xpfe/bootstrap/appleevents/nsAECompare.cpp +++ b/xpfe/bootstrap/appleevents/nsAECompare.cpp @@ -35,21 +35,23 @@ Boolean AEComparisons::CompareTexts(DescType oper, const AEDesc *desc1, const AE Boolean result = false; short compareResult; + Handle lhsHandle = 0, rhsHandle = 0; char *lhs; char *rhs; long lhsSize; long rhsSize; - char h1State, h2State; - lhsSize = GetHandleSize(desc1->dataHandle); - h1State = HGetState(desc1->dataHandle); - HLock(desc1->dataHandle); - lhs = *(desc1->dataHandle); + // FIXME: this can leak lhsHandle if second conversion fails. + if (DescToTextHandle(desc1, &lhsHandle) != noErr || DescToTextHandle(desc2, &rhsHandle) != noErr) + goto fail; - rhsSize = GetHandleSize(desc2->dataHandle); - h2State = HGetState(desc2->dataHandle); - HLock(desc2->dataHandle); - rhs = *(desc2->dataHandle); + lhsSize = GetHandleSize(lhsHandle); + HLock(lhsHandle); + lhs = *(lhsHandle); + + rhsSize = GetHandleSize(rhsHandle); + HLock(rhsHandle); + rhs = *(rhsHandle); compareResult = ::CompareText(lhs, rhs, lhsSize, rhsSize, nil); @@ -129,8 +131,9 @@ Boolean AEComparisons::CompareTexts(DescType oper, const AEDesc *desc1, const AE ThrowOSErr(errAEBadTestKey); } - HSetState(desc1->dataHandle, h1State); - HSetState(desc2->dataHandle, h2State); +fail: + if (lhsHandle) DisposeHandle(lhsHandle); + if (rhsHandle) DisposeHandle(rhsHandle); return result; } diff --git a/xpfe/bootstrap/appleevents/nsAECoreClass.cpp b/xpfe/bootstrap/appleevents/nsAECoreClass.cpp index 59077f90642c..d02782b981e0 100644 --- a/xpfe/bootstrap/appleevents/nsAECoreClass.cpp +++ b/xpfe/bootstrap/appleevents/nsAECoreClass.cpp @@ -172,37 +172,37 @@ AECoreClass::AECoreClass(Boolean suspendEvents) AECoreClass::~AECoreClass() { if (mSuspendEventHandlerUPP) - DisposeRoutineDescriptor(mSuspendEventHandlerUPP); + DisposeAEEventHandlerUPP(mSuspendEventHandlerUPP); if (mStandardSuiteHandlerUPP) - DisposeRoutineDescriptor(mStandardSuiteHandlerUPP); + DisposeAEEventHandlerUPP(mStandardSuiteHandlerUPP); if (mRequiredSuiteHandlerUPP) - DisposeRoutineDescriptor(mRequiredSuiteHandlerUPP); + DisposeAEEventHandlerUPP(mRequiredSuiteHandlerUPP); if (mMozillaSuiteHandlerUPP) - DisposeRoutineDescriptor(mMozillaSuiteHandlerUPP); + DisposeAEEventHandlerUPP(mMozillaSuiteHandlerUPP); if (mGetURLSuiteHandlerUPP) - DisposeRoutineDescriptor(mGetURLSuiteHandlerUPP); + DisposeAEEventHandlerUPP(mGetURLSuiteHandlerUPP); if (mSpyGlassSuiteHandlerUPP) - DisposeRoutineDescriptor(mSpyGlassSuiteHandlerUPP); + DisposeAEEventHandlerUPP(mSpyGlassSuiteHandlerUPP); if (mCreateElementHandlerUPP) - DisposeRoutineDescriptor(mCreateElementHandlerUPP); + DisposeAEEventHandlerUPP(mCreateElementHandlerUPP); if (mPropertyFromListAccessor) - DisposeRoutineDescriptor(mPropertyFromListAccessor); + DisposeOSLAccessorUPP(mPropertyFromListAccessor); if (mAnythingFromAppAccessor) - DisposeRoutineDescriptor(mAnythingFromAppAccessor); + DisposeOSLAccessorUPP(mAnythingFromAppAccessor); if (mCountItemsCallback) - DisposeRoutineDescriptor(mCountItemsCallback); + DisposeOSLCountUPP(mCountItemsCallback); if (mCompareItemsCallback) - DisposeRoutineDescriptor(mCompareItemsCallback); + DisposeOSLCompareUPP(mCompareItemsCallback); } #pragma mark - @@ -212,7 +212,7 @@ AECoreClass::~AECoreClass() HandleCoreSuiteEvent ----------------------------------------------------------------------------*/ -void AECoreClass::HandleCoreSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AECoreClass::HandleCoreSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply) { StAEDesc directParameter; StAEDesc token; @@ -357,7 +357,7 @@ void AECoreClass::HandleCoreSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply HandleRequiredSuiteEvent ----------------------------------------------------------------------------*/ -void AECoreClass::HandleRequiredSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AECoreClass::HandleRequiredSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply) { StAEDesc token; @@ -376,7 +376,7 @@ void AECoreClass::HandleRequiredSuiteEvent(AppleEvent *appleEvent, AppleEvent *r HandleCreateElementEvent ----------------------------------------------------------------------------*/ -void AECoreClass::HandleCreateElementEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AECoreClass::HandleCreateElementEvent(const AppleEvent *appleEvent, AppleEvent *reply) { StAEDesc token; OSErr err = noErr; @@ -400,7 +400,7 @@ void AECoreClass::HandleCreateElementEvent(AppleEvent *appleEvent, AppleEvent *r HandleEventSuspend ----------------------------------------------------------------------------*/ -void AECoreClass::HandleEventSuspend(AppleEvent *appleEvent, AppleEvent *reply) +void AECoreClass::HandleEventSuspend(const AppleEvent *appleEvent, AppleEvent *reply) { mSuspendedEvent = *appleEvent; mReplyToSuspendedEvent = *reply; @@ -484,7 +484,7 @@ void AECoreClass::GetAnythingFromApp( DescType desiredClass, ----------------------------------------------------------------------------*/ -pascal OSErr AECoreClass::SuspendEventHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon) +pascal OSErr AECoreClass::SuspendEventHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon) { AECoreClass* coreClass = reinterpret_cast(refCon); OSErr err = noErr; @@ -519,7 +519,7 @@ pascal OSErr AECoreClass::SuspendEventHandler(AppleEvent *appleEvent, AppleEvent ----------------------------------------------------------------------------*/ -pascal OSErr AECoreClass::RequiredSuiteHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon) +pascal OSErr AECoreClass::RequiredSuiteHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon) { AECoreClass* coreClass = reinterpret_cast(refCon); OSErr err = noErr; @@ -554,7 +554,7 @@ pascal OSErr AECoreClass::RequiredSuiteHandler(AppleEvent *appleEvent, AppleEven ----------------------------------------------------------------------------*/ -pascal OSErr AECoreClass::CoreSuiteHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon) +pascal OSErr AECoreClass::CoreSuiteHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon) { AECoreClass* coreClass = reinterpret_cast(refCon); OSErr err = noErr; @@ -583,7 +583,7 @@ pascal OSErr AECoreClass::CoreSuiteHandler(AppleEvent *appleEvent, AppleEvent *r ----------------------------------------------------------------------------*/ -pascal OSErr AECoreClass::CreateElementHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon) +pascal OSErr AECoreClass::CreateElementHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon) { AECoreClass* coreClass = reinterpret_cast(refCon); OSErr err = noErr; @@ -613,7 +613,7 @@ pascal OSErr AECoreClass::CreateElementHandler(AppleEvent *appleEvent, AppleEven MozillaSuiteHandler ----------------------------------------------------------------------------*/ -pascal OSErr AECoreClass::MozillaSuiteHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon) +pascal OSErr AECoreClass::MozillaSuiteHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon) { AECoreClass* coreClass = reinterpret_cast(refCon); OSErr err = noErr; @@ -643,7 +643,7 @@ pascal OSErr AECoreClass::MozillaSuiteHandler(AppleEvent *appleEvent, AppleEvent ----------------------------------------------------------------------------*/ -pascal OSErr AECoreClass::GetURLSuiteHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon) +pascal OSErr AECoreClass::GetURLSuiteHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon) { AECoreClass* coreClass = reinterpret_cast(refCon); OSErr err = noErr; @@ -673,7 +673,7 @@ pascal OSErr AECoreClass::GetURLSuiteHandler(AppleEvent *appleEvent, AppleEvent ----------------------------------------------------------------------------*/ -pascal OSErr AECoreClass::SpyglassSuiteHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon) +pascal OSErr AECoreClass::SpyglassSuiteHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon) { AECoreClass* coreClass = reinterpret_cast(refCon); OSErr err = noErr; @@ -705,7 +705,7 @@ pascal OSErr AECoreClass::SpyglassSuiteHandler(AppleEvent *appleEvent, AppleEven We probably want to handle events for this suite off to another class. ----------------------------------------------------------------------------*/ -void AECoreClass::HandleMozillaSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AECoreClass::HandleMozillaSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply) { mMozillaSuiteHandler.HandleMozillaSuiteEvent(appleEvent, reply); } @@ -716,7 +716,7 @@ void AECoreClass::HandleMozillaSuiteEvent(AppleEvent *appleEvent, AppleEvent *re We probably want to handle events for this suite off to another class. ----------------------------------------------------------------------------*/ -void AECoreClass::HandleGetURLSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AECoreClass::HandleGetURLSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply) { mGetURLSuiteHandler.HandleGetURLSuiteEvent(appleEvent, reply); } @@ -727,7 +727,7 @@ void AECoreClass::HandleGetURLSuiteEvent(AppleEvent *appleEvent, AppleEvent *rep We probably want to handle events for this suite off to another class. ----------------------------------------------------------------------------*/ -void AECoreClass::HandleSpyglassSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AECoreClass::HandleSpyglassSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply) { mSpyglassSuiteHandler.HandleSpyglassSuiteEvent(appleEvent, reply); } @@ -1073,7 +1073,7 @@ void AECoreClass::InstallSuiteHandlers(Boolean suspendEvents) HandleCoreSuiteEvent ----------------------------------------------------------------------------*/ -void AECoreClass::ResumeEventHandling(AppleEvent *appleEvent, AppleEvent *reply, Boolean dispatchEvent) +void AECoreClass::ResumeEventHandling(const AppleEvent *appleEvent, AppleEvent *reply, Boolean dispatchEvent) { InstallSuiteHandlers(false); @@ -1083,8 +1083,3 @@ void AECoreClass::ResumeEventHandling(AppleEvent *appleEvent, AppleEvent *reply, err = ::AEResumeTheCurrentEvent(appleEvent, reply, (AEEventHandlerUPP)(dispatchEvent ? kAEUseStandardDispatch : kAENoDispatch), (long)this); ThrowIfOSErr(err); } - - - - - diff --git a/xpfe/bootstrap/appleevents/nsAECoreClass.h b/xpfe/bootstrap/appleevents/nsAECoreClass.h index fb341f9c8ea8..81c49830ca6d 100644 --- a/xpfe/bootstrap/appleevents/nsAECoreClass.h +++ b/xpfe/bootstrap/appleevents/nsAECoreClass.h @@ -50,32 +50,32 @@ public: AECoreClass(Boolean suspendEvents = false); // throws OSErrs ~AECoreClass(); - void HandleCoreSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs - void HandleRequiredSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs + void HandleCoreSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs + void HandleRequiredSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs - void HandleMozillaSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs - void HandleGetURLSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs - void HandleSpyglassSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs + void HandleMozillaSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs + void HandleGetURLSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs + void HandleSpyglassSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs - void HandleCreateElementEvent(AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs + void HandleCreateElementEvent(const AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs - void HandleEventSuspend(AppleEvent *appleEvent, AppleEvent *reply); - void ResumeEventHandling(AppleEvent *appleEvent, AppleEvent *reply, Boolean dispatchEvent); + void HandleEventSuspend(const AppleEvent *appleEvent, AppleEvent *reply); + void ResumeEventHandling(const AppleEvent *appleEvent, AppleEvent *reply, Boolean dispatchEvent); // AE Handlers - static pascal OSErr SuspendEventHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon); - static pascal OSErr RequiredSuiteHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon); - static pascal OSErr CoreSuiteHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon); - static pascal OSErr CreateElementHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon); + static pascal OSErr SuspendEventHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon); + static pascal OSErr RequiredSuiteHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon); + static pascal OSErr CoreSuiteHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon); + static pascal OSErr CreateElementHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon); // Handler for Mozilla Suite events - static pascal OSErr MozillaSuiteHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon); + static pascal OSErr MozillaSuiteHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon); // Handler for GetURL events - static pascal OSErr GetURLSuiteHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon); + static pascal OSErr GetURLSuiteHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon); // Handler for GetURL events - static pascal OSErr SpyglassSuiteHandler(AppleEvent *appleEvent, AppleEvent *reply, long refCon); + static pascal OSErr SpyglassSuiteHandler(const AppleEvent *appleEvent, AppleEvent *reply, UInt32 refCon); AEDispatchHandler* GetDispatchHandler(DescType dispatchClass); diff --git a/xpfe/bootstrap/appleevents/nsAEGenericClass.cpp b/xpfe/bootstrap/appleevents/nsAEGenericClass.cpp index 7b2badfaeba5..44ac11d6ee4f 100644 --- a/xpfe/bootstrap/appleevents/nsAEGenericClass.cpp +++ b/xpfe/bootstrap/appleevents/nsAEGenericClass.cpp @@ -68,7 +68,7 @@ AEGenericClass::AEGenericClass(DescType classType, DescType containerClass) AEGenericClass::~AEGenericClass() { if (mItemFromContainerAccessor) - DisposeRoutineDescriptor(mItemFromContainerAccessor); + DisposeOSLAccessorUPP(mItemFromContainerAccessor); } #pragma mark - diff --git a/xpfe/bootstrap/appleevents/nsAEGetURLSuiteHandler.cpp b/xpfe/bootstrap/appleevents/nsAEGetURLSuiteHandler.cpp index 526a84e80ae5..19171f1239b1 100644 --- a/xpfe/bootstrap/appleevents/nsAEGetURLSuiteHandler.cpp +++ b/xpfe/bootstrap/appleevents/nsAEGetURLSuiteHandler.cpp @@ -49,7 +49,7 @@ AEGetURLSuiteHandler::~AEGetURLSuiteHandler() HandleGetURLSuiteEvent ----------------------------------------------------------------------------*/ -void AEGetURLSuiteHandler::HandleGetURLSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AEGetURLSuiteHandler::HandleGetURLSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply) { OSErr err = noErr; @@ -96,7 +96,7 @@ void AEGetURLSuiteHandler::HandleGetURLSuiteEvent(AppleEvent *appleEvent, AppleE HandleGetURLEvent ----------------------------------------------------------------------------*/ -void AEGetURLSuiteHandler::HandleGetURLEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AEGetURLSuiteHandler::HandleGetURLEvent(const AppleEvent *appleEvent, AppleEvent *reply) { StAEDesc directParameter; OSErr err; diff --git a/xpfe/bootstrap/appleevents/nsAEGetURLSuiteHandler.h b/xpfe/bootstrap/appleevents/nsAEGetURLSuiteHandler.h index 74b5f23d8aee..5c9dae08f1df 100644 --- a/xpfe/bootstrap/appleevents/nsAEGetURLSuiteHandler.h +++ b/xpfe/bootstrap/appleevents/nsAEGetURLSuiteHandler.h @@ -40,11 +40,11 @@ public: AEGetURLSuiteHandler(); ~AEGetURLSuiteHandler(); - void HandleGetURLSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs + void HandleGetURLSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs protected: - void HandleGetURLEvent(AppleEvent *appleEvent, AppleEvent *reply); + void HandleGetURLEvent(const AppleEvent *appleEvent, AppleEvent *reply); }; diff --git a/xpfe/bootstrap/appleevents/nsAEMozillaSuiteHandler.cpp b/xpfe/bootstrap/appleevents/nsAEMozillaSuiteHandler.cpp index d43bd829bd85..6061f181431f 100644 --- a/xpfe/bootstrap/appleevents/nsAEMozillaSuiteHandler.cpp +++ b/xpfe/bootstrap/appleevents/nsAEMozillaSuiteHandler.cpp @@ -47,7 +47,7 @@ AEMozillaSuiteHandler::~AEMozillaSuiteHandler() HandleMozillaSuiteEvent ----------------------------------------------------------------------------*/ -void AEMozillaSuiteHandler::HandleMozillaSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AEMozillaSuiteHandler::HandleMozillaSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply) { OSErr err = noErr; diff --git a/xpfe/bootstrap/appleevents/nsAEMozillaSuiteHandler.h b/xpfe/bootstrap/appleevents/nsAEMozillaSuiteHandler.h index 065641ae267e..ebd6ce7f26d5 100644 --- a/xpfe/bootstrap/appleevents/nsAEMozillaSuiteHandler.h +++ b/xpfe/bootstrap/appleevents/nsAEMozillaSuiteHandler.h @@ -40,7 +40,7 @@ public: AEMozillaSuiteHandler(); ~AEMozillaSuiteHandler(); - void HandleMozillaSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs + void HandleMozillaSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs protected: diff --git a/xpfe/bootstrap/appleevents/nsAESpyglassSuiteHandler.cpp b/xpfe/bootstrap/appleevents/nsAESpyglassSuiteHandler.cpp index 68c894f2405d..217c6a73cfcf 100644 --- a/xpfe/bootstrap/appleevents/nsAESpyglassSuiteHandler.cpp +++ b/xpfe/bootstrap/appleevents/nsAESpyglassSuiteHandler.cpp @@ -50,7 +50,7 @@ AESpyglassSuiteHandler::~AESpyglassSuiteHandler() HandleSpyglassSuiteEvent ----------------------------------------------------------------------------*/ -void AESpyglassSuiteHandler::HandleSpyglassSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AESpyglassSuiteHandler::HandleSpyglassSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply) { OSErr err = noErr; @@ -105,7 +105,7 @@ void AESpyglassSuiteHandler::HandleSpyglassSuiteEvent(AppleEvent *appleEvent, Ap HandleOpenURLEvent ----------------------------------------------------------------------------*/ -void AESpyglassSuiteHandler::HandleOpenURLEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AESpyglassSuiteHandler::HandleOpenURLEvent(const AppleEvent *appleEvent, AppleEvent *reply) { StAEDesc directParameter; FSSpec saveToFile; @@ -161,7 +161,7 @@ void AESpyglassSuiteHandler::HandleOpenURLEvent(AppleEvent *appleEvent, AppleEve HandleRegisterURLEchoEvent ----------------------------------------------------------------------------*/ -void AESpyglassSuiteHandler::HandleRegisterURLEchoEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AESpyglassSuiteHandler::HandleRegisterURLEchoEvent(const AppleEvent *appleEvent, AppleEvent *reply) { // extract the direct parameter (the requester's signature) StAEDesc directParameter; @@ -170,10 +170,14 @@ void AESpyglassSuiteHandler::HandleRegisterURLEchoEvent(AppleEvent *appleEvent, if (typeType == directParameter.descriptorType) { - mDocObserver = new nsDocLoadObserver; - ThrowIfNil(mDocObserver); - NS_ADDREF(mDocObserver); // our owning ref - mDocObserver->AddEchoRequester(**(OSType**)directParameter.dataHandle); + if (mDocObserver == nsnull) { + mDocObserver = new nsDocLoadObserver; + ThrowIfNil(mDocObserver); + NS_ADDREF(mDocObserver); // our owning ref + } + OSType requester; + if (AEGetDescData(&directParameter, &requester, sizeof(requester)) == noErr) + mDocObserver->AddEchoRequester(requester); } } @@ -181,7 +185,7 @@ void AESpyglassSuiteHandler::HandleRegisterURLEchoEvent(AppleEvent *appleEvent, HandleUnregisterURLEchoEvent ----------------------------------------------------------------------------*/ -void AESpyglassSuiteHandler::HandleUnregisterURLEchoEvent(AppleEvent *appleEvent, AppleEvent *reply) +void AESpyglassSuiteHandler::HandleUnregisterURLEchoEvent(const AppleEvent *appleEvent, AppleEvent *reply) { // extract the direct parameter (the requester's signature) StAEDesc directParameter; diff --git a/xpfe/bootstrap/appleevents/nsAESpyglassSuiteHandler.h b/xpfe/bootstrap/appleevents/nsAESpyglassSuiteHandler.h index 9b7954ce6206..818ac3c0b455 100644 --- a/xpfe/bootstrap/appleevents/nsAESpyglassSuiteHandler.h +++ b/xpfe/bootstrap/appleevents/nsAESpyglassSuiteHandler.h @@ -74,14 +74,14 @@ public: AESpyglassSuiteHandler(); ~AESpyglassSuiteHandler(); - void HandleSpyglassSuiteEvent(AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs + void HandleSpyglassSuiteEvent(const AppleEvent *appleEvent, AppleEvent *reply); // throws OSErrs protected: - void HandleOpenURLEvent(AppleEvent *appleEvent, AppleEvent *reply); + void HandleOpenURLEvent(const AppleEvent *appleEvent, AppleEvent *reply); - void HandleRegisterURLEchoEvent(AppleEvent *appleEvent, AppleEvent *reply); - void HandleUnregisterURLEchoEvent(AppleEvent *appleEvent, AppleEvent *reply); + void HandleRegisterURLEchoEvent(const AppleEvent *appleEvent, AppleEvent *reply); + void HandleUnregisterURLEchoEvent(const AppleEvent *appleEvent, AppleEvent *reply); protected: diff --git a/xpfe/bootstrap/appleevents/nsAETokens.cpp b/xpfe/bootstrap/appleevents/nsAETokens.cpp index 596d4471065d..294e1ba12590 100644 --- a/xpfe/bootstrap/appleevents/nsAETokens.cpp +++ b/xpfe/bootstrap/appleevents/nsAETokens.cpp @@ -25,20 +25,28 @@ #include "nsAETokens.h" +AETokenDesc::AETokenDesc(const AEDesc* token) + : mTokenValid(false) +{ + mTokenValid = (AEGetDescDataSize(token) == sizeof(CoreTokenRecord)); + if (mTokenValid) + AEGetDescData(token, &mTokenData, sizeof(CoreTokenRecord)); +} + +AETokenDesc::~AETokenDesc() {} + // --------------------------------------------------------------------------- DescType AETokenDesc::GetDispatchClass() const { - CoreTokenHandle tokenData = GetTokenHandle(); - return (tokenData) ? (**tokenData).dispatchClass : typeNull; + return (mTokenValid ? mTokenData.dispatchClass : typeNull); } // --------------------------------------------------------------------------- DescType AETokenDesc::GetObjectClass() const { - CoreTokenHandle tokenData = GetTokenHandle(); - return (tokenData) ? (**tokenData).objectClass : typeNull; + return (mTokenValid ? mTokenData.objectClass : typeNull); } // --------------------------------------------------------------------------- @@ -48,32 +56,28 @@ DescType AETokenDesc::GetObjectClass() const Boolean AETokenDesc::UsePropertyCode() const { - CoreTokenHandle tokenData = GetTokenHandle(); - return (tokenData) ? ((**tokenData).propertyCode != typeNull) : false; + return (mTokenValid ? mTokenData.propertyCode != typeNull : false); } // --------------------------------------------------------------------------- DescType AETokenDesc::GetPropertyCode() const { - CoreTokenHandle tokenData = GetTokenHandle(); - return (tokenData) ? (**tokenData).propertyCode : typeNull; + return (mTokenValid ? mTokenData.propertyCode : typeNull); } // --------------------------------------------------------------------------- long AETokenDesc::GetDocumentID() const { - CoreTokenHandle tokenData = GetTokenHandle(); - return (tokenData) ? (**tokenData).documentID : 0; + return (mTokenValid ? mTokenData.documentID : typeNull); } // --------------------------------------------------------------------------- WindowPtr AETokenDesc::GetWindowPtr() const { - CoreTokenHandle tokenData = GetTokenHandle(); - return (tokenData) ? (**tokenData).window : nil; + return (mTokenValid ? mTokenData.window : nil); } @@ -81,8 +85,7 @@ WindowPtr AETokenDesc::GetWindowPtr() const TAEListIndex AETokenDesc::GetElementNumber() const { - CoreTokenHandle tokenData = GetTokenHandle(); - return (tokenData) ? (**tokenData).elementNumber : 0; + return (mTokenValid ? mTokenData.elementNumber : 0); } @@ -93,42 +96,30 @@ TAEListIndex AETokenDesc::GetElementNumber() const void AETokenDesc::SetPropertyCode(DescType propertyCode) { - CoreTokenHandle tokenData = GetTokenHandle(); - ThrowIfNil(tokenData); - (**tokenData).propertyCode = propertyCode; + mTokenData.propertyCode = propertyCode; } // --------------------------------------------------------------------------- void AETokenDesc::SetDispatchClass(DescType dispatchClass) { - CoreTokenHandle tokenData = GetTokenHandle(); - ThrowIfNil(tokenData); - (**tokenData).dispatchClass = dispatchClass; + mTokenData.dispatchClass = dispatchClass; } // --------------------------------------------------------------------------- void AETokenDesc::SetObjectClass(DescType objectClass) { - CoreTokenHandle tokenData = GetTokenHandle(); - ThrowIfNil(tokenData); - (**tokenData).objectClass = objectClass; + mTokenData.objectClass = objectClass; } // --------------------------------------------------------------------------- void AETokenDesc::SetElementNumber(TAEListIndex number) { - CoreTokenHandle tokenData = GetTokenHandle(); - ThrowIfNil(tokenData); - (**tokenData).elementNumber = number; + mTokenData.elementNumber = number; } // --------------------------------------------------------------------------- void AETokenDesc::SetWindow(WindowPtr wind) { - CoreTokenHandle tokenData = GetTokenHandle(); - ThrowIfNil(tokenData); - (**tokenData).window = wind; + mTokenData.window = wind; } - - diff --git a/xpfe/bootstrap/appleevents/nsAETokens.h b/xpfe/bootstrap/appleevents/nsAETokens.h index 03ab64243a07..16c6c6927b57 100644 --- a/xpfe/bootstrap/appleevents/nsAETokens.h +++ b/xpfe/bootstrap/appleevents/nsAETokens.h @@ -63,37 +63,27 @@ typedef struct CoreTokenRecord CoreTokenRecord, *CoreTokenPtr, **CoreTokenHandle class AETokenDesc { public: - AETokenDesc(const AEDesc* token) { mToken = token; } - ~AETokenDesc() {} + AETokenDesc(const AEDesc* token); + ~AETokenDesc(); - DescType GetDispatchClass() const; - DescType GetObjectClass() const; + DescType GetDispatchClass() const; + DescType GetObjectClass() const; Boolean UsePropertyCode() const; - DescType GetPropertyCode() const; + DescType GetPropertyCode() const; - long GetDocumentID() const; + long GetDocumentID() const; WindowPtr GetWindowPtr() const; - TAEListIndex GetElementNumber() const; + TAEListIndex GetElementNumber() const; - void SetDispatchClass(DescType dispatchClass); - void SetObjectClass(DescType objectClass); - void SetPropertyCode(DescType propertyCode); - void SetElementNumber(TAEListIndex number); - void SetWindow(WindowPtr wind); + void SetDispatchClass(DescType dispatchClass); + void SetObjectClass(DescType objectClass); + void SetPropertyCode(DescType propertyCode); + void SetElementNumber(TAEListIndex number); + void SetWindow(WindowPtr wind); protected: - - CoreTokenHandle GetTokenHandle() const - { - if (mToken->dataHandle && GetHandleSize(mToken->dataHandle) == sizeof(CoreTokenRecord)) - return (CoreTokenHandle)mToken->dataHandle; - else - return nil; - } - - const AEDesc* mToken; + CoreTokenRecord mTokenData; + Boolean mTokenValid; }; - #endif /* __AETOKENS__ */ - diff --git a/xpfe/bootstrap/appleevents/nsAEUtils.cpp b/xpfe/bootstrap/appleevents/nsAEUtils.cpp index dae502c81ea6..b95628948676 100644 --- a/xpfe/bootstrap/appleevents/nsAEUtils.cpp +++ b/xpfe/bootstrap/appleevents/nsAEUtils.cpp @@ -28,8 +28,7 @@ #include "nsAETokens.h" #include "nsAEUtils.h" - - +static OSErr AECoerceDescData(const AEDesc *theAEDesc, DescType typeCode, void *dataPtr, Size maximumSize); /*---------------------------------------------------------------------------- CreateAliasAEDesc @@ -66,7 +65,7 @@ OSErr GetTextFromAEDesc(const AEDesc *inDesc, Handle *outTextHandle) if (err != noErr) return err; MyHLock(textHandle); - err = AEGetDescData(inDesc, typeChar, *textHandle, textLength); + err = AECoerceDescData(inDesc, typeChar, *textHandle, textLength); MyHUnlock(textHandle); if (err != noErr) @@ -89,38 +88,18 @@ exit: Get a copy of the data from the AE desc. The will attempt to coerce to the requested type, returning an error on failure. ----------------------------------------------------------------------------*/ -OSErr AEGetDescData(const AEDesc *theAEDesc, DescType typeCode, void *dataPtr, Size maximumSize) + +OSErr AEGetDescData(const AEDesc *theAEDesc, void *dataPtr, Size maximumSize) { - Size dataLength; - OSErr err; - - if (theAEDesc->descriptorType != typeCode) + if (theAEDesc->dataHandle) { - AEDesc coercedDesc = { typeNull, nil }; - - err = AECoerceDesc(theAEDesc, typeCode, &coercedDesc); - if (err != noErr) return err; - - dataLength = GetHandleSize(coercedDesc.dataHandle); - BlockMoveData(*coercedDesc.dataHandle, dataPtr, Min(dataLength, maximumSize)); - - AEDisposeDesc(&coercedDesc); + Size dataLength = GetHandleSize(theAEDesc->dataHandle); + BlockMoveData(*theAEDesc->dataHandle, dataPtr, Min(dataLength, maximumSize)); } else - { - if (theAEDesc->dataHandle) - { - dataLength = GetHandleSize(theAEDesc->dataHandle); - BlockMoveData(*theAEDesc->dataHandle, dataPtr, Min(dataLength, maximumSize)); - } - else - return paramErr; - } - - return noErr; + return paramErr; } - /*---------------------------------------------------------------------------- AEGetDescDataSize @@ -139,6 +118,25 @@ Size AEGetDescDataSize(const AEDesc *theAEDesc) #endif //TARGET_CARBON +static OSErr AECoerceDescData(const AEDesc *theAEDesc, DescType typeCode, void *dataPtr, Size maximumSize) +{ + OSErr err; + + if (theAEDesc->descriptorType != typeCode) + { + AEDesc coercedDesc = { typeNull, nil }; + err = AECoerceDesc(theAEDesc, typeCode, &coercedDesc); + if (err != noErr) return err; + + err = AEGetDescData(&coercedDesc, dataPtr, maximumSize); + AEDisposeDesc(&coercedDesc); + return err; + } + else + { + return AEGetDescData(theAEDesc, dataPtr, maximumSize); + } +} #pragma mark - @@ -153,7 +151,7 @@ OSErr CreateThreadAEInfo(const AppleEvent *event, AppleEvent *reply, TThreadAEIn TThreadAEInfo *threadAEInfo = nil; OSErr err; - err = MyNewBlockClear(sizeof(TThreadAEInfo), &threadAEInfo); + err = MyNewBlockClear(sizeof(TThreadAEInfo), (void**)&threadAEInfo); if (err != noErr) return err; threadAEInfo->mAppleEvent = *event; @@ -276,137 +274,87 @@ StAEDesc& StAEDesc::operator= (const StAEDesc& rhs) Boolean StAEDesc::GetBoolean() { - if (descriptorType == typeBoolean) - return **(Boolean **)dataHandle; - else - { - StAEDesc tempDesc; - if (::AECoerceDesc(this, typeBoolean, &tempDesc) == noErr) - return **(Boolean **)tempDesc.dataHandle; - else - ThrowOSErr(errAECoercionFail); - } - return false; + Boolean result = false; + OSErr err = ::AECoerceDescData(this, typeBoolean, &result, sizeof(result)); + if (err != noErr) + ThrowOSErr(errAECoercionFail); + return result; } SInt16 StAEDesc::GetShort() { - if (descriptorType == typeShortInteger) - return **(SInt16 **)dataHandle; - else - { - StAEDesc tempDesc; - if (::AECoerceDesc(this, typeShortInteger, &tempDesc) == noErr) - return **(SInt16 **)tempDesc.dataHandle; - else - ThrowOSErr(errAECoercionFail); - } - return 0; + SInt16 result = 0; + OSErr err = ::AECoerceDescData(this, typeShortInteger, &result, sizeof(result)); + if (err != noErr) + ThrowOSErr(errAECoercionFail); + return result; } SInt32 StAEDesc::GetLong() { - if (descriptorType == typeLongInteger) - return **(SInt32 **)dataHandle; - else - { - StAEDesc tempDesc; - if (::AECoerceDesc(this, typeLongInteger, &tempDesc) == noErr) - return **(SInt32 **)tempDesc.dataHandle; - else - ThrowOSErr(errAECoercionFail); - } - return 0; + SInt32 result = 0; + OSErr err = ::AECoerceDescData(this, typeLongInteger, &result, sizeof(result)); + if (err != noErr) + ThrowOSErr(errAECoercionFail); + return result; } DescType StAEDesc::GetEnumType() { - if (descriptorType == typeEnumeration) - return **(DescType **)dataHandle; - else - { - StAEDesc tempDesc; - if (::AECoerceDesc(this, typeEnumeration, &tempDesc) == noErr) - return **(DescType **)tempDesc.dataHandle; - else - ThrowOSErr(errAECoercionFail); - } - return 0; + DescType result = typeNull; + OSErr err = ::AECoerceDescData(this, typeEnumeration, &result, sizeof(result)); + if (err != noErr) + ThrowOSErr(errAECoercionFail); + return result; } - void StAEDesc::GetRect(Rect& outData) { - if (descriptorType == typeQDRectangle) - outData = **(Rect **)dataHandle; - else - { - StAEDesc tempDesc; - if (::AECoerceDesc(this, typeQDRectangle, &tempDesc) == noErr) - outData = **(Rect **)tempDesc.dataHandle; - else - ThrowOSErr(errAECoercionFail); - } + OSErr err = ::AECoerceDescData(this, typeQDRectangle, &outData, sizeof(Rect)); + if (err != noErr) + ThrowOSErr(errAECoercionFail); } void StAEDesc::GetRGBColor(RGBColor& outData) { - if (descriptorType == typeRGBColor) - outData = **(RGBColor **)dataHandle; - else - { - StAEDesc tempDesc; - if (::AECoerceDesc(this, typeRGBColor, &tempDesc) == noErr) - outData = **(RGBColor **)tempDesc.dataHandle; - else - ThrowOSErr(errAECoercionFail); - } + OSErr err = ::AECoerceDescData(this, typeRGBColor, &outData, sizeof(RGBColor)); + if (err != noErr) + ThrowOSErr(errAECoercionFail); } - void StAEDesc::GetLongDateTime(LongDateTime& outDateTime) { - if (descriptorType == typeLongDateTime) - outDateTime = **(LongDateTime **)dataHandle; - else - { - StAEDesc tempDesc; - if (::AECoerceDesc(this, typeLongDateTime, &tempDesc) == noErr) - outDateTime = **(LongDateTime **)tempDesc.dataHandle; - else - ThrowOSErr(errAECoercionFail); - } + OSErr err = ::AECoerceDescData(this, typeLongDateTime, &outDateTime, sizeof(LongDateTime)); + if (err != noErr) + ThrowOSErr(errAECoercionFail); } void StAEDesc::GetFileSpec(FSSpec &outFileSpec) { - if (descriptorType == typeFSS) - outFileSpec = **(FSSpec **)dataHandle; - else - { - StAEDesc tempDesc; - if (::AECoerceDesc(this, typeFSS, &tempDesc) == noErr) - outFileSpec = **(FSSpec **)tempDesc.dataHandle; - else - ThrowOSErr(errAECoercionFail); - } + OSErr err = ::AECoerceDescData(this, typeFSS, &outFileSpec, sizeof(FSSpec)); + if (err != noErr) + ThrowOSErr(errAECoercionFail); } void StAEDesc::GetCString(char *outString, short maxLen) { if (descriptorType == typeChar) { - long dataSize = GetDataSize(); - StrCopySafe(outString, *dataHandle, Min(dataSize, maxLen)); + long dataSize = GetDataSize(); + dataSize = Min(dataSize, maxLen-1); + if (AEGetDescData(this, outString, dataSize) == noErr) + outString[dataSize] = '\0'; } else { - StAEDesc tempDesc; + StAEDesc tempDesc; if (::AECoerceDesc(this, typeChar, &tempDesc) == noErr) { - long dataSize = tempDesc.GetDataSize(); - StrCopySafe(outString, *tempDesc.dataHandle, Min(dataSize, maxLen)); + long dataSize = tempDesc.GetDataSize(); + dataSize = Min(dataSize, maxLen-1); + if (AEGetDescData(&tempDesc, outString, dataSize) == noErr) + outString[dataSize] = '\0'; } else ThrowOSErr(errAECoercionFail); @@ -417,10 +365,10 @@ void StAEDesc::GetPString(Str255 outString) { if (descriptorType == typeChar) { - long stringLen = GetDataSize(); + long stringLen = GetDataSize(); if (stringLen > 255) stringLen = 255; - BlockMoveData(*dataHandle, &outString[1], stringLen); + AEGetDescData(this, outString+1, stringLen); outString[0] = stringLen; } else @@ -428,10 +376,10 @@ void StAEDesc::GetPString(Str255 outString) StAEDesc tempDesc; if (::AECoerceDesc(this, typeChar, &tempDesc) == noErr) { - long stringLen = tempDesc.GetDataSize(); + long stringLen = tempDesc.GetDataSize(); if (stringLen > 255) stringLen = 255; - BlockMoveData(*tempDesc.dataHandle, &outString[1], stringLen); + AEGetDescData(&tempDesc, outString+1, stringLen); outString[0] = stringLen; } else @@ -441,29 +389,28 @@ void StAEDesc::GetPString(Str255 outString) Handle StAEDesc::GetTextHandle() { - StAEDesc tempDesc; - Handle data = nil; - + Handle data = nil; + if (descriptorType == typeChar) { - data = dataHandle; + Size dataSize = GetDataSize(); + data = ::NewHandle(dataSize); + if (data == NULL) + ThrowOSErr(memFullErr); + ::HLock(data); + ::AEGetDescData(this, *data, dataSize); + ::HUnlock(data); } else { + StAEDesc tempDesc; if (::AECoerceDesc(this, typeChar, &tempDesc) == noErr) - data = tempDesc.dataHandle; + data = tempDesc.GetTextHandle(); else - ThrowOSErr(errAECoercionFail); + ThrowOSErr(errAECoercionFail); } - if (data) - { - OSErr err = ::HandToHand(&data); - ThrowIfOSErr(err); - return data; - } - - return nil; + return data; } @@ -843,36 +790,30 @@ OSErr GetObjectClassFromAppleEvent(const AppleEvent *appleEvent, DescType *objec ---------------------------------------------------------------------------*/ OSErr DescToPString(const AEDesc* desc, Str255 aPString, short maxLength) { - StAEDesc tempDesc; - Handle dataHandle = nil; - long charCount; - if (desc->descriptorType == typeChar) { - dataHandle = desc->dataHandle; + long stringLen = AEGetDescDataSize(desc); + if (stringLen > maxLength) + stringLen = maxLength; + AEGetDescData(desc, aPString+1, stringLen); + aPString[0] = stringLen; } else { - if (AECoerceDesc(desc, typeChar, &tempDesc) == noErr) - dataHandle = tempDesc.dataHandle; - else + StAEDesc tempDesc; + if (AECoerceDesc(desc, typeChar, &tempDesc) == noErr) { + long stringLen = tempDesc.GetDataSize(); + if (stringLen > maxLength) + stringLen = maxLength; + AEGetDescData(&tempDesc, aPString+1, stringLen); + aPString[0] = stringLen; + } else return errAECoercionFail; } - - charCount = GetHandleSize(dataHandle); - - if (charCount > maxLength) - { - return errAECoercionFail; - } - - BlockMoveData(*dataHandle, &aPString[1], charCount); - aPString[0] = charCount; return noErr; } - /*---------------------------------------------------------------------------- DescToCString @@ -881,31 +822,30 @@ OSErr DescToPString(const AEDesc* desc, Str255 aPString, short maxLength) --------------------------------------------------------------------------- */ OSErr DescToCString(const AEDesc* desc, CStr255 aCString, short maxLength) { - StAEDesc tempDesc; - Handle dataHandle = nil; - long charCount; - if (desc->descriptorType == typeChar) { - dataHandle = desc->dataHandle; + long stringLen = AEGetDescDataSize(desc); + if (stringLen >= maxLength) + stringLen = maxLength - 1; + if (AEGetDescData(desc, aCString, stringLen) == noErr) + aCString[stringLen] = '\0'; + else + return errAECoercionFail; } else { - if (AECoerceDesc(desc, typeChar, &tempDesc) == noErr) - dataHandle = tempDesc.dataHandle; - else + StAEDesc tempDesc; + if (AECoerceDesc(desc, typeChar, &tempDesc) == noErr) { + long stringLen = AEGetDescDataSize(&tempDesc); + if (stringLen >= maxLength) + stringLen = maxLength - 1; + if (AEGetDescData(&tempDesc, aCString, stringLen) == noErr) + aCString[stringLen] = '\0'; + else + return errAECoercionFail; + } else return errAECoercionFail; } - - charCount = GetHandleSize(dataHandle); - - if (charCount > maxLength) - { - return errAECoercionFail; - } - - BlockMoveData(*dataHandle, aCString, charCount); - aCString[charCount] = '\0'; return noErr; } @@ -915,14 +855,10 @@ OSErr DescToCString(const AEDesc* desc, CStr255 aCString, short maxLength) OSErr DescToDescType(const AEDesc *desc, DescType *descType) { - OSErr err = noErr; - - if (GetHandleSize(desc->dataHandle) == 4) - *descType = *(DescType*)*(desc->dataHandle); + if (AEGetDescDataSize(desc) == sizeof(DescType)) + return AEGetDescData(desc, descType, sizeof(DescType)); else - err = errAECoercionFail; - - return err; + return errAECoercionFail; } //---------------------------------------------------------------------------------- @@ -931,23 +867,7 @@ OSErr DescToDescType(const AEDesc *desc, DescType *descType) OSErr DescToBoolean(const AEDesc* desc, Boolean* aBoolean) { - StAEDesc tempDesc; - Handle dataHandle = nil; - - if (desc->descriptorType == typeBoolean) - { - dataHandle = desc->dataHandle; - } - else - { - if (AECoerceDesc(desc, typeBoolean, &tempDesc) == noErr) - dataHandle = tempDesc.dataHandle; - else - return errAECoercionFail; - } - - *aBoolean = **dataHandle; - return noErr; + return AECoerceDescData(desc, typeBoolean, aBoolean, sizeof(Boolean)); } //---------------------------------------------------------------------------------- @@ -956,23 +876,7 @@ OSErr DescToBoolean(const AEDesc* desc, Boolean* aBoolean) OSErr DescToFixed(const AEDesc* desc, Fixed* aFixed) { - StAEDesc tempDesc; - Handle dataHandle = nil; - - if (desc->descriptorType == typeFixed) - { - dataHandle = desc->dataHandle; - } - else - { - if (AECoerceDesc(desc, typeFixed, &tempDesc) == noErr) - dataHandle = tempDesc.dataHandle; - else - return errAECoercionFail; - } - - *aFixed = *(Fixed *)*dataHandle; - return noErr; + return AECoerceDescData(desc, typeFixed, aFixed, sizeof(Fixed)); } //---------------------------------------------------------------------------------- @@ -981,48 +885,16 @@ OSErr DescToFixed(const AEDesc* desc, Fixed* aFixed) OSErr DescToFloat(const AEDesc* desc, float* aFloat) { - StAEDesc tempDesc; - Handle dataHandle = nil; - - if (desc->descriptorType == typeFloat) - { - dataHandle = desc->dataHandle; - } - else - { - if (AECoerceDesc(desc, typeFloat, &tempDesc) == noErr) - dataHandle = tempDesc.dataHandle; - else - return errAECoercionFail; - } - - *aFloat = **(float**)dataHandle; - return noErr; + return AECoerceDescData(desc, typeFloat, aFloat, sizeof(float)); } //---------------------------------------------------------------------------------- // Converts descriptor dataHandle to a long //---------------------------------------------------------------------------------- -OSErr DescToLong(const AEDesc* desc, long* aLong) +OSErr DescToLong(const AEDesc* desc, long* aLong) { - StAEDesc tempDesc; - Handle dataHandle = nil; - - if (desc->descriptorType == typeLongInteger) - { - dataHandle = desc->dataHandle; - } - else - { - if (AECoerceDesc(desc, typeLongInteger, &tempDesc) == noErr) - dataHandle = tempDesc.dataHandle; - else - return errAECoercionFail; - } - - *aLong = *(long *)*dataHandle; - return noErr; + return AECoerceDescData(desc, typeLongInteger, aLong, sizeof(long)); } //---------------------------------------------------------------------------------- @@ -1031,22 +903,7 @@ OSErr DescToLong(const AEDesc* desc, long* aLong) OSErr DescToRGBColor(const AEDesc* desc, RGBColor* aRGBColor) { - StAEDesc tempDesc; - Handle dataHandle = nil; - - if (desc->descriptorType == typeRGBColor) // a color value - { - dataHandle = desc->dataHandle; - } - else { - if (AECoerceDesc(desc, typeRGBColor, &tempDesc) == noErr) - dataHandle = tempDesc.dataHandle; - else - return errAECoercionFail; - } - - *aRGBColor = *(RGBColor *)*dataHandle; - return noErr; + return AECoerceDescData(desc, typeRGBColor, aRGBColor, sizeof(RGBColor)); } //---------------------------------------------------------------------------------- @@ -1055,23 +912,7 @@ OSErr DescToRGBColor(const AEDesc* desc, RGBColor* aRGBColor) OSErr DescToShort(const AEDesc* desc, short* aShort) { - StAEDesc tempDesc; - Handle dataHandle = nil; - - if (desc->descriptorType == typeShortInteger) - { - dataHandle = desc->dataHandle; - } - else - { - if (AECoerceDesc(desc, typeShortInteger, &tempDesc) == noErr) - dataHandle = tempDesc.dataHandle; - else - return errAECoercionFail; - } - - *aShort = *(short *)*dataHandle; - return noErr; + return AECoerceDescData(desc, typeShortInteger, aShort, sizeof(short)); } //---------------------------------------------------------------------------------- @@ -1080,26 +921,27 @@ OSErr DescToShort(const AEDesc* desc, short* aShort) OSErr DescToTextHandle(const AEDesc* desc, Handle *text) { - StAEDesc tempDesc; - Handle dataHandle = nil; - OSErr err; - + Handle data = nil; + if (desc->descriptorType == typeChar) { - dataHandle = desc->dataHandle; + Size dataSize = ::AEGetDescDataSize(desc); + data = ::NewHandle(dataSize); + if (data == NULL) + return memFullErr; + ::HLock(data); + ::AEGetDescData(desc, *data, dataSize); + ::HUnlock(data); } else { - if (AECoerceDesc(desc, typeChar, &tempDesc) == noErr) - dataHandle = tempDesc.dataHandle; + StAEDesc tempDesc; + if (::AECoerceDesc(desc, typeChar, &tempDesc) == noErr) + data = tempDesc.GetTextHandle(); else - return errAECoercionFail; + return errAECoercionFail; } - - err = HandToHand(&dataHandle); - if (err != noErr) return err; - - *text = dataHandle; + *text = data; return noErr; } @@ -1109,23 +951,7 @@ OSErr DescToTextHandle(const AEDesc* desc, Handle *text) OSErr DescToRect(const AEDesc* desc, Rect* aRect) { - StAEDesc tempDesc; - Handle dataHandle = nil; - - if (desc->descriptorType == typeRectangle) - { - dataHandle = desc->dataHandle; - } - else - { - if (AECoerceDesc(desc, typeQDRectangle, &tempDesc) == noErr) - dataHandle = tempDesc.dataHandle; - else - return errAECoercionFail; - } - - *aRect = *(Rect *)*dataHandle; - return(noErr); + return AECoerceDescData(desc, typeRectangle, aRect, sizeof(Rect)); } //---------------------------------------------------------------------------------- @@ -1134,23 +960,7 @@ OSErr DescToRect(const AEDesc* desc, Rect* aRect) OSErr DescToPoint(const AEDesc* desc, Point* aPoint) { - StAEDesc tempDesc; - Handle dataHandle = nil; - - if (desc->descriptorType == typeQDPoint) - { - dataHandle = desc->dataHandle; - } - else - { - if (AECoerceDesc(desc, typeQDPoint, &tempDesc) == noErr) - dataHandle = tempDesc.dataHandle; - else - return errAECoercionFail; - } - - *aPoint = *(Point *)*dataHandle; - return(noErr); + return AECoerceDescData(desc, typeQDPoint, aPoint, sizeof(Point)); } #pragma mark - diff --git a/xpfe/bootstrap/appleevents/nsAEUtils.h b/xpfe/bootstrap/appleevents/nsAEUtils.h index 276ed745c702..c5bca54ab765 100644 --- a/xpfe/bootstrap/appleevents/nsAEUtils.h +++ b/xpfe/bootstrap/appleevents/nsAEUtils.h @@ -36,7 +36,7 @@ #include #include #include - +#include #include "nsAEDefs.h" #include "nsMacUtils.h" @@ -95,7 +95,7 @@ OSErr ResumeThreadAE(TThreadAEInfo *threadAEInfo, OSErr threadError); #if !TARGET_CARBON -OSErr AEGetDescData(const AEDesc *theAEDesc, DescType typeCode, void * dataPtr, Size maximumSize); +OSErr AEGetDescData(const AEDesc *theAEDesc, void * dataPtr, Size maximumSize); Size AEGetDescDataSize(const AEDesc *theAEDesc); #endif /* TARGET_CARBON */ @@ -163,19 +163,22 @@ public: StAEDesc& operator= (const StAEDesc&rhs); // throws OSErrs - Size GetDataSize() { return (dataHandle) ? GetHandleSize(dataHandle) : 0; } + Size GetDataSize() + { + return AEGetDescDataSize(this); + } Boolean GetBoolean(); SInt16 GetShort(); SInt32 GetLong(); - DescType GetEnumType(); + DescType GetEnumType(); - void GetRect(Rect& outRect); - void GetRGBColor(RGBColor& outColor); - void GetLongDateTime(LongDateTime& outDateTime); - void GetFileSpec(FSSpec &outFileSpec); - void GetCString(char *outString, short maxLen); - void GetPString(Str255 outString); + void GetRect(Rect& outRect); + void GetRGBColor(RGBColor& outColor); + void GetLongDateTime(LongDateTime& outDateTime); + void GetFileSpec(FSSpec &outFileSpec); + void GetCString(char *outString, short maxLen); + void GetPString(Str255 outString); Handle GetTextHandle(); diff --git a/xpfe/bootstrap/appleevents/nsAEWindowClass.cpp b/xpfe/bootstrap/appleevents/nsAEWindowClass.cpp index 86a1fe1efa4e..23ab55b63590 100644 --- a/xpfe/bootstrap/appleevents/nsAEWindowClass.cpp +++ b/xpfe/bootstrap/appleevents/nsAEWindowClass.cpp @@ -164,7 +164,7 @@ AEWindowClass::AEWindowClass(DescType classType, TWindowKind windowKind) AEWindowClass::~AEWindowClass() { if (mDocumentAccessor) - DisposeRoutineDescriptor(mDocumentAccessor); + DisposeOSLAccessorUPP(mDocumentAccessor); } #pragma mark - diff --git a/xpfe/bootstrap/appleevents/nsWindowUtils.cpp b/xpfe/bootstrap/appleevents/nsWindowUtils.cpp index 52d6c4fe4112..c85ffa48291a 100644 --- a/xpfe/bootstrap/appleevents/nsWindowUtils.cpp +++ b/xpfe/bootstrap/appleevents/nsWindowUtils.cpp @@ -64,7 +64,11 @@ void GetCleanedWindowName(WindowPtr wind, char* outName, long maxLen) //--------------------------------------------------------- inline void GetWindowPortRect(WindowPtr wind, Rect *outRect) { +#if OPAQUE_TOOLBOX_STRUCTS + ::GetPortBounds(GetWindowPort(wind), outRect); +#else *outRect = wind->portRect; +#endif } /*---------------------------------------------------------------------------- @@ -86,7 +90,7 @@ void GetWindowGlobalBounds(WindowPtr wind, Rect* outBounds) GrafPtr curPort; GetWindowPortRect(wind, outBounds); GetPort(&curPort); - SetPort(wind); + SetPortWindowPort(wind); LocalToGlobalRect(outBounds); SetPort(curPort); } diff --git a/xpfe/bootstrap/nsAppRunner.cpp b/xpfe/bootstrap/nsAppRunner.cpp index 3a25bc2ec1df..160adbabcdef 100644 --- a/xpfe/bootstrap/nsAppRunner.cpp +++ b/xpfe/bootstrap/nsAppRunner.cpp @@ -131,7 +131,9 @@ public: ~stTSMCloser() { +#if !TARGET_CARBON (void)CloseTSMAwareApplication(); +#endif } }; #endif // XP_MAC diff --git a/xpfe/bootstrap/nsMacBundle.rsrc b/xpfe/bootstrap/nsMacBundle.rsrc index 015c7327da9518c1e511754d4ae91b680ec10386..3f08def73c8fcef73c675bc16476dffe51e5d182 100644 GIT binary patch delta 326 zcmZpl&-7v*(*#3VE(Qh$P6md44-Q!{5=_1fZ`w! z{+Rh;k^NI61F#54HN#eq4ecNdVj}~gq}0Ts6xF=clH%mVf>gca{9Fcx$?H1A>Orbd zEfPv({K4o26qaHA#lY0`;+nJGY;@zUl)oe8X3 z5Xb)i5A~w@{1H)5=#;% Ir}rxW0C+l3-T(jq delta 364 zcmaDckEwk=(*#3VO$G)AP6melbRez3z`zKkI{6qFI)Io>dZV9ohwG&BmvX%JPmK&1 zSb&ls1q_>gws``vH;9c4M2gdj5{pxdRP$0xijxxyQuUJaa~YTo^$aI7c8Xb;xn)); zlw_nTlvEa^DkSEmC?pr9CYIzEDHP``l&31BrnS)E6cpu`rKTukW$7_Y zPU{G&M|By?Udb8u9YDKfSf4R)xdpkpF^DomWhUpCFz_)Z0ci^cJ|;0wXFp{ieJV4# z7)UeM0coH-ixH3p%CkIk@^kTFU|^l)>mL;bq?aXUXQlw@O}WWs#Xx!=L&N|7Q2%XS z)EUaE%W~|74nqTjECWOPJ|NqLH!QIzGrzQ0AuTf}wU{rUC_gJT8RQ|C#FE6xiv1Fk HJ^B>@LRw)v diff --git a/xpfe/bootstrap/nsNativeAppSupportMac.cpp b/xpfe/bootstrap/nsNativeAppSupportMac.cpp index f6fef70aea5e..304e32bb6e83 100644 --- a/xpfe/bootstrap/nsNativeAppSupportMac.cpp +++ b/xpfe/bootstrap/nsNativeAppSupportMac.cpp @@ -78,10 +78,15 @@ nsSplashScreenMac::Show() { mDialog = ::GetNewDialog(rSplashDialog, nil, (WindowPtr)-1L); if (!mDialog) return NS_ERROR_FAILURE; - + +#if TARGET_CARBON + ::ShowWindow(GetDialogWindow(mDialog)); + ::SetPortDialogPort(mDialog); +#else ::ShowWindow(mDialog); ::SetPort(mDialog); - +#endif + ::DrawDialog(mDialog); // we don't handle events for this dialog, so we // need to draw explicitly. Yuck. return NS_OK; diff --git a/xpinstall/src/PatchableAppleSingle.h b/xpinstall/src/PatchableAppleSingle.h index 953949e9e95c..157743fd168f 100644 --- a/xpinstall/src/PatchableAppleSingle.h +++ b/xpinstall/src/PatchableAppleSingle.h @@ -81,7 +81,7 @@ typedef struct PASResource -#if PRAGMA_ALIGN_SUPPORTED +#if PRAGMA_STRUCT_ALIGN #pragma options align=reset #endif