Bug 5860 - feComponentTransfer doesn't work
Summary: feComponentTransfer doesn't work
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 420+
Hardware: Mac OS X 10.4
: P2 Normal
Assignee: Oliver Hunt
URL:
Keywords:
Depends on:
Blocks: 5857
  Show dependency treegraph
 
Reported: 2005-11-28 17:18 PST by Oliver Hunt
Modified: 2006-04-25 14:09 PDT (History)
0 users

See Also:


Attachments
First run of componenet transfer patch (50.13 KB, patch)
2005-12-08 03:05 PST, Oliver Hunt
no flags Details | Formatted Diff | Diff
Second run of patch (50.38 KB, patch)
2005-12-08 04:18 PST, Oliver Hunt
eric: review-
Details | Formatted Diff | Diff
minimal testcase for severe breakage (649 bytes, text/plain)
2005-12-09 05:19 PST, Oliver Hunt
no flags Details
Updated to work on current ToT (64.65 KB, patch)
2006-02-14 13:34 PST, Oliver Hunt
eric: review-
Details | Formatted Diff | Diff
fixed up patch (62.21 KB, patch)
2006-02-14 19:03 PST, Oliver Hunt
eric: review-
Details | Formatted Diff | Diff
Yet another version (66.10 KB, patch)
2006-02-15 23:10 PST, Oliver Hunt
eric: review-
Details | Formatted Diff | Diff
patch with more fixes (66.08 KB, patch)
2006-02-16 01:01 PST, Oliver Hunt
mjs: review-
Details | Formatted Diff | Diff
Table transfer function testcase (2.56 KB, image/svg+xml)
2006-02-16 02:29 PST, Oliver Hunt
no flags Details
testcase for discrete transfer function (2.62 KB, image/svg+xml)
2006-02-16 02:30 PST, Oliver Hunt
no flags Details
Testcase for linear transfer function (2.67 KB, image/svg+xml)
2006-02-16 02:45 PST, Oliver Hunt
no flags Details
testcase for gamma transfer function (2.73 KB, image/svg+xml)
2006-02-16 03:02 PST, Oliver Hunt
no flags Details
Table transfer testcase (2.56 KB, image/svg+xml)
2006-02-25 14:10 PST, Oliver Hunt
no flags Details
Discrete transfer testcase (2.62 KB, image/svg+xml)
2006-02-25 14:11 PST, Oliver Hunt
no flags Details
linear transfer testcase (2.67 KB, image/svg+xml)
2006-02-25 14:12 PST, Oliver Hunt
no flags Details
gamma transfer testcase (2.79 KB, image/svg+xml)
2006-02-25 14:13 PST, Oliver Hunt
no flags Details
fixed formatting errors (65.98 KB, patch)
2006-02-25 14:25 PST, Oliver Hunt
eric: review-
Details | Formatted Diff | Diff
patch with hopefully final changes (65.98 KB, patch)
2006-03-04 03:46 PST, Oliver Hunt
no flags Details | Formatted Diff | Diff
This should sooo be the final patch (103.01 KB, patch)
2006-04-25 06:18 PDT, Oliver Hunt
eric: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Hunt 2005-11-28 17:18:13 PST
feComponentTransfer is incomplete
Comment 1 Eric Seidel (no email) 2005-12-06 04:56:47 PST
Olliver has a patch for this.
Comment 2 Oliver Hunt 2005-12-08 03:05:26 PST
Created attachment 4999 [details]
First run of componenet transfer patch
Comment 3 Oliver Hunt 2005-12-08 04:18:06 PST
Created attachment 5001 [details]
Second run of patch
Comment 4 Eric Seidel (no email) 2005-12-08 04:31:07 PST
Comment on attachment 5001 [details]
Second run of patch

What a beautiful patch!  r=me
Comment 5 Eric Seidel (no email) 2005-12-08 04:54:42 PST
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.
Comment 6 Eric Seidel (no email) 2005-12-08 05:02:22 PST
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
Comment 7 Oliver Hunt 2005-12-09 05:19:15 PST
Created attachment 5012 [details]
minimal testcase for severe breakage
Comment 8 Eric Seidel (no email) 2005-12-12 09:57:35 PST
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.

Comment 9 Oliver Hunt 2006-02-14 13:34:34 PST
Created attachment 6490 [details]
Updated to work on current ToT

No longer destroys safari
Comment 10 Eric Seidel (no email) 2006-02-14 14:03:58 PST
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 11 Eric Seidel (no email) 2006-02-14 16:39:11 PST
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.
Comment 12 Oliver Hunt 2006-02-14 19:03:41 PST
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 13 Eric Seidel (no email) 2006-02-15 01:42:15 PST
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!
Comment 14 Oliver Hunt 2006-02-15 23:10:54 PST
Created attachment 6530 [details]
Yet another version
Comment 15 Eric Seidel (no email) 2006-02-15 23:32:13 PST
Comment on attachment 6530 [details]
Yet another version

We discussed a few more tweaks over irc.
Comment 16 Oliver Hunt 2006-02-16 01:01:14 PST
Created attachment 6534 [details]
patch with more fixes
Comment 17 Oliver Hunt 2006-02-16 02:29:12 PST
Created attachment 6536 [details]
Table transfer function testcase
Comment 18 Oliver Hunt 2006-02-16 02:30:18 PST
Created attachment 6537 [details]
testcase for discrete transfer function
Comment 19 Oliver Hunt 2006-02-16 02:45:12 PST
Created attachment 6538 [details]
Testcase for linear transfer function
Comment 20 Oliver Hunt 2006-02-16 03:02:55 PST
Created attachment 6539 [details]
testcase for gamma transfer function
Comment 21 Maciej Stachowiak 2006-02-20 03:51:08 PST
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.
Comment 22 Maciej Stachowiak 2006-02-20 03:51:47 PST
Also, please consider the style nitpicks lypanov and I mentioned on IRC.
Comment 23 Alexander Kellett 2006-02-20 03:55:25 PST
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"
Comment 24 Oliver Hunt 2006-02-25 14:10:57 PST
Created attachment 6736 [details]
Table transfer testcase
Comment 25 Oliver Hunt 2006-02-25 14:11:58 PST
Created attachment 6737 [details]
Discrete transfer testcase
Comment 26 Oliver Hunt 2006-02-25 14:12:45 PST
Created attachment 6738 [details]
linear transfer testcase
Comment 27 Oliver Hunt 2006-02-25 14:13:21 PST
Created attachment 6739 [details]
gamma transfer testcase
Comment 28 Oliver Hunt 2006-02-25 14:25:23 PST
Created attachment 6740 [details]
fixed formatting errors
Comment 29 Eric Seidel (no email) 2006-02-28 12:10:10 PST
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.
Comment 30 Oliver Hunt 2006-03-04 03:46:17 PST
Created attachment 6841 [details]
patch with hopefully final changes
Comment 31 Oliver Hunt 2006-04-25 06:18:58 PDT
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 32 Eric Seidel (no email) 2006-04-25 08:08:58 PDT
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.
Comment 33 Eric Seidel (no email) 2006-04-25 14:09:08 PDT
Landed.