[Openmcl-devel] Issues with gui::new-cocoa-window after upgrade to 1.11
R. Matthew Emerson
rme at clozure.com
Mon Mar 7 05:54:20 PST 2016
> On Mar 4, 2016, at 1:39 AM, Edward Moore Geist <egeist at stanford.edu> wrote:
> I had made a number of OpenGL demos using the CCL Cocoa IDE, and after upgrading to version 1.11-store-r16714 today I discovered that these no longer work correctly as they did in version 1.10. Windows made using the function gui::new-cocoa-window appear but the title and buttons do not display. Clicking where the buttons would be has the correct effect and the title appears as it should in menus/the Dock/etc. The demos using this function that come with CCL, such as rubix.lisp, have similar behavior. Does anyone have any insight into what might be causing this problem? Presumably there should be a workaround, since the Cocoa IDE itself works as intended.
Cocoa generally requires that all user interface related stuff happen on the main (initial) thread.
Evaluating (gui::execute-in-gui #'(lambda () (gui::new-cocoa-window ...))) should make a window that acts as expected. The execute-in-gui function arranges for the passed-in function to be called on the main thread.
On older OS X versions, I think it worked to make windows from a non-main thread, but it doesn't any more.
More information about the Openmcl-devel