After failing with the latest subversion sources, I was finally successful in compiling a MacOS browser plugin based on the VMM38b4 sources. However, I can't get OpenGL to work. I've traced the problem to sqMacOpenGL.c. The call to GetWindowGreatestAreaDevice() fails with an error code of -5600 ("Invalid Window Pointer"). I assume that this is because getSTWindow() doesn't work when Squeak is running in a browser plugin.
I hacked it by avoiding all the GDH stuff if we are in a browser, like so:
Obviously, this is crap, but I don't know the right thing to do.
Anyway, this allows me to successfully create an OpenGL context ("OpenGL newIn: aRect"). Adding an external FFI plugin to the browser plugin directory lets me make OpenGL calls. But something is still wrong: it seems like the OpenGL buffers are never swapped (although DPRINTF assures me that they are: "### Swapping renderer buffers").
I've had enough of this for tonight; I need some sleep. But in the meantime, I'll take any advice I can get (eg: "stop working on that, the latest sources will do everything you need RSN").
Well this has been all re-written in the 3.8.11 source.
Let me recompile things with openGL in the plugin with the current
source and see what happens.
The reason why opengl was not in the plugin is because Internet
Explorer would change the window port coordinates on each draw of a port
thus making it impossible to swap the openGL buffer into the right
place on the window. However perhaps with Safari this problem is
On 18-Mar-06, at 10:34 PM, Josh Gargus wrote:
> After failing with the latest subversion sources,
> I've had enough of this for tonight; I need some sleep. But in the
> meantime, I'll take any advice I can get (eg: "stop working on
> that, the latest sources will do everything you need RSN").
John M. McIntosh <[hidden email]> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ========================================================================