--- svx/source/svdraw/svdfppt.cxx.original	2007-03-14 13:41:57.644125000 +0000
+++ svx/source/svdraw/svdfppt.cxx	2007-03-15 21:23:03.545523400 +0000
@@ -6996,7 +6996,55 @@
 													pEntry->pField1 = new SvxFieldItem( SvxPageField() );
 												break;
 												case PPT_PST_RTFDateTimeMCAtom:
-													pEntry->pField1 = new SvxFieldItem( SvxDateField( Date(), SVXDATETYPE_FIX ) );
+													// Rude workaround for one specal case reported
+													// by a customer.
+
+													// Don't even attempt to handle the general use
+													// case for PPT_PST_RTFDateTimeMCAtom (a generic
+													// MS style date/time format string). Just handle
+													// the special case where the format string
+													// contains only one or several possibly empty
+													// quoted strings. I.e. something that doesn't
+													// expand to any date or time at all, but to a
+													// fixed string. How on earth somebody manages to
+													// produce such things in PPT slides I have no
+													// idea.
+													if (nVal == 0)
+													{
+														sal_Unicode aFormat[64];
+														xub_StrLen nLen;
+														String aStr;
+														bool inquote = FALSE;
+														rIn.Read( aFormat, sizeof( aFormat ) );
+														for (nLen = 0; nLen < sizeof(aFormat)/sizeof(aFormat[0]); nLen++)
+														{
+															// Collect quoted characters into aStr
+															if (aFormat[nLen] == '\'')
+																inquote = !inquote;
+															else if (!aFormat[nLen])
+															{
+																// End of format string
+																pEntry->pString = new String( aStr );
+																break;
+															}
+															else if (!inquote)
+															{
+																// Non-quoted character, i.e. a real
+																// format specifier. We don't handle
+																// those. Sorry.
+																break;
+															}
+															else
+															{
+																aStr += aFormat[nLen];
+															}
+														}
+													}
+													if ( pEntry->pString == NULL )
+													{
+														// Handle as previously
+														pEntry->pField1 = new SvxFieldItem( SvxDateField( Date(), SVXDATETYPE_FIX ) );
+													}
 												break;
 											}
 										}
