Hi, Related to this bug. http://openoffice.org/bugzilla/show_bug.cgi?id=115297
2011/5/20 Knut Olav Bøhmer <boh...@gmail.com> > Hi, > > Exporting hyperlinks to .doc is done wrong in LibreOffice Writer. There is > a flag (hlstmfIsAbsolute) that is set to 1. It should be 0, because all > links are exported relative. > > > Before I make a patch, give me input on this. > > B - hlstmfIsAbsolute (1 bit): A bit that specifies whether this hyperlink > is an absolute path or > relative path. > Value Meaning > 0 This hyperlink is a relative path. > 1 This hyperlink is an absolute path. > > The patch I have used for some time, that works for me and some hundred > users is: > > diff --git a/sw/source/filter/ww8/wrtw8nds.cxx > b/sw/source/filter/ww8/wrtw8nds.cxx > index 4db4999..d5f7327 100644 > --- a/sw/source/filter/ww8/wrtw8nds.cxx > +++ b/sw/source/filter/ww8/wrtw8nds.cxx > @@ -918,7 +918,7 @@ bool WW8AttributeOutput::StartURL( const String &rUrl, > const String &rTarget ) > SwWW8Writer::WriteLong( *m_rWW8Export.pDataStrm, 0x00000002); > sal_uInt32 nFlag = bBookMarkOnly ? 0 : 0x01; > if ( bAbsolute ) > - nFlag |= 0x02; > + nFlag |= 0x00; > if ( sMark.Len() ) > nFlag |= 0x08; > SwWW8Writer::WriteLong( *m_rWW8Export.pDataStrm, nFlag ); > > > But I guess a better patch would be (which I have not tested): > The following was suppose to do if ( !bAbsolute ) insted of if ( bAbsolute ) > diff --git a/sw/source/filter/ww8/wrtw8nds.cxx > b/sw/source/filter/ww8/wrtw8nds.cxx > index 4db4999..d5f7327 100644 > --- a/sw/source/filter/ww8/wrtw8nds.cxx > +++ b/sw/source/filter/ww8/wrtw8nds.cxx > @@ -918,7 +918,7 @@ bool WW8AttributeOutput::StartURL( const String &rUrl, > const String &rTarget ) > SwWW8Writer::WriteLong( *m_rWW8Export.pDataStrm, 0x00000002); > sal_uInt32 nFlag = bBookMarkOnly ? 0 : 0x01; > if ( bAbsolute ) > - nFlag |= 0x02; > + nFlag |= 0x00; > if ( sMark.Len() ) > nFlag |= 0x08; > SwWW8Writer::WriteLong( *m_rWW8Export.pDataStrm, nFlag ); > > > Anyway, this is very easy to test for anyone. > 1. Create a document with a hyperlink. > 2. Save it as .doc > 3. Open it in MS Word > 4. Ctrl Click on the link > 5 and, look.. It does not work > > 6. Apply my patch > 7. repeat point 1,2,3,4 > 8. and look.. It works :) > > > > -- > Knut Olav Bøhmer > -- Knut Olav Bøhmer
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice