feComponentTransfer is incomplete
Olliver has a patch for this.
Created attachment 4999 [details] First run of componenet transfer patch
Created attachment 5001 [details] Second run of patch
Comment on attachment 5001 [details] Second run of patch What a beautiful patch! r=me
Comment on attachment 5001 [details] Second run of patch Hum... so the code may be beautiful, but testing it out locally, I hit two unexpected warnings: 2005-12-08 04:49:53.613 Safari[27885] WARNING: Unknown function type for feComponentTransfer 2005-12-08 04:49:53.636 Safari[27885] Failed to find image for name: __previousOutput__ And *massive* strangeness trying to resize the Safari window. Something's wrong, and we'll have to fix it before landing this one.
Hum... eventually I got this patch to go down hard (by resizing the safari window): 2005-12-08 04:57:43.111 Safari[27885] Failed to find image for name: __previousOutput__ 2005-12-08 04:58:56.332 Safari[27885] Failed to find image for name: __previousOutput__ Safari(27885,0xa000ed68) malloc: *** vm_allocate(size=8421376) failed (error code=3) Safari(27885,0xa000ed68) malloc: *** error: can't allocate region Safari(27885,0xa000ed68) malloc: *** set a breakpoint in szone_error to debug Date/Time: 2005-12-08 04:59:46.551 -0800 OS Version: 10.4.4 (Build 8G16) Report Version: 3 Command: Safari Path: /Applications/Safari.app/Contents/MacOS/Safari Parent: perl [27803] Version: 2.0.3 (417.4) Build Version: 2 Project Name: WebBrowser Source Version: 4170400 PID: 27885 Thread: 0 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000000 Thread 0 Crashed: 0 com.apple.QuartzCore 0x942793c8 fe_tree_node_new + 48 1 com.apple.QuartzCore 0x94214c80 fe_tree_new_image + 76 2 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 3 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 4 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 5 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 6 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 7 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 8 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 9 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 10 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 11 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 12 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 13 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 14 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 15 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 16 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 17 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 18 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 19 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 20 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 21 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 22 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 23 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 24 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 25 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 26 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 27 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 28 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 29 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 30 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 31 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 32 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 33 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 34 com.apple.QuartzCore 0x9426ad2c fe_tree_new_sampler + 96 35 com.apple.QuartzCore 0x9421500c fe_tree_new_image + 984 36 com.apple.QuartzCore 0x9427929c fe_tree_prepare_image + 56 37 com.apple.QuartzCore 0x94280994 fe_tree_render_image + 196 38 com.apple.QuartzCore 0x942808ac fe_image_render_ + 176 39 com.apple.QuartzCore 0x942807e8 fe_image_render + 164 40 com.apple.QuartzCore 0x9429eab4 provider_ensure_data + 236 41 com.apple.QuartzCore 0x942b092c provider_get_byte_pointer + 24 42 com.apple.CoreGraphics 0x903c50a0 CGAccessSessionGetBytePointer + 88 43 com.apple.CoreGraphics 0x903d1f74 img_data_lock + 1240 44 com.apple.CoreGraphics 0x903d1370 CGSImageDataLockWithReference + 156 45 libRIP.A.dylib 0x94665538 ripc_AcquireImage + 916 46 libRIP.A.dylib 0x94663cd0 ripc_DrawImage + 2320 47 com.apple.CoreGraphics 0x903d1100 CGContextDelegateDrawImage + 76 48 com.apple.CoreGraphics 0x903d1068 CGContextDrawImage + 340 49 com.apple.QuartzCore 0x94267e18 -[CICGContextImpl render:] + 636 50 com.apple.QuartzCore 0x94296cb0 -[CIContext drawImage:inRect:fromRect:] + 512 51 com.apple.QuartzCore 0x94299474 -[CIContext drawImage:atPoint:fromRect:] + 140 52 com.apple.WebCore 0x01a11c0c KCanvasFilterQuartz::applyFilter(KRenderingDevice*, QRect const&) + 1032 (KCanvasFilterQuartz.mm:142) 53 com.apple.WebCore 0x01a15b50 KCanvasItemQuartz::paint (khtml::RenderObject::PaintInfo&, int, int) + 1944 (KCanvasItemQuartz.mm:244) 54 com.apple.WebCore 0x01838180 khtml::RenderBox::paint(khtml::RenderObject::PaintInfo&, int, int) + 168 (render_box.cpp:283) 55 com.apple.WebCore 0x01a17760 KCanvasContainerQuartz::paint (khtml::RenderObject::PaintInfo&, int, int) + 3640 (KCanvasResourcesQuartz.mm:135) 56 com.apple.WebCore 0x01838180 khtml::RenderBox::paint(khtml::RenderObject::PaintInfo&, int, int) + 168 (render_box.cpp:283) 57 com.apple.WebCore 0x01a17760 KCanvasContainerQuartz::paint (khtml::RenderObject::PaintInfo&, int, int) + 3640 (KCanvasResourcesQuartz.mm:135) 58 com.apple.WebCore 0x01838180 khtml::RenderBox::paint(khtml::RenderObject::PaintInfo&, int, int) + 168 (render_box.cpp:283) 59 com.apple.WebCore 0x01a17760 KCanvasContainerQuartz::paint (khtml::RenderObject::PaintInfo&, int, int) + 3640 (KCanvasResourcesQuartz.mm:135) 60 com.apple.WebCore 0x01838180 khtml::RenderBox::paint(khtml::RenderObject::PaintInfo&, int, int) + 168 (render_box.cpp:283) 61 com.apple.WebCore 0x01a17760 KCanvasContainerQuartz::paint (khtml::RenderObject::PaintInfo&, int, int) + 3640 (KCanvasResourcesQuartz.mm:135) 62 com.apple.WebCore 0x0190a1f4 khtml::RenderCanvas::paint (khtml::RenderObject::PaintInfo&, int, int) + 332 (render_canvas.cpp:220) 63 com.apple.WebCore 0x018dba10 khtml::RenderLayer::paintLayer(khtml::RenderLayer*, QPainter*, QRect const&, bool, bool, khtml::RenderObject*) + 1520 (render_layer.cpp:1037) 64 com.apple.WebCore 0x018dbbf0 khtml::RenderLayer::paint(QPainter*, QRect const&, bool, khtml::RenderObject*) + 72 (render_layer.cpp:937) 65 com.apple.WebCore 0x016c14dc KWQKHTMLPart::paint(QPainter*, QRect const&) + 788 (KWQKHTMLPart.mm:1170) 66 com.apple.WebCore 0x01723134 -[WebCoreBridge drawRect:withPainter:] + 124 (WebCoreBridge.mm:736) 67 com.apple.WebCore 0x01723264 -[WebCoreBridge drawRect:] + 252 (WebCoreBridge.mm: 744) 68 com.apple.WebKit 0x0037cedc -[WebHTMLView drawRect:] + 980 (WebHTMLView.m:2457) 69 com.apple.AppKit 0x936c1e70 -[NSView _drawRect:clip:] + 2128 70 com.apple.AppKit 0x936c1430 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 404 71 com.apple.WebKit 0x00372698 -[WebHTMLView(WebPrivate) _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 692 (WebHTMLView.m:813) 72 com.apple.AppKit 0x936c4178 _recursiveDisplayInRect2 + 84 73 com.apple.CoreFoundation 0x9076d960 CFArrayApplyFunction + 416 74 com.apple.AppKit 0x936c1544 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 680 75 com.apple.AppKit 0x936c4178 _recursiveDisplayInRect2 + 84 76 com.apple.CoreFoundation 0x9076d960 CFArrayApplyFunction + 416 77 com.apple.AppKit 0x936c1544 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 680 78 com.apple.AppKit 0x936c4178 _recursiveDisplayInRect2 + 84 79 com.apple.CoreFoundation 0x9076d960 CFArrayApplyFunction + 416 80 com.apple.AppKit 0x936c1544 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 680 81 com.apple.AppKit 0x936c4178 _recursiveDisplayInRect2 + 84 82 com.apple.CoreFoundation 0x9076d960 CFArrayApplyFunction + 416 83 com.apple.AppKit 0x936c1544 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 680 84 com.apple.AppKit 0x936c4178 _recursiveDisplayInRect2 + 84 85 com.apple.CoreFoundation 0x9076d960 CFArrayApplyFunction + 416 86 com.apple.AppKit 0x936c1544 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 680 87 com.apple.AppKit 0x936c09f8 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 196 88 com.apple.AppKit 0x936c0fc0 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 1676 89 com.apple.AppKit 0x936c0fc0 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 1676 90 com.apple.AppKit 0x936e165c -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 192 91 com.apple.AppKit 0x936ba66c -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 384 92 com.apple.AppKit 0x936af960 -[NSView displayIfNeeded] + 248 93 com.apple.AppKit 0x93770ea8 -[NSThemeFrame handleSetFrameCommonRedisplay] + 256 94 com.apple.AppKit 0x936bd5fc -[NSWindow _setFrameCommon:display:stashSize:] + 708 95 com.apple.AppKit 0x936bd324 -[NSWindow setFrame:display:] + 40 96 com.apple.Safari 0x00010098 0x1000 + 61592 97 com.apple.AppKit 0x937c7c54 -[NSTitledFrame resizeWithEvent:] + 972 98 com.apple.AppKit 0x937c7328 -[NSTitledFrame mouseDown:] + 140 99 com.apple.AppKit 0x937c7288 -[NSThemeFrame mouseDown:] + 188 100 com.apple.AppKit 0x936d7ea8 -[NSWindow sendEvent:] + 4616 101 com.apple.Safari 0x00022104 0x1000 + 135428 102 com.apple.AppKit 0x93680ef4 -[NSApplication sendEvent:] + 4172 103 com.apple.Safari 0x00021c08 0x1000 + 134152 104 com.apple.AppKit 0x93678330 -[NSApplication run] + 508 105 com.apple.AppKit 0x93768e60 NSApplicationMain + 452 106 com.apple.Safari 0x0005cf50 0x1000 + 376656 107 com.apple.Safari 0x0005cdf4 0x1000 + 376308 Thread 1: 0 libSystem.B.dylib 0x9000b208 mach_msg_trap + 8 1 libSystem.B.dylib 0x9000b15c mach_msg + 60 2 com.apple.CoreFoundation 0x9075e114 __CFRunLoopRun + 832 3 com.apple.CoreFoundation 0x9075da18 CFRunLoopRunSpecific + 268 4 com.apple.Foundation 0x928e5664 -[NSRunLoop runMode:beforeDate:] + 172 5 com.apple.Foundation 0x928e559c -[NSRunLoop run] + 76 6 com.apple.WebKit 0x003c4434 +[WebFileDatabase _syncLoop:] + 420 (WebFileDatabase.m:291) 7 com.apple.Foundation 0x928d66d4 forkThreadForFunction + 108 8 libSystem.B.dylib 0x9002b200 _pthread_body + 96 Thread 2: 0 libSystem.B.dylib 0x9000b208 mach_msg_trap + 8 1 libSystem.B.dylib 0x9000b15c mach_msg + 60 2 com.apple.CoreFoundation 0x9075e114 __CFRunLoopRun + 832 3 com.apple.CoreFoundation 0x9075da18 CFRunLoopRunSpecific + 268 4 com.apple.Foundation 0x928fdb9c +[NSURLConnection(NSURLConnectionInternal) _resourceLoadLoop:] + 264 5 com.apple.Foundation 0x928d66d4 forkThreadForFunction + 108 6 libSystem.B.dylib 0x9002b200 _pthread_body + 96 Thread 3: 0 libSystem.B.dylib 0x9000b208 mach_msg_trap + 8 1 libSystem.B.dylib 0x9000b15c mach_msg + 60 2 com.apple.CoreFoundation 0x9075e114 __CFRunLoopRun + 832 3 com.apple.CoreFoundation 0x9075da18 CFRunLoopRunSpecific + 268 4 com.apple.Foundation 0x928fecdc +[NSURLCache _diskCacheSyncLoop:] + 152 5 com.apple.Foundation 0x928d66d4 forkThreadForFunction + 108 6 libSystem.B.dylib 0x9002b200 _pthread_body + 96 Thread 4: 0 libSystem.B.dylib 0x9002b8a8 semaphore_wait_signal_trap + 8 1 libSystem.B.dylib 0x9003001c pthread_cond_wait + 488 2 com.apple.Foundation 0x928dd840 -[NSConditionLock lockWhenCondition:] + 68 3 com.apple.Syndication 0x9b3b250c -[AsyncDB _run:] + 192 4 com.apple.Foundation 0x928d66d4 forkThreadForFunction + 108 5 libSystem.B.dylib 0x9002b200 _pthread_body + 96 Thread 5: 0 libSystem.B.dylib 0x9002b8a8 semaphore_wait_signal_trap + 8 1 libSystem.B.dylib 0x9003001c pthread_cond_wait + 488 2 com.apple.ColorSync 0x91555604 pthreadSemaphoreWait(t_pthreadSemaphore*) + 56 3 com.apple.ColorSync 0x915548a0 CMMConvTask(void*) + 40 4 libSystem.B.dylib 0x9002b200 _pthread_body + 96 Thread 6: 0 libSystem.B.dylib 0x9002b8a8 semaphore_wait_signal_trap + 8 1 libSystem.B.dylib 0x9003001c pthread_cond_wait + 488 2 com.apple.QuartzCore 0x942d87b0 fe_fragment_thread + 52 3 libSystem.B.dylib 0x9002b200 _pthread_body + 96 Thread 0 crashed with PPC Thread State 64: srr0: 0x00000000942793c8 srr1: 0x100000000000d030 vrsave: 0x0000000000000000 cr: 0x22042432 xer: 0x0000000020000000 lr: 0x00000000942793c4 ctr: 0x000000009012c564 r0: 0x00000000942793c4 r1: 0x00000000bfff53a0 r2: 0x0000000000000070 r3: 0x0000000000000000 r4: 0x0000000000000000 r5: 0x00000000000003e8 r6: 0xffffffffffffffff r7: 0x0000000000000003 r8: 0x0000000064363800 r9: 0x00000000bfff5054 r10: 0x0000000000000000 r11: 0x00000000a41fdfcc r12: 0x000000009012c564 r13: 0x00000000a0375ce4 r14: 0x0000000000000000 r15: 0x0000000000000000 r16: 0x0000000000000000 r17: 0x000000000d148160 r18: 0x0000000020000000 r19: 0x000000000000029f r20: 0x0000000000000030 r21: 0x0000000000000000 r22: 0x0000000000000000 r23: 0x00000000bfff66f8 r24: 0x000000000c9308b0 r25: 0x000000000f6cbad0 r26: 0x000000000f6a9590 r27: 0x000000000f690da0 r28: 0x00000000bfff66f8 r29: 0x0000000000000000 r30: 0x0000000000000000 r31: 0x00000000942793a8 Binary Images Description: 0x1000 - 0xdafff com.apple.Safari 2.0.3 (417.4) /Applications/Safari.app/Contents/MacOS/ Safari 0x305000 - 0x417fff com.apple.WebKit 420+ /Volumes/Stuff/Projects/build/Development/ WebKit.framework/Versions/A/WebKit 0x1008000 - 0x10b8fff com.apple.JavaScriptCore 420+ /Volumes/Stuff/Projects/build/Development/ JavaScriptCore.framework/Versions/A/JavaScriptCore 0x16a1000 - 0x1b3bfff com.apple.WebCore 420+ /Volumes/Stuff/Projects/build/Development/ WebCore.framework/Versions/A/WebCore 0x10f18000 - 0x11027fff GLEngine /System/Library/Frameworks/OpenGL.framework/Resources/ GLEngine.bundle/GLEngine 0x11056000 - 0x111b9fff com.apple.GeForceFXGLDriver 1.4.18 (4.1.8) /System/Library/Extensions/GeForceFXGLDriver.bundle/Contents/MacOS/GeForceFXGLDriver 0x111da000 - 0x111f3fff GLDriver /System/Library/Frameworks/OpenGL.framework/Versions/A/ Resources/GLDriver.bundle/GLDriver 0x111f9000 - 0x11214fff GLRendererFloat /System/Library/Frameworks/OpenGL.framework/ Versions/A/Resources/GLRendererFloat.bundle/GLRendererFloat 0x8fe00000 - 0x8fe54fff dyld 44.2 /usr/lib/dyld 0x90000000 - 0x901b3fff libSystem.B.dylib /usr/lib/libSystem.B.dylib 0x9020b000 - 0x90210fff libmathCommon.A.dylib /usr/lib/system/libmathCommon.A.dylib 0x90212000 - 0x90265fff com.apple.CoreText 1.0.1 (???) /System/Library/Frameworks/ ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText 0x90292000 - 0x90343fff ATS /System/Library/Frameworks/ApplicationServices.framework/ Versions/A/Frameworks/ATS.framework/Versions/A/ATS 0x90372000 - 0x906affff com.apple.CoreGraphics 1.256.30 (???) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ CoreGraphics.framework/Versions/A/CoreGraphics 0x9073b000 - 0x90814fff com.apple.CoreFoundation 6.4.4 (368.25) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 0x9085d000 - 0x9085dfff com.apple.CoreServices 10.4 (???) /System/Library/Frameworks/ CoreServices.framework/Versions/A/CoreServices 0x9085f000 - 0x90961fff libicucore.A.dylib /usr/lib/libicucore.A.dylib 0x909bb000 - 0x90a3ffff libobjc.A.dylib /usr/lib/libobjc.A.dylib 0x90a69000 - 0x90ad7fff com.apple.framework.IOKit 1.4.1 (???) /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit 0x90aee000 - 0x90b00fff libauto.dylib /usr/lib/libauto.dylib 0x90b07000 - 0x90ddffff com.apple.CoreServices.CarbonCore 681.1 (671.2) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/ CarbonCore.framework/Versions/A/CarbonCore 0x90e45000 - 0x90ec5fff com.apple.CoreServices.OSServices 4.1 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/ OSServices.framework/Versions/A/OSServices 0x90f0f000 - 0x90f50fff com.apple.CFNetwork 10.4.3 (129.2) /System/Library/Frameworks/ CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork 0x90f65000 - 0x90f7dfff com.apple.WebServices 1.1.2 (1.1.0) /System/Library/Frameworks/ CoreServices.framework/Versions/A/Frameworks/WebServicesCore.framework/Versions/A/ WebServicesCore 0x90f8d000 - 0x9100efff com.apple.SearchKit 1.0.5 /System/Library/Frameworks/ CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit 0x91054000 - 0x9107efff com.apple.Metadata 10.4.4 (121.32) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/ Metadata.framework/Versions/A/Metadata 0x9108f000 - 0x9109dfff libz.1.dylib /usr/lib/libz.1.dylib 0x910a0000 - 0x91263fff com.apple.security 4.3 (25966) /System/Library/Frameworks/ Security.framework/Versions/A/Security 0x91366000 - 0x9136ffff com.apple.DiskArbitration 2.1 /System/Library/Frameworks/ DiskArbitration.framework/Versions/A/DiskArbitration 0x91376000 - 0x9139dfff com.apple.SystemConfiguration 1.8.2 /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration 0x913b0000 - 0x913bbfff libgcc_s.1.dylib /usr/lib/libgcc_s.1.dylib 0x913c0000 - 0x913e1fff libmx.A.dylib /usr/lib/libmx.A.dylib 0x913e7000 - 0x913effff libbsm.dylib /usr/lib/libbsm.dylib 0x913f3000 - 0x91473fff com.apple.audio.CoreAudio 3.0.2 /System/Library/Frameworks/ CoreAudio.framework/Versions/A/CoreAudio 0x914b2000 - 0x914b2fff com.apple.ApplicationServices 10.4 (???) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices 0x914b4000 - 0x914ecfff com.apple.AE 1.5 (297) /System/Library/Frameworks/ ApplicationServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE 0x91507000 - 0x915d4fff com.apple.ColorSync 4.4.3 /System/Library/Frameworks/ ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync 0x91629000 - 0x916bcfff com.apple.print.framework.PrintCore 4.3 (172.3) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ PrintCore.framework/Versions/A/PrintCore 0x91703000 - 0x917c0fff com.apple.QD 3.8.18 (???) /System/Library/Frameworks/ ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD 0x917fe000 - 0x9185cfff com.apple.HIServices 1.5.1 (???) /System/Library/Frameworks/ ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices 0x9188a000 - 0x918aefff com.apple.LangAnalysis 1.6.1 /System/Library/Frameworks/ ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/ LangAnalysis 0x918c2000 - 0x918e7fff com.apple.FindByContent 1.5 /System/Library/Frameworks/ ApplicationServices.framework/Versions/A/Frameworks/FindByContent.framework/Versions/A/ FindByContent 0x918fa000 - 0x9193cfff com.apple.LaunchServices 10.4.6 (168.1) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ LaunchServices.framework/Versions/A/LaunchServices 0x91958000 - 0x9196cfff com.apple.speech.synthesis.framework 3.3 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ SpeechSynthesis.framework/Versions/A/SpeechSynthesis 0x9197a000 - 0x919b3fff com.apple.ImageIO.framework 1.4.4 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ ImageIO.framework/Versions/A/ImageIO 0x919c8000 - 0x91a90fff libcrypto.0.9.7.dylib /usr/lib/libcrypto.0.9.7.dylib 0x91ade000 - 0x91af3fff libcups.2.dylib /usr/lib/libcups.2.dylib 0x91af8000 - 0x91b15fff libJPEG.dylib /System/Library/Frameworks/ApplicationServices.framework/ Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib 0x91b1a000 - 0x91b89fff libJP2.dylib /System/Library/Frameworks/ApplicationServices.framework/ Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib 0x91ba0000 - 0x91ba4fff libGIF.dylib /System/Library/Frameworks/ApplicationServices.framework/ Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib 0x91ba6000 - 0x91bd7fff libRaw.dylib /System/Library/Frameworks/ApplicationServices.framework/ Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRaw.dylib 0x91bdb000 - 0x91c1efff libTIFF.dylib /System/Library/Frameworks/ApplicationServices.framework/ Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib 0x91c25000 - 0x91c3efff libPng.dylib /System/Library/Frameworks/ApplicationServices.framework/ Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib 0x91c43000 - 0x91c46fff libRadiance.dylib /System/Library/Frameworks/ ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/ libRadiance.dylib 0x91c48000 - 0x91c48fff com.apple.Accelerate 1.1.1 (Accelerate 1.1.1) /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate 0x91c4a000 - 0x91d20fff com.apple.vImage 2.0 /System/Library/Frameworks/ Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage 0x91d28000 - 0x91d47fff com.apple.Accelerate.vecLib 3.1.1 (vecLib 3.1.1) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/ Versions/A/vecLib 0x91db3000 - 0x91e18fff libvMisc.dylib /System/Library/Frameworks/Accelerate.framework/ Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib 0x91e22000 - 0x91eb4fff libvDSP.dylib /System/Library/Frameworks/Accelerate.framework/ Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib 0x91ece000 - 0x9245efff libBLAS.dylib /System/Library/Frameworks/Accelerate.framework/ Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 0x924a6000 - 0x927b6fff libLAPACK.dylib /System/Library/Frameworks/Accelerate.framework/ Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib 0x927e3000 - 0x9286ffff com.apple.DesktopServices 1.3.1 /System/Library/PrivateFrameworks/ DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv 0x928b1000 - 0x92adbfff com.apple.Foundation 6.4.2 (567.21) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation 0x92bf9000 - 0x92cd7fff libxml2.2.dylib /usr/lib/libxml2.2.dylib 0x92cf7000 - 0x92de5fff libiconv.2.dylib /usr/lib/libiconv.2.dylib 0x92df7000 - 0x92e15fff libGL.dylib /System/Library/Frameworks/OpenGL.framework/Versions/ A/Libraries/libGL.dylib 0x92e20000 - 0x92e7afff libGLU.dylib /System/Library/Frameworks/OpenGL.framework/Versions/ A/Libraries/libGLU.dylib 0x92e98000 - 0x92e98fff com.apple.Carbon 10.4 (???) /System/Library/Frameworks/ Carbon.framework/Versions/A/Carbon 0x92e9a000 - 0x92eaefff com.apple.ImageCapture 3.0 /System/Library/Frameworks/ Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture 0x92ec6000 - 0x92ed6fff com.apple.speech.recognition.framework 3.4 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ SpeechRecognition.framework/Versions/A/SpeechRecognition 0x92ee2000 - 0x92ef7fff com.apple.securityhi 2.0 (203) /System/Library/Frameworks/ Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI 0x92f09000 - 0x92f90fff com.apple.ink.framework 101.2 (69) /System/Library/Frameworks/ Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink 0x92fa4000 - 0x92faffff com.apple.help 1.0.3 (32) /System/Library/Frameworks/Carbon.framework/ Versions/A/Frameworks/Help.framework/Versions/A/Help 0x92fb9000 - 0x92fe6fff com.apple.openscripting 1.2.4 (???) /System/Library/Frameworks/ Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting 0x93000000 - 0x93010fff com.apple.print.framework.Print 5.0 (190.1) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/ Versions/A/Print 0x9301c000 - 0x93082fff com.apple.htmlrendering 1.1.2 /System/Library/Frameworks/ Carbon.framework/Versions/A/Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering 0x930b3000 - 0x93105fff com.apple.NavigationServices 3.4.2 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ NavigationServices.framework/Versions/A/NavigationServices 0x93131000 - 0x9314efff com.apple.audio.SoundManager 3.9 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ CarbonSound.framework/Versions/A/CarbonSound 0x93160000 - 0x9316dfff com.apple.CommonPanels 1.2.2 (73) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ CommonPanels.framework/Versions/A/CommonPanels 0x93176000 - 0x93488fff com.apple.HIToolbox 1.4.5 (???) /System/Library/Frameworks/ Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox 0x935d4000 - 0x935e0fff com.apple.opengl 1.4.7 /System/Library/Frameworks/OpenGL.framework/ Versions/A/OpenGL 0x935e5000 - 0x93606fff com.apple.DirectoryService.Framework 3.0 /System/Library/Frameworks/DirectoryService.framework/Versions/A/DirectoryService 0x93672000 - 0x93672fff com.apple.Cocoa 6.4 (???) /System/Library/Frameworks/ Cocoa.framework/Versions/A/Cocoa 0x93674000 - 0x93ca7fff com.apple.AppKit 6.4.4 (824.28) /System/Library/Frameworks/ AppKit.framework/Versions/C/AppKit 0x94034000 - 0x940a4fff com.apple.CoreData 80 /System/Library/Frameworks/ CoreData.framework/Versions/A/CoreData 0x940dd000 - 0x941a7fff com.apple.audio.toolbox.AudioToolbox 1.4.1 /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox 0x941fb000 - 0x941fbfff com.apple.audio.units.AudioUnit 1.4 /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit 0x941fd000 - 0x94375fff com.apple.QuartzCore 1.4.5 /System/Library/Frameworks/ QuartzCore.framework/Versions/A/QuartzCore 0x943bf000 - 0x943fcfff libsqlite3.0.dylib /usr/lib/libsqlite3.0.dylib 0x94404000 - 0x94454fff libGLImage.dylib /System/Library/Frameworks/OpenGL.framework/ Versions/A/Libraries/libGLImage.dylib 0x944e4000 - 0x9451cfff com.apple.vmutils 4.0.0 (85) /System/Library/PrivateFrameworks/ vmutils.framework/Versions/A/vmutils 0x9455f000 - 0x9457bfff com.apple.securityfoundation 2.1 (24988) /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation 0x9458f000 - 0x945d3fff com.apple.securityinterface 2.1 (24981) /System/Library/Frameworks/SecurityInterface.framework/Versions/A/SecurityInterface 0x945f7000 - 0x94606fff libCGATS.A.dylib /System/Library/Frameworks/ ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/ Resources/libCGATS.A.dylib 0x9460e000 - 0x9461afff libCSync.A.dylib /System/Library/Frameworks/ ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/ Resources/libCSync.A.dylib 0x94620000 - 0x9463ffff libPDFRIP.A.dylib /System/Library/Frameworks/ ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/ Resources/libPDFRIP.A.dylib 0x94660000 - 0x94678fff libRIP.A.dylib /System/Library/Frameworks/ApplicationServices.framework/ Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib 0x94ac0000 - 0x94beefff com.apple.AddressBook.framework 4.0.3 (483) /System/Library/Frameworks/AddressBook.framework/Versions/A/AddressBook 0x94c80000 - 0x94c8ffff com.apple.DSObjCWrappers.Framework 1.1 /System/Library/PrivateFrameworks/DSObjCWrappers.framework/Versions/A/DSObjCWrappers 0x94c97000 - 0x94cc4fff com.apple.LDAPFramework 1.4.1 (69.0.1) /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP 0x94ccb000 - 0x94cdbfff libsasl2.2.dylib /usr/lib/libsasl2.2.dylib 0x94cdf000 - 0x94d0efff libssl.0.9.7.dylib /usr/lib/libssl.0.9.7.dylib 0x94d1e000 - 0x94d3bfff libresolv.9.dylib /usr/lib/libresolv.9.dylib 0x95496000 - 0x95522fff libstdc++.6.dylib /usr/lib/libstdc++.6.dylib 0x9603f000 - 0x96068fff libxslt.1.dylib /usr/lib/libxslt.1.dylib 0x97ac5000 - 0x97b86fff libGLProgrammability.dylib /System/Library/Frameworks/ OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib 0x97bb1000 - 0x97bb2fff libGLSystem.dylib /System/Library/Frameworks/OpenGL.framework/ Versions/A/Libraries/libGLSystem.dylib 0x9b3af000 - 0x9b3e5fff com.apple.Syndication 1.0.3 (47) /System/Library/PrivateFrameworks/ Syndication.framework/Versions/A/Syndication 0x9b402000 - 0x9b414fff com.apple.SyndicationUI 1.0.3 (47) /System/Library/PrivateFrameworks/ SyndicationUI.framework/Versions/A/SyndicationUI Model: PowerMac7,2, BootROM 5.1.4f0, 2 processors, PowerPC 970 (2.2), 1.8 GHz, 1 GB Graphics: GeForce FX 5200, GeForce FX 5200, AGP, 64 MB Memory Module: DIMM0/J11, 256 MB, DDR SDRAM, PC3200U-30330 Memory Module: DIMM1/J12, 256 MB, DDR SDRAM, PC3200U-30330 Memory Module: DIMM2/J13, 128 MB, DDR SDRAM, PC2700U-25330 Memory Module: DIMM3/J14, 128 MB, DDR SDRAM, PC2700U-25330 Memory Module: DIMM4/J41, 128 MB, DDR SDRAM, PC3200U-30330 Memory Module: DIMM5/J42, 128 MB, DDR SDRAM, PC3200U-30330 Modem: MicroDash, UCJ, V.92, 1.0F, APPLE VERSION 2.6.6 Network Service: Built-in Ethernet, Ethernet, en0 Serial ATA Device: WDC WD2500JS-41MVB1, 232.89 GB Parallel ATA Device: PIONEER DVD-RW DVR-106D, USB Device: Hub, , Up to 12 Mb/sec, 500 mA USB Device: Studio Display, , Up to 1.5 Mb/sec, 500 mA USB Device: Hub in Apple Pro Keyboard, Mitsumi Electric, Up to 12 Mb/sec, 500 mA USB Device: Apple Optical USB Mouse, Mitsumi Electric, Up to 1.5 Mb/sec, 100 mA USB Device: Apple Pro Keyboard, Mitsumi Electric, Up to 12 Mb/sec, 250 mA
Created attachment 5012 [details] minimal testcase for severe breakage
Oliver and I have talked extensively on IRC. We know this about the problem: 1. It's caused by the merge filter 2. Resizing the window seems to throw the input image bounds *way* off, which trips the problem. the input image bounds are determined by the bounding box of the path (relativeBBox(true)). There is a bbox.isValid() check in prepareFilter(), but it's possible that a "valid" yet totally insane bbox is being passed in.
Created attachment 6490 [details] Updated to work on current ToT No longer destroys safari
Comment on attachment 6490 [details] Updated to work on current ToT Looks good. A few minor style (mostly spacing) issues, but nothing to hold up landing.
Comment on attachment 6490 [details] Updated to work on current ToT Bah. After talking with Oliver, there is one more bug we need to fix in VERIFY_FUNCTION.
Created attachment 6496 [details] fixed up patch fixed patch to remove dumb approach to error handling.. now fails silently turning any invalid functions into the identity function
Comment on attachment 6496 [details] fixed up patch So we talked about this on irc. A couple things I'd really like to see in this patch before we finally put it to rest (now that I've read it more carefully). 1. There were one or two style issues foo=bar; instead of the recomended foo = bar; 2. KCComponentTransferFunction really should have a default initializer, instead of making KCanvasFEComponentTransfer() do the dirty work. 3. [filter setValue:[getFilterForFunc(alphaFunction(), inputImage, [CIVector vectorWithX:0.0 Y:0.0 Z:0.0 W:1.0]) valueForKey:@"outputImage"] would be much simpler if it was made into a function getImageForFunc(alpha, inputImage) It doesn't even need to pass "inputImage" if it's a function on the class... 4. We're really trying to kill all of the List classes (we basically have 0 need for a less effiicient list structure) and instead use Vector<T> for everything. In this case, you may still use Q3ValueList for tableValues, given other existing code.. but if you can change to Vector<float> that's recommended. 5. A nit: filterForComponentFunc might be cleaner if you switched on the name first, then called CIFilter filterWithName: on the resulting name... just a thought, it's fine either way. 6. An empty: kcanvas/device/quartz/filters/WKDisplacementMapFilter.cikernel found its way into this patch. 7. Given the awful inadequacy of the W3C SVG test suite, it would be best if we could land at least a couple more test cases with this patch. Given all those comments, I think it's best if we push this one through one more round. I hope you don't mind too much. It's a wonderful work as always!
Created attachment 6530 [details] Yet another version
Comment on attachment 6530 [details] Yet another version We discussed a few more tweaks over irc.
Created attachment 6534 [details] patch with more fixes
Created attachment 6536 [details] Table transfer function testcase
Created attachment 6537 [details] testcase for discrete transfer function
Created attachment 6538 [details] Testcase for linear transfer function
Created attachment 6539 [details] testcase for gamma transfer function
Patch looks good. Please add the test cases and a ChangeLog to the patch, and make the font size smaller on the test cases so the text doesn't spill out of the bounding box. Then I'll r+ it.
Also, please consider the style nitpicks lypanov and I mentioned on IRC.
one thing... i seem to have had my code style slightly wrong wrt objective c, as mjs pointed out shortly after you left that: "for ObjC code we usally don't follow the *-next-to-type rule"
Created attachment 6736 [details] Table transfer testcase
Created attachment 6737 [details] Discrete transfer testcase
Created attachment 6738 [details] linear transfer testcase
Created attachment 6739 [details] gamma transfer testcase
Created attachment 6740 [details] fixed formatting errors
Comment on attachment 6740 [details] fixed formatting errors + return [super init]; feels wrong to me. I think there are several advantages to calling [super init] first and handling a nil value. One is making sure that your parent classes's data structures are initialized, another is to avoid work if your parent class fails. I guess I would suggest: self = [super init]; if (!self) return; // other goop return self; Maybe it's not worth it in this case... since it is a lot of extra code for little gain. Why? -1? [NSNumber numberWithFloat:[inputTable extent].size.width-1.0] Please use an enum instead of #define +#define CHANNEL_RED 0 Otherwise looks great. We can talk about this on IRC if you like. With those changes, you're welcome to land. I think given that this is the first patch you're going to land yourself, it's probably best to see the whole final patch with ChangeLog. We can also just work all that out via IRC when we're both next around.
Created attachment 6841 [details] patch with hopefully final changes
Created attachment 7955 [details] This should sooo be the final patch Righto this should hopefully be the final patch, it contains the requisite testcases, etc now. Also no longer crashes DRT so that's also probably a good thing
Comment on attachment 7955 [details] This should sooo be the final patch In general this looks great. A couple comments: 1. There is no real need for the identity filter to do anything. No need to copy the bytes, just return the original image from a noop apply call. 2. The interpolation bug you mention should have a radar filed about it (even if you're not sure it's a bug) and then that radar number should be added to the comment. All and all, this is landable as is. It would be nice to fix those two issues, although those aren't show-stoppers.
Landed.