OneNote 2003 SP2 details

Last week we released Service Pack 2 (SP2) for Office System 2003. This includes OneNote 2003. Although most OneNote users today started with "SP1", a few of you who got the original version of OneNote may remember that SP1 added a lot of functionality to the original release of OneNote and may have been expecting a similar bump in this Service Pack. If so, I apologize for the team for having set your expectations that way. FWIW, I and others have tried to be clear in online forums (our Community, TabletPC Buzz , etc) that SP1 was an anomaly. It was essentially our "second release" shipped as a Service Pack. I also tried to be clear that subsequent Service Packs would follow the usual pattern of critical bug fixes only.

Unfortunately, the knowledge base web site and here where the SP2 details are provided mentions "new features" in OneNote SP2. In fact this is an error - as far as I can tell that text was used for Office SP2 and simply copied for OneNote SP2 by the documentation people (in the second link they used OneNote 2003 Sp1 text). There are no new features in OneNote SP2 if you already have SP1. We made the decision during the SP1 work that SP1 would have the "easy stuff" and then we would work for a while longer on the "hard stuff" for OneNote 12. As you can tell from recent blog posts, taking the time to do the heavy lifting was worth it. Now, if you are one of the few people who somehow does not have SP1, then for you SP2 *does* have new features, since it contains all the bits for SP1 as well. So that is a kind of excuse for the talk of "features" on the detail pages I linked to, but only if you’re a weenie. :-)

I thought I would list the fixes that went into OneNote 2003 SP2 specifically. There are probably a few other fixes that went into shared Office code which affect us, but these are the ones our team did.

Bugs fixed in OneNote 2003 Sp2 (with descriptions from our very fine test and dev team members!):

  1. Crash Caused By: ONMAIN.DLL!Jot::WISPWrap::GetStrokeCount. Create a highlighter stroke over a white space placeholder so that the stroke is totally contained within the area of the space blob. And we crash. This one was a top crash report via Watson for us. It was pretty easy to have happen if you make a small mark with a highlighter in front of some indented text or between two words that are far apart.
  2. Crash Caused By: ONMAIN.DLL!Jot::InkEditor::UpdateSizeOnPlaceholderBlob. Watson bucket. We know user was creating some ink text that lead OneNote to create a new paragraph. Somewhere in the process we failed to insert placeholder blob and subsequent operation of adjusting the size of the blob caused a crash.
  3. Crash Caused By: ONMAIN.DLL!MoveIntoOutlineCore. If paste mode is set to "keep text only" and a picture is selected from within OneNote and pasted in OneNote, we crash. Setting the paste mode to text only removes the picture and causes a null item to be pasted.
  4. Wrong pane opens when stationery is downloaded. User downloads stationery from OfficeOnline. The user should be able to see where the downloaded template is in OneNote, so that they can apply it. They should see the OneNote pane that lists all the available stationery. In OneNote 2003 RTM the Office Online ActiveX download control used a command line flag to cause OneNote to open the “New” task pane, which contained the list of all available stationery. In SP1, the stationery was moved to another pane, so now users can’t find the stationery they just downloaded. We have heard many complaints and got some bad stationery ratings because of this. With this fix and corresponding fix to the ActiveX control, OneNote 2003 SP2 will open the Stationery pane and the users will be able to find downloaded stationery. OneNote 2003 SP1 or RTM will still work as they do today, because they will ignore the unknown flag.
    There is already a command line param to force the new file taskpane to be opened on boot. The fix is to add code just like that except it will open the stationery taskpane instead. The command line arg is "/stationerytaskpane" and is completely independent from other command line args, including the one that opens the "new" taskpane. If both are specified both will execute and the last one will be the pane left standing.
  5. .mht file with 0 byte size is created when publish across network using non-System Locale. Data loss: saving an MHTML file with a file name not in the system default code page (e.g. a Japanese file name on an English system) results in a zero-byte file. No problem when using standard languages for your system. Due to the way the MSO HTML exporter manages its files, the destination file needs to be opened with FILE_SHARE_DELETE permissions, because in certain cases the exporter will replace the destination file instead of writing directly to it.
  6. DW: Crash Caused By: ONMAIN.DLL!Jot::CUndoStack::PushRedo. There are, apparently, cases were we can push a null undo record on the stack - we know this thanks to Watson. This will later result in a crash when we try to deref the record. Fixed.
  7. DW: Crash Caused By: ONMAIN.DLL!Jot::CStationeryActor::OnExecuteAction. The exact cause is unknown, however, it's our 6th highest Watson bucket. We believe that the problem occurs when you create a new page and then either shutdown or switch to a page without a title or similar. Fixed.

Although it is just 7 fixes, these reduce your chance of crashing significantly since we fixed the top hits we received via the crash reporting dialogs you send to us. So, go get SP2! You can check if you have it by looking in Help/About, where you should see SP2 in the version number info. If you don’t see it, try Help/Check for updates. If I were you, I would sign up for automatic updates on Microsoft Update though. When I got home the day SP2 was released, my home machines were already updated...