View | Details | Raw Unified | Return to issue 119516
Collapse All | Expand All

(-)sw/source/filter/ww8/ww8par.cxx (-23 / +45 lines)
Lines 2760-2789 Link Here
2760
            graphic preview of an associated ole2 object (or a simple
2760
            graphic preview of an associated ole2 object (or a simple
2761
            graphic of course)
2761
            graphic of course)
2762
            */
2762
            */
2763
            if (!IsInlineEscherHack())
2763
			//normally in the canvas field, the code is 0x8 0x1.
2764
            {
2764
			//in a special case, the code is 0x1 0x1, which yields a simple picture
2765
                SwFrmFmt *pResult = 0;
2765
			{
2766
                if (bObj)
2766
				bool bReadObj = IsInlineEscherHack();
2767
                    pResult = ImportOle();
2767
				if( bReadObj )
2768
                else if (bSpec)
2768
				{
2769
                    pResult = ImportGraf();
2769
					long nCurPos = pStrm->Tell();
2770
					sal_uInt8   nByteCode;
2771
					sal_uInt16 nWordCode;
2770
2772
2771
                //#102160# If we have a bad 0x1 insert a space instead.
2773
					if( bIsUnicode )
2772
                if (!pResult)
2774
						*pStrm >> nWordCode;
2773
                {
2775
					else
2774
                    cInsert = ' ';
2776
					{
2775
                    ASSERT(!bObj && !bEmbeddObj && !nObjLocFc,
2777
						*pStrm >> nByteCode;
2776
                        "WW8: Please report this document, it may have a "
2778
						nWordCode = nByteCode;
2777
                        "missing graphic");
2779
					}
2778
                }
2780
					if( nWordCode == 0x1 )
2779
                else
2781
						bReadObj = false;
2780
                {
2782
					pStrm->Seek( nCurPos );	
2781
                    // reset the flags.
2783
				}
2782
                    bObj = bEmbeddObj = false;
2784
				if( !bReadObj )
2783
                    nObjLocFc = 0;
2785
				{
2784
                }
2786
					SwFrmFmt *pResult = 0;
2785
            }
2787
					if (bObj)
2786
            break;
2788
						pResult = ImportOle();
2789
					else if (bSpec)
2790
						pResult = ImportGraf();
2791
2792
					//#102160# If we have a bad 0x1 insert a space instead.
2793
					if (!pResult)
2794
					{
2795
						cInsert = ' ';
2796
						ASSERT(!bObj && !bEmbeddObj && !nObjLocFc,
2797
							"WW8: Please report this document, it may have a "
2798
							"missing graphic");
2799
					}
2800
					else
2801
					{
2802
						// reset the flags.
2803
						bObj = bEmbeddObj = false;
2804
						nObjLocFc = 0;
2805
					}
2806
				}
2807
			}
2808
			break;
2787
        case 0x8:
2809
        case 0x8:
2788
            if( !bObj )
2810
            if( !bObj )
2789
                Read_GrafLayer( nPosCp );
2811
                Read_GrafLayer( nPosCp );

Return to issue 119516