From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@9fans.net Subject: 9vx native OS X gui From: "Russ Cox" Date: Sat, 28 Jun 2008 15:47:07 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Message-Id: <20080628194516.5D95C1E8C35@holo.morphisms.net> Topicbox-Message-UUID: ca60f27e-ead3-11e9-9d60-3106f5b1d025 The 9vx 0.11 source code includes OS X gui code, a severely cleaned-up version of the drawterm code. It is not built by default, but you can build it by using make 9vx/9vx PLAN9GUI=osx Unfortunately, it seems to have one problem: the Carbon app event loop appears to install its own handler for EXC_BAD_ACCESS, the Mach equivalent of SIGBUS/SIGSEGV. When it gets that exception, it passes it along, but first it pops up an annoying "The application 9vx quit unexpectedly" dialog. Even if you turn the popup off (with TinkerTool), the handler must record that things are broken, and the cursor turns into a pinwheel forever: Carbon/Quartz/whatever-it's-called-today can't fathom the idea that an EXC_BAD_ACCESS came in and the app actually survived it. I assume the fix would be to install an EXC_BAD_ACCESS handler after kicking off the app event loop. That would make sure that Carbon never saw it. But I don't know how to do that. Russ