Yosemite OSX file open bug solution

Yosemite is fantastic. I am really enjoying using it and the visual refresh is something I had looked forward to for a while - but after a couple of hours using it I hit a pretty weird bug that would prevent applications from using the file open dialog more than once.

Read below for what is causing it for me, and a safe solution/workaround.

At first I thought it might be some obscure deprecated API the app was using that had finally been let go and they simply needed to release an update for the entirely new version of the OS, but I started noticing it across many apps and there was a pattern :

  1. The first attempt works as expected
  2. The second attempt just acts as if no request was made for the dialog

I did look in console.app and saw some crash logs that dumped each time but haven't had time to look into it. It also only affected applications that use a modal dialog, not the ones that use the dialog attached to the app main window.

The cause

The real cause is the view mode selection being set to columns mode in the file open dialog. This button. Change it. (Even though it's the only sensible one to my workflow... ).

Only the view mode setting in the file dialog, regular Finder windows do not affect this.

My collaborator Colin suggested I try turning off Dark mode theme, or graphite theme - as the crash log displayed a request from the theming code in NSThemeFrame. None of that helped, and the only other button that affects layout for the most part, was this and it worked.

It's reproducible, find an app (I used Sublime Text 3 latest stable beta) :

  1. Run the app
  2. ⌘+O to open a file, works
  3. Cancel
  4. ⌘+O again, nothing happens
  5. Restart the app, change view mode
  6. Dialog works consistently
  7. Put back to columns
  8. Dialog stops working

I have filed the bug as a report on Radar.

Hopefully this helps you until an update fixes it, as it's really been frustrating to spend all day having to drag files around. Some apps don't even support file drop.