From: Torsten B. <be...@ty...> - 2015-02-13 08:02:05
|
Dear Kevin, this is really great and a big „thank you“ for these improvements! I didn’t work with the intermediate versions showing the flickering and ghost images, but with the current trunk all looks to me like it did before, so I cannot easily spot the subtle visual differences that would be there. The only thing I do observe is a mysterious crash when resizing the main window of the application that I am currently developing. I cannot reproduce this with a blank wish window (without any widgets inside) or with just one widget, though. When I resize the window slowly, even holding down the mouse button on a spot for a while, then moving on, everything is OK. After waiting for some fraction of a second, the window will even resize (while still holding the mouse button pressed) and resize more or less smoothly while dragging the mouse further across the screen. From your description, however, I would have expected it not to resize at all until the mouse button is released. But when I do the resize very quickly, moving the mouse fast across the screen, the application will crash, leaving this behind: (using a 32bit wish 8.6.3 embedded build on OS X 10.9.5) Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000010000020 VM Regions Near 0x10000020: MALLOC_LARGE 00000000075bb000-000000000765c000 [ 644K] rw-/rwx SM=PRV --> __TEXT 000000008feee000-000000008ff21000 [ 204K] r-x/rwx SM=COW /usr/lib/dyld Application Specific Information: objc_msgSend() selector name: release Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libobjc.A.dylib 0x9915c4a7 objc_msgSend + 23 1 com.apple.AppKit 0x97a7336a -[NSBitmapGraphicsContext dealloc] + 38 2 libobjc.A.dylib 0x991725ef -[NSObject release] + 47 3 libobjc.A.dylib 0x9915e497 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 527 4 com.apple.CoreFoundation 0x9559991f _CFAutoreleasePoolPop + 47 5 com.apple.Foundation 0x98615c24 -[NSAutoreleasePool drain] + 122 6 com.apple.AppKit 0x9835438d -[NSWindow(NSWindowResizing) _resizeWithEvent:] + 668 7 com.apple.AppKit 0x98133112 -[NSTitledFrame resizeWithEvent:] + 43 8 com.apple.AppKit 0x97c70176 -[NSTitledFrame mouseDown:] + 217 9 com.apple.AppKit 0x97c6ff27 -[NSThemeFrame mouseDown:] + 212 10 com.apple.AppKit 0x97b80a9d -[NSWindow sendEvent:] + 11953 11 com.apple.AppKit 0x97b1c91d -[NSApplication sendEvent:] + 4034 12 Tk 0x000da148 0x8000 + 860488 13 Tk 0x000da555 0x8000 + 861525 14 Tcl 0x001fe99c Tcl_DoOneEvent + 308 15 Tk 0x0001ec0d Tk_MainLoop + 41 16 Tk 0x0002cba6 Tk_MainEx + 2038 17 wish-aqua8.6 0x000044c3 0x1000 + 13507 18 wish-aqua8.6 0x00004451 0x1000 + 13393 Thread 1:: Dispatch queue: com.apple.libdispatch-manager 0 libsystem_kernel.dylib 0x93578992 kevent64 + 10 1 libdispatch.dylib 0x97172899 _dispatch_mgr_invoke + 238 2 libdispatch.dylib 0x97172532 _dispatch_mgr_thread + 52 Thread 2: 0 libsystem_kernel.dylib 0x93578046 __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x93f33dcf _pthread_wqthread + 372 2 libsystem_pthread.dylib 0x93f37cce start_wqthread + 30 Thread 3: 0 libsystem_kernel.dylib 0x93578046 __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x93f33dcf _pthread_wqthread + 372 2 libsystem_pthread.dylib 0x93f37cce start_wqthread + 30 Thread 4: 0 libsystem_kernel.dylib 0x93578046 __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x93f33dcf _pthread_wqthread + 372 2 libsystem_pthread.dylib 0x93f37cce start_wqthread + 30 Thread 5: 0 libsystem_kernel.dylib 0x93577ace __select + 10 1 Tcl 0x0024d2e4 0x13d000 + 1114852 2 libsystem_pthread.dylib 0x93f325fb _pthread_body + 144 3 libsystem_pthread.dylib 0x93f32485 _pthread_start + 130 4 libsystem_pthread.dylib 0x93f37cf2 thread_start + 34 Thread 6: 0 libsystem_kernel.dylib 0x93572f7a mach_msg_trap + 10 1 libsystem_kernel.dylib 0x9357216c mach_msg + 68 2 com.apple.CoreFoundation 0x955d5bf9 __CFRunLoopServiceMachPort + 169 3 com.apple.CoreFoundation 0x955d51d1 __CFRunLoopRun + 1393 4 com.apple.CoreFoundation 0x955d49ea CFRunLoopRunSpecific + 394 5 com.apple.CoreFoundation 0x955d484b CFRunLoopRunInMode + 123 6 com.apple.AppKit 0x97b18b88 _NSEventThread + 283 7 libsystem_pthread.dylib 0x93f325fb _pthread_body + 144 8 libsystem_pthread.dylib 0x93f32485 _pthread_start + 130 9 libsystem_pthread.dylib 0x93f37cf2 thread_start + 34 Thread 0 crashed with X86 Thread State (32-bit): eax: 0x0213a1d0 ebx: 0x98615bb8 ecx: 0x99178167 edx: 0x10000000 edi: 0x0213aac0 esi: 0x97a73351 ebp: 0xbfffeee8 esp: 0xbfffeec8 ss: 0x00000023 efl: 0x00010202 eip: 0x9915c4a7 cs: 0x0000001b ds: 0x00000023 es: 0x00000023 fs: 0x00000000 gs: 0x0000000f cr2: 0x10000020 Logical CPU: 3 Error Code: 0x00000004 Trap Number: 14 It seems it could have something to do with timing. If the application has enough time to adjust, then OK, but if the change is „too radical“ or just too quick (too many events in a short time?), then the crash occurs. This is reproducible in 9 out of 10 times. Another thing I noticed. The main window is having the rounded corners at the top side, but the bottom side has sharp corners, not looking like the typical Cocoa window (this is not new though, I observed this in older wish versions too). However, when doing the resizing of the main window, the corners turn into rounded ones and when the mouse button is released, the corners turn sharp again. Any idea what that may be caused by? It seems, Tk or the underlying Cocoa is drawing the window correctly, but then someone is drawing a sharp corner on top afterwards. Where could I look to find out how to remove this behavior? Torsten > Hi all, > > Just a quick note to let you know I have committed the last of my > HITheme work in Tk-Cocoa to trunk and core-8-5-branch; initial reports > suggest that these changes address many of the serious bugs that folks > have reported in recent months, especially since I removed the private > Cocoa API's last summer. > > With these commits, this phase of major, active development on Tk/Cocoa > is done. There have been enough changes over the past year that I don't > feel unjustified in referring to this iteration as "Tk-Cocoa 2.0." I've > posted a blog entry here that goes into more detail on the history, the > technical issues, and what these changes mean: > > http://www.codebykevin.com/blosxom.cgi/2015/01/30#tk-cocoa-2.0 > > I think Tk-Cocoa is now improved. Thanks to all who have provided > feedback, bug reports, patches, and encouragement. > > --Kevin > > -- > Kevin Walzer > Code by Kevin/Mobile Code by Kevin > http://www.codebykevin.com > http://www.wtmobilesoftware.com > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming. The Go Parallel Website, > sponsored by Intel and developed in partnership with Slashdot Media, is your > hub for all things parallel software development, from weekly thought > leadership blogs to news, videos, case studies, tutorials and more. Take a > look and join the conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Tcl-mac mailing list > tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac |