PDFs in Mac OS X 10.10 (Yosemite) cause editor to become stuck

Potential Fix

Before going through the rest of this article, make sure your copy of Mac OS X is up to date. We have noticed a drop-off in reports of this issue, and are currently unable to reproduce the problem on our machines running 10.10.3 or greater.

Requirements

You must be using the latest Mac OS X 10.10 (Yosemite) release, and Scrivener 2.6 (this bug will appear in 2.5 as well, but there are other even better reasons not to use it on 10.10).

Description

Once a PDF (we believe it must be PDF with tables, such as the example PDF in the interactive tutorial) has been viewed, you will be unable to load any other items from your Binder, as if the view is locked. If one enables internal error alerts, in the General preference pane, they will see that the program is tripping up whenever attempting to navigate away from the PDF.

Status

At this time we are fairly positive this is a Mac OS X bug, as VoiceOver itself, a Mac feature, can trigger it in a simple test program with nothing but a PDF viewer. The potential does remain that we can find a way around the problem with Scrivener itself, but we cannot make any predictions on when this will be fixed at this time since the crash is happening well beneath Scrivener's level of operation.

Fortunately, for most people, the work-around, below, will be relatively painless.

VoiceOver

Important note for VoiceOver users: at this time there is no known work-around since the only thing that will fully restore PDF browsing in Scrivener is to disable VoiceOver, which is obviously not an option for most that are using it. We are working with Apple on this directly, looking for a solution. For now, the best work-around is avoidance of PDF files, and resetting the project's view settings (see below) whenever you get stuck.

Fix

We have multiple reports suggesting that some of the problems have been fixed by the Mac OS X 10.10.1 update. If you are experiencing this problem, the first thing you should try is applying that update and rebooting the computer. If after doing so you are still having problems, proceed with this article's work-around recommendations, below.

Work-Around

At this time, the best way to get around this problem is to disable the external software that is triggering the bug via its Accessibility access, or if that software has the option, to add Scrivener to its list of applications it does not impact. For example, Optimal Layout has settings for ignoring some programs, others may not and will need to be disabled entirely.

Applications that do not require Accessibility access are likely not capable of triggering the bug, so we need only audit those programs requesting Accessibility access from the system.

To disable an application from using Accessibility:

  1. Open the "Security & Privacy" system preference panel.
  2. In the "Privacy" tab, click on the "Accessibility" section in the right sidebar.
  3. If necessary, click the padlock icon in the lower-left and type in your password.
  4. If you use any of the programs in the following list, they should have their checkmark removed.

Restart Scrivener at this point and test to see if you can navigate away from the PDF. If not, then go back to this preference panel and disable the rest of the checkmarks. We suggest enabling them in a one-by-one fashion, testing Scrivener in between each new program you give Accessibility rights to. This way, when Scrivener stops working again, you can be reasonably sure that the last program you checked off is the culprit.

Known Programs or Services That Trigger the Bug

  • Parallels Access (the mobile screensharing component, not the VM itself).
  • Karabiner (it may be possible to get by with disabling only "Karabiner_AXNotifier.app").
  • Optimal Layout (can be set to ignore Scrivener).
  • Logitech Gaming Software.
  • Boom.
  • QuickCal.
  • uBar.
  • VoiceOver.
  • Typinator (version 5.9 or less; 6 or greater should be fine).
  • KeyCue.
  • Spell Catcher

Resetting the Project's View Settings

If you cannot do without the utility or OS X feature that is causing the problem, then you will have to avoid viewing PDFs as best as possible. To do this, simply lock the editor with View/Editor/Lock in Place (Opt-Cmd-L) prior to selecting a PDF. Once selected, use the Documents/Open/in External Editor (Ctrl-Cmd-O) command to load the PDF in your default reader.

In the event that you do get stuck you can follow these instructions:

  1. This need only be done the first time. You'll want to save your project's view settings so you can get everything back to the way it was.
    1. Use the Window/Layouts/Manage Layouts... command.
    2. Create a new layout with the + button. In the right-hand side, under the thumbnail, tick both boxes.
    3. This window can now be closed.
  2. Click on the "File" menu and hold down the Option key. You will see Close Project and Clear Interface Settings appear, select it.
  3. Now re-open the project however you prefer (File/Recent Projects/ is handy, if you've never done this before).
  4. Don't panic! The project window will return to a default state, with nothing selected. It's that last part that we needed---so that the PDF is no longer in the editor. Click on anything other than a PDF, such as the Draft folder.
  5. Now you can use layout you saved, from that same menu, to restore your project's view settings (splits, outline columns, etc.).

We apologise for the inconvenience. If you can get away with it, simply disabling the problem at its source is the optimum work-around.

Want to Help?

When you narrow down which program is causing the bug, if it is not in the program list above, please send that in to our support e-mail address so that we can add it to the known list.

It will also help if you report this problem to the developers of these programs. We don't know at this time what is causing the bug, and it could very well be that the fix is in these programs.

NOTE: At this time we are not looking for any further exception/crash reports or Console logs.