[ooo-build-commit] Branch 'ooo/OOO320' - 4 commits - basic/source connectivity/inc connectivity/source desktop/source fpicker/source officecfg/registry svx/source

Jan Holesovsky kendy at kemper.freedesktop.org
Thu Dec 3 18:31:18 PST 2009


 basic/source/classes/eventatt.cxx              |   71 +++++------
 connectivity/inc/connectivity/FValue.hxx       |   12 +
 connectivity/source/commontools/FValue.cxx     |  154 ++++++++++++++++++++-----
 desktop/source/app/app.cxx                     |    7 +
 fpicker/source/aqua/SalAquaPicker.cxx          |    5 
 officecfg/registry/data/org/openoffice/VCL.xcu |   17 +-
 svx/source/dialog/hyperdlg.cxx                 |    6 
 svx/source/svdraw/svdotextdecomposition.cxx    |   48 +++++--
 8 files changed, 228 insertions(+), 92 deletions(-)

New commits:
commit 236f74be7727f46bd245893c78ce02c0b766a28a
Author: Oliver Bolte <obo at openoffice.org>
Date:   Tue Dec 1 10:53:27 2009 +0000

    CWS-TOOLING: integrate CWS ooo32gsl07
    2009-11-24 09:00:19 +0100 hdu  r277603 : #i107076# device DPI also gets a maximum limit
    2009-11-23 11:43:01 +0100 hdu  r277593 : #i107076# device DPI now gets a minimum limit
    2009-11-20 16:41:39 +0100 hdu  r277582 : #ii107076# limit minimal device resolution
    2009-11-20 13:42:09 +0100 af  r277578 : #i107049# Do not scroll focus indicator into view when slide sorter is focused.
    2009-11-20 11:31:54 +0100 aw  r277576 : ooo32gsl07 #i106214# corrected MinAutoPaperSize for Cell BlockFormatting
    2009-11-20 10:28:09 +0100 hdu  r277573 : #i107006# text justification invalidates previous measurements of a layout

diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index 434efde..8cc1ede 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -800,34 +800,48 @@ void SdrTextObj::impDecomposeBlockTextPrimitive(
     const bool bVerticalWritintg(rSdrBlockTextPrimitive.getOutlinerParaObject().IsVertical());
     const Size aAnchorTextSize(Size(nAnchorTextWidth, nAnchorTextHeight));
 
-    // check if block text is used (only one of them can be true)
-    const bool bHorizontalIsBlock(SDRTEXTHORZADJUST_BLOCK == eHAdj && !bVerticalWritintg);
-    const bool bVerticalIsBlock(SDRTEXTVERTADJUST_BLOCK == eVAdj && bVerticalWritintg);
-
-    // set minimal paper size hor/ver if needed
-    if(bHorizontalIsBlock)
-    {
-        rOutliner.SetMinAutoPaperSize(Size(nAnchorTextWidth, 0));
-    }
-    else if(bVerticalIsBlock)
-    {
-        rOutliner.SetMinAutoPaperSize(Size(0, nAnchorTextHeight));
-    }
-
     if(bIsCell)
     {
         // cell text is formated neither like a text object nor like a object
         // text, so use a special setup here
-        // #i106214# To work with an unchangeable PaperSize (CellSize in
-        // this case) Set(Min|Max)AutoPaperSize and SetPaperSize have to be used
         rOutliner.SetMaxAutoPaperSize(aAnchorTextSize);
-        rOutliner.SetMinAutoPaperSize(aAnchorTextSize);
+
+        // #i106214# To work with an unchangeable PaperSize (CellSize in
+        // this case) Set(Min|Max)AutoPaperSize and SetPaperSize have to be used.
+        // #i106214# This was not completely correct; to still measure the real 
+        // text height to allow vertical adjust (and vice versa for VerticalWritintg)
+        // only one aspect has to be set, but the other one to zero
+        if(bVerticalWritintg)
+        {
+            // measure the horizontal text size
+            rOutliner.SetMinAutoPaperSize(Size(0, aAnchorTextSize.Height()));
+        }
+        else
+        {
+            // measure the vertical text size
+            rOutliner.SetMinAutoPaperSize(Size(aAnchorTextSize.Width(), 0));
+        }
+
         rOutliner.SetPaperSize(aAnchorTextSize);
         rOutliner.SetUpdateMode(true);
         rOutliner.SetText(rSdrBlockTextPrimitive.getOutlinerParaObject());
     }
     else
     {
+        // check if block text is used (only one of them can be true)
+        const bool bHorizontalIsBlock(SDRTEXTHORZADJUST_BLOCK == eHAdj && !bVerticalWritintg);
+        const bool bVerticalIsBlock(SDRTEXTVERTADJUST_BLOCK == eVAdj && bVerticalWritintg);
+
+        // set minimal paper size hor/ver if needed
+        if(bHorizontalIsBlock)
+        {
+            rOutliner.SetMinAutoPaperSize(Size(nAnchorTextWidth, 0));
+        }
+        else if(bVerticalIsBlock)
+        {
+            rOutliner.SetMinAutoPaperSize(Size(0, nAnchorTextHeight));
+        }
+
         if((rSdrBlockTextPrimitive.getWordWrap() || IsTextFrame()) && !rSdrBlockTextPrimitive.getUnlimitedPage())
         {
             // #i103454# maximal paper size hor/ver needs to be limited to text
commit 01893617e21ac7e7fee0a16056e8a77f135e92ca
Author: Oliver Bolte <obo at openoffice.org>
Date:   Tue Dec 1 08:53:35 2009 +0000

    CWS-TOOLING: integrate CWS dba32j
    2009-11-26 09:30:10 +0100 msc  r277648 : #100000 fix urgent testscript error
    2009-11-25 10:27:56 +0100 msc  r277625 : #i100000 fix urgent testscript error
    2009-11-17 22:16:46 +0100 fs  r277544 : CWS-TOOLING: rebase CWS dba32j to branches/OOO320 at 277531 (milestone: OOO320:m5)
    2009-11-17 14:26:47 +0100 fs  r277535 : ooops, didn't mean to commit this uncommented line
    2009-11-14 20:50:29 +0100 fs  r277505 : add a --disable-pango switch to SM's configure options, and add a patch which makes certain code respect it (well, respect it better than currently, by not using some pango_x_* functions, which are not always available, even when pango itself is present)
    2009-11-14 20:47:41 +0100 fs  r277504 : spelling
    2009-11-13 14:04:00 +0100 fs  r277502 : #i100764# (commit approved by ab at openoffice.org): getModelFromBasic: do not start with the parent's parent when looking for ThisComponent, but walk up the anchestor chain, starting with the immediate parent
    2009-11-13 11:04:15 +0100 fs  r277496 : #i100764# better heuristics for determining whether or not to participate in the ThisComponent game
    2009-11-13 11:02:30 +0100 fs  r277495 : #i100764# set the WB_EXT_DOCUMENT style at the backing component's container window, when creating it without the TaskCreator (which would normally do this)
    2009-11-11 13:49:11 +0100 fs  r277452 : #i106816#
    2009-11-11 13:48:53 +0100 fs  r277451 : fix the CREATETARBAL target, which is expected to create the zips used as prebuilts. The *inc.zip missed the NSS files in case NSS was built externally
    2009-11-11 12:15:34 +0100 fs  r277449 : update ignore list
    2009-11-11 12:09:23 +0100 fs  r277448 : add a link to the Mozilla build tools download location
    2009-11-11 12:07:16 +0100 fs  r277447 : add a link to the Mozilla build tools download location
    2009-11-06 16:23:12 +0100 fs  r277393 : #i106643#
    2009-11-03 23:20:29 +0100 fs  r277328 : #i106574#
    reverted the recent fix for issue #i105235#, and implemented a better one.
    2009-11-02 12:59:48 +0100 fs  r277294 : #i106550# errorOccured: also display the error when we're not in a nested form action - form actions are allowed to be triggered by other instances as well

diff --git a/basic/source/classes/eventatt.cxx b/basic/source/classes/eventatt.cxx
index 7776b57..b0c8f4b 100644
--- a/basic/source/classes/eventatt.cxx
+++ b/basic/source/classes/eventatt.cxx
@@ -95,53 +95,48 @@ Any sbxToUnoValue( SbxVariable* pVar );
 
 Reference< frame::XModel >  getModelFromBasic( SbxObject* pBasic )
 {
-    Reference< frame::XModel > xModel;
-
-    SbxObject* basicChosen = pBasic;
-
-    if ( basicChosen == NULL)
+    OSL_PRECOND( pBasic != NULL, "getModelFromBasic: illegal call!" );
+    if ( !pBasic )
+        return NULL;
+
+    // look for the ThisComponent variable, first in the parent (which
+    // might be the document's Basic), then in the parent's parent (which might be
+    // the application Basic)
+    const ::rtl::OUString sThisComponent( RTL_CONSTASCII_USTRINGPARAM( "ThisComponent" ) );
+    SbxVariable* pThisComponent = NULL;
+
+    SbxObject* pLookup = pBasic->GetParent();
+    while ( pLookup && !pThisComponent )
     {
-        OSL_TRACE("getModelFromBasic() StarBASIC* is NULL" );
-        return xModel;
+        pThisComponent = pLookup->Find( sThisComponent, SbxCLASS_OBJECT );
+        pLookup = pLookup->GetParent();
     }
-    SbxObject* p = pBasic;
-    SbxObject* pParent = p->GetParent();
-    SbxObject* pParentParent = pParent ? pParent->GetParent() : NULL;
-
-    if( pParentParent )
+    if ( !pThisComponent )
     {
-        basicChosen = pParentParent;
+        OSL_TRACE("Failed to get ThisComponent");
+            // the application Basic, at the latest, should have this variable
+        return NULL;
     }
-    else if( pParent )
+
+    Any aThisComponent( sbxToUnoValue( pThisComponent ) );
+    Reference< frame::XModel > xModel( aThisComponent, UNO_QUERY );
+    if ( !xModel.is() )
     {
-        basicChosen = pParent;
+        // it's no XModel. Okay, ThisComponent nowadays is allowed to be a controller.
+        Reference< frame::XController > xController( aThisComponent, UNO_QUERY );
+        if ( xController.is() )
+            xModel = xController->getModel();
     }
 
+    if ( !xModel.is() )
+        return NULL;
 
-    Any aModel;
-    SbxVariable *pCompVar = basicChosen->Find(  UniString(RTL_CONSTASCII_USTRINGPARAM("ThisComponent")), SbxCLASS_OBJECT );
+#if OSL_DEBUG_LEVEL > 0
+    OSL_TRACE("Have model ThisComponent points to url %s",
+        ::rtl::OUStringToOString( xModel->getURL(),
+            RTL_TEXTENCODING_ASCII_US ).pData->buffer );
+#endif
 
-    if ( pCompVar )
-    {
-         aModel = sbxToUnoValue( pCompVar );
-         if ( sal_False == ( aModel >>= xModel ) ||
-              !xModel.is() )
-         {
-             OSL_TRACE("Failed to extract model from thisComponent ");
-             return xModel;
-         }
-         else
-         {
-             OSL_TRACE("Have model ThisComponent points to url %s",
-                 ::rtl::OUStringToOString( xModel->getURL(),
-                     RTL_TEXTENCODING_ASCII_US ).pData->buffer );
-
-         }
-    }
-    else
-    {
-        OSL_TRACE("Failed to get ThisComponent");
-    }
     return xModel;
 }
 
diff --git a/connectivity/inc/connectivity/FValue.hxx b/connectivity/inc/connectivity/FValue.hxx
index 6fdbae4..8bcfa0e 100644
--- a/connectivity/inc/connectivity/FValue.hxx
+++ b/connectivity/inc/connectivity/FValue.hxx
@@ -44,9 +44,15 @@
 #include <com/sun/star/util/Time.hpp>
 #include <com/sun/star/uno/Sequence.hxx>
 #include <com/sun/star/sdbc/XRow.hpp>
+#include <com/sun/star/sdb/XColumn.hpp>
 
 namespace connectivity
 {
+    namespace detail
+    {
+        class IValueSource;
+    }
+
     class OOO_DLLPUBLIC_DBTOOLS ORowSetValue
     {
         union
@@ -361,6 +367,12 @@ namespace connectivity
                   const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRow>& _xRow);
 
         void fill(const ::com::sun::star::uno::Any& _rValue);
+
+        void fill( const sal_Int32 _nType,
+                   const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _rxColumn );
+
+    private:
+        void impl_fill( const sal_Int32 _nType, sal_Bool _bNullable, const detail::IValueSource& _rValueSource );
     };
 
     /// ORowSetValueDecorator decorates a ORowSetValue so the value is "refcounted"
diff --git a/connectivity/source/commontools/FValue.cxx b/connectivity/source/commontools/FValue.cxx
index 37e91d2..3068acd 100644
--- a/connectivity/source/commontools/FValue.cxx
+++ b/connectivity/source/commontools/FValue.cxx
@@ -40,13 +40,16 @@
 #include <rtl/ustrbuf.hxx>
 #include <rtl/logfile.hxx>
 
-using namespace connectivity;
-using namespace dbtools;
+using namespace ::dbtools;
 using namespace ::com::sun::star::sdbc;
+using namespace ::com::sun::star::sdb;
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::util;
 using namespace ::com::sun::star::io;
 
+namespace connectivity
+{
+
 namespace {
     static sal_Bool isStorageCompatible(sal_Int32 _eType1, sal_Int32 _eType2)
     {
@@ -1809,6 +1812,107 @@ void ORowSetValue::setSigned(sal_Bool _bMod)
         }
     }
 }
+
+// -----------------------------------------------------------------------------
+namespace detail
+{
+    class SAL_NO_VTABLE IValueSource
+    {
+    public:
+        virtual ::rtl::OUString             getString() const = 0;
+        virtual sal_Bool                    getBoolean() const = 0;
+        virtual sal_Int8                    getByte() const = 0;
+        virtual sal_Int16                   getShort() const = 0;
+        virtual sal_Int32                   getInt() const = 0;
+        virtual sal_Int64                   getLong() const = 0;
+        virtual float                       getFloat() const = 0;
+        virtual double                      getDouble() const = 0;
+        virtual Date                        getDate() const = 0;
+        virtual Time                        getTime() const = 0;
+        virtual DateTime                    getTimestamp() const = 0;
+        virtual Sequence< sal_Int8 >        getBytes() const = 0;
+        virtual Reference< XInputStream >   getBinaryStream() const = 0;
+        virtual Reference< XInputStream >   getCharacterStream() const = 0;
+        virtual sal_Bool                    wasNull() const = 0;
+
+        virtual ~IValueSource() { }
+    };
+
+    class RowValue : public IValueSource
+    {
+    public:
+        RowValue( const Reference< XRow >& _xRow, const sal_Int32 _nPos )
+            :m_xRow( _xRow )
+            ,m_nPos( _nPos )
+        {
+        }
+
+        // IValueSource
+        virtual ::rtl::OUString             getString() const           { return m_xRow->getString( m_nPos ); };
+        virtual sal_Bool                    getBoolean() const          { return m_xRow->getBoolean( m_nPos ); };
+        virtual sal_Int8                    getByte() const             { return m_xRow->getByte( m_nPos ); };
+        virtual sal_Int16                   getShort() const            { return m_xRow->getShort( m_nPos ); }
+        virtual sal_Int32                   getInt() const              { return m_xRow->getInt( m_nPos ); }
+        virtual sal_Int64                   getLong() const             { return m_xRow->getLong( m_nPos ); }
+        virtual float                       getFloat() const            { return m_xRow->getFloat( m_nPos ); };
+        virtual double                      getDouble() const           { return m_xRow->getDouble( m_nPos ); };
+        virtual Date                        getDate() const             { return m_xRow->getDate( m_nPos ); };
+        virtual Time                        getTime() const             { return m_xRow->getTime( m_nPos ); };
+        virtual DateTime                    getTimestamp() const        { return m_xRow->getTimestamp( m_nPos ); };
+        virtual Sequence< sal_Int8 >        getBytes() const            { return m_xRow->getBytes( m_nPos ); };
+        virtual Reference< XInputStream >   getBinaryStream() const     { return m_xRow->getBinaryStream( m_nPos ); };
+        virtual Reference< XInputStream >   getCharacterStream() const  { return m_xRow->getCharacterStream( m_nPos ); };
+        virtual sal_Bool                    wasNull() const             { return m_xRow->wasNull( ); };
+
+    private:
+        const Reference< XRow > m_xRow;
+        const sal_Int32         m_nPos;
+    };
+
+    class ColumnValue : public IValueSource
+    {
+    public:
+        ColumnValue( const Reference< XColumn >& _rxColumn )
+            :m_xColumn( _rxColumn )
+        {
+        }
+
+        // IValueSource
+        virtual ::rtl::OUString             getString() const           { return m_xColumn->getString(); };
+        virtual sal_Bool                    getBoolean() const          { return m_xColumn->getBoolean(); };
+        virtual sal_Int8                    getByte() const             { return m_xColumn->getByte(); };
+        virtual sal_Int16                   getShort() const            { return m_xColumn->getShort(); }
+        virtual sal_Int32                   getInt() const              { return m_xColumn->getInt(); }
+        virtual sal_Int64                   getLong() const             { return m_xColumn->getLong(); }
+        virtual float                       getFloat() const            { return m_xColumn->getFloat(); };
+        virtual double                      getDouble() const           { return m_xColumn->getDouble(); };
+        virtual Date                        getDate() const             { return m_xColumn->getDate(); };
+        virtual Time                        getTime() const             { return m_xColumn->getTime(); };
+        virtual DateTime                    getTimestamp() const        { return m_xColumn->getTimestamp(); };
+        virtual Sequence< sal_Int8 >        getBytes() const            { return m_xColumn->getBytes(); };
+        virtual Reference< XInputStream >   getBinaryStream() const     { return m_xColumn->getBinaryStream(); };
+        virtual Reference< XInputStream >   getCharacterStream() const  { return m_xColumn->getCharacterStream(); };
+        virtual sal_Bool                    wasNull() const             { return m_xColumn->wasNull( ); };
+
+    private:
+        const Reference< XColumn >  m_xColumn;
+    };
+}
+
+// -----------------------------------------------------------------------------
+void ORowSetValue::fill( const sal_Int32 _nType, const Reference< XColumn >& _rxColumn )
+{
+    detail::ColumnValue aColumnValue( _rxColumn );
+    impl_fill( _nType, sal_True, aColumnValue );
+}
+
+// -----------------------------------------------------------------------------
+void ORowSetValue::fill( sal_Int32 _nPos, sal_Int32 _nType, sal_Bool  _bNullable, const Reference< XRow>& _xRow )
+{
+    detail::RowValue aRowValue( _xRow, _nPos );
+    impl_fill( _nType, _bNullable, aRowValue );
+}
+
 // -----------------------------------------------------------------------------
 void ORowSetValue::fill(sal_Int32 _nPos,
                      sal_Int32 _nType,
@@ -1819,10 +1923,8 @@ void ORowSetValue::fill(sal_Int32 _nPos,
 }
 
 // -----------------------------------------------------------------------------
-void ORowSetValue::fill(sal_Int32 _nPos,
-                     sal_Int32 _nType,
-                     sal_Bool  _bNullable,
-                     const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRow>& _xRow)
+void ORowSetValue::impl_fill( const sal_Int32 _nType, sal_Bool _bNullable, const detail::IValueSource& _rValueSource )
+
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbtools", "Ocke.Janssen at sun.com", "ORowSetValue::fill (2)" );
     sal_Bool bReadData = sal_True;
@@ -1833,63 +1935,63 @@ void ORowSetValue::fill(sal_Int32 _nPos,
     case DataType::DECIMAL:
     case DataType::NUMERIC:
     case DataType::LONGVARCHAR:
-        (*this) = _xRow->getString(_nPos);
+        (*this) = _rValueSource.getString();
         break;
     case DataType::BIGINT:
         if ( isSigned() )
-            (*this) = _xRow->getLong(_nPos);
+            (*this) = _rValueSource.getLong();
         else
-            (*this) = _xRow->getString(_nPos);
+            (*this) = _rValueSource.getString();
         break;
     case DataType::FLOAT:
-        (*this) = _xRow->getFloat(_nPos);
+        (*this) = _rValueSource.getFloat();
         break;
     case DataType::DOUBLE:
     case DataType::REAL:
-        (*this) = _xRow->getDouble(_nPos);
+        (*this) = _rValueSource.getDouble();
         break;
     case DataType::DATE:
-        (*this) = _xRow->getDate(_nPos);
+        (*this) = _rValueSource.getDate();
         break;
     case DataType::TIME:
-        (*this) = _xRow->getTime(_nPos);
+        (*this) = _rValueSource.getTime();
         break;
     case DataType::TIMESTAMP:
-        (*this) = _xRow->getTimestamp(_nPos);
+        (*this) = _rValueSource.getTimestamp();
         break;
     case DataType::BINARY:
     case DataType::VARBINARY:
     case DataType::LONGVARBINARY:
-        (*this) = _xRow->getBytes(_nPos);
+        (*this) = _rValueSource.getBytes();
         break;
     case DataType::BIT:
     case DataType::BOOLEAN:
-        (*this) = _xRow->getBoolean(_nPos);
+        (*this) = _rValueSource.getBoolean();
         break;
     case DataType::TINYINT:
         if ( isSigned() )
-            (*this) = _xRow->getByte(_nPos);
+            (*this) = _rValueSource.getByte();
         else
-            (*this) = _xRow->getShort(_nPos);
+            (*this) = _rValueSource.getShort();
         break;
     case DataType::SMALLINT:
         if ( isSigned() )
-            (*this) = _xRow->getShort(_nPos);
+            (*this) = _rValueSource.getShort();
         else
-            (*this) = _xRow->getInt(_nPos);
+            (*this) = _rValueSource.getInt();
         break;
     case DataType::INTEGER:
         if ( isSigned() )
-            (*this) = _xRow->getInt(_nPos);
+            (*this) = _rValueSource.getInt();
         else
-            (*this) = _xRow->getLong(_nPos);
+            (*this) = _rValueSource.getLong();
         break;
     case DataType::CLOB:
-        (*this) = ::com::sun::star::uno::makeAny(_xRow->getCharacterStream(_nPos));
+        (*this) = ::com::sun::star::uno::makeAny(_rValueSource.getCharacterStream());
         setTypeKind(DataType::CLOB);
         break;
     case DataType::BLOB:
-        (*this) = ::com::sun::star::uno::makeAny(_xRow->getBinaryStream(_nPos));
+        (*this) = ::com::sun::star::uno::makeAny(_rValueSource.getBinaryStream());
         setTypeKind(DataType::BLOB);
         break;
     default:
@@ -1897,7 +1999,7 @@ void ORowSetValue::fill(sal_Int32 _nPos,
         bReadData = false;
         break;
     }
-    if ( bReadData && _bNullable && _xRow->wasNull() )
+    if ( bReadData && _bNullable && _rValueSource.wasNull() )
         setNull();
     setTypeKind(_nType);
 }
@@ -2043,3 +2145,5 @@ void ORowSetValue::fill(const Any& _rValue)
             break;
     }
 }
+
+}   // namespace connectivity
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 7f937bb..aadf6bc 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -1468,6 +1468,13 @@ void Desktop::Main()
                     xContainerWindow = xBackingFrame->getContainerWindow();
                 if (xContainerWindow.is())
                 {
+                    // set the WB_EXT_DOCUMENT style. Normally, this is done by the TaskCreator service when a "_blank"
+                    // frame/window is created. Since we do not use the TaskCreator here, we need to mimic its behavior,
+                    // otherwise documents loaded into this frame will later on miss functionality depending on the style.
+                    Window* pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
+                    OSL_ENSURE( pContainerWindow, "Desktop::Main: no implementation access to the frame's container window!" );
+                    pContainerWindow->SetExtendedStyle( pContainerWindow->GetExtendedStyle() | WB_EXT_DOCUMENT );
+
                     SetSplashScreenProgress(75);
                     Sequence< Any > lArgs(1);
                     lArgs[0] <<= xContainerWindow;
commit 44960c6f1a84e46e035be8347a93ad28a8b7a38e
Author: Oliver Bolte <obo at openoffice.org>
Date:   Tue Dec 1 07:43:00 2009 +0000

    CWS-TOOLING: integrate CWS ooo32gsl06
    2009-11-18 10:37:27 +0100 hdu  r277545 : #i106980# fix psprinting of hairline beziers (thanks thb!)
    2009-11-17 14:37:57 +0100 pl  r277536 : #i106901# work around a crash when getting input from keyboard viewer
    2009-11-17 11:43:07 +0100 pl  r277530 : #i106863# directory can be empty
    2009-11-16 12:37:51 +0100 hdu  r277512 : #i106941# register app-specific fonts again after the 3-layer changes for OOo32
    2009-11-13 10:17:24 +0100 hdu  r277491 : #i105238 fix spelling of monospaced bitstream and dejavu fallbacks

diff --git a/fpicker/source/aqua/SalAquaPicker.cxx b/fpicker/source/aqua/SalAquaPicker.cxx
index 8face27..c084c71 100644
--- a/fpicker/source/aqua/SalAquaPicker.cxx
+++ b/fpicker/source/aqua/SalAquaPicker.cxx
@@ -208,7 +208,10 @@ int SalAquaPicker::run()
     }
     
     if (retVal == NSFileHandlingPanelOKButton) {
-        implsetDisplayDirectory([[NSURL fileURLWithPath:[m_pDialog directory]] OUStringForInfo:FULLPATH]);
+        NSString* pDir = [m_pDialog directory];
+        if (pDir) {
+            implsetDisplayDirectory([[NSURL fileURLWithPath:pDir] OUStringForInfo:FULLPATH]);
+        }
     }
     
     DBG_PRINT_EXIT(CLASS_NAME, __func__, retVal);
diff --git a/officecfg/registry/data/org/openoffice/VCL.xcu b/officecfg/registry/data/org/openoffice/VCL.xcu
index 9f1871a..af2368f 100644
--- a/officecfg/registry/data/org/openoffice/VCL.xcu
+++ b/officecfg/registry/data/org/openoffice/VCL.xcu
@@ -8,7 +8,6 @@
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: VCL.xcu,v $
- * $Revision: 1.62.116.1 $
  *
  * This file is part of OpenOffice.org.
  *
@@ -1471,9 +1470,9 @@
           <value>Default,Serif</value>
         </prop>
       </node>
-      <node oor:name="bitstreamveramono" oor:op="replace">
+      <node oor:name="bitstreamverasansmono" oor:op="replace">
         <prop oor:name="SubstFonts">
-          <value>dejavumono</value>
+          <value>dejavusansmono;couriernew;liberationmono</value>
         </prop>
         <prop oor:name="SubstFontsHTML"><value>monospace</value></prop>
         <prop oor:name="FontWeight"><value>Normal</value></prop>
@@ -2200,7 +2199,7 @@
       </node>
       <node oor:name="couriernew" oor:op="replace">
     <prop oor:name="SubstFonts">
-      <value>cumberland;cumberlandamt;liberationmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
+      <value>cumberland;cumberlandamt;liberationmono;dejavusansmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
         </prop>
     <prop oor:name="SubstFontsMS"><value></value></prop>
     <prop oor:name="SubstFontsPS"><value>Courier</value></prop>
@@ -2211,7 +2210,7 @@
       </node>
       <node oor:name="cumberland" oor:op="replace">
         <prop oor:name="SubstFonts">
-          <value>cumberlandamt;couriernew;liberationmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
+          <value>cumberlandamt;couriernew;liberationmono;dejavusansmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
         </prop>
         <prop oor:name="SubstFontsMS">
           <value>Courier New</value>
@@ -2234,7 +2233,7 @@
       </node>
       <node oor:name="cumberlandamt" oor:op="replace">
         <prop oor:name="SubstFonts">
-          <value>cumberland;couriernew;liberationmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
+          <value>cumberland;couriernew;liberationmono;dejavusansmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
         </prop>
         <prop oor:name="SubstFontsMS">
           <value>Courier New</value>
@@ -2321,9 +2320,9 @@
           <value>Default,Serif</value>
         </prop>
       </node>
-      <node oor:name="dejavumono" oor:op="replace">
+      <node oor:name="dejavusansmono" oor:op="replace">
         <prop oor:name="SubstFonts">
-          <value>bitstreamveramono</value>
+          <value>bitstreamverasansmono;couriernew;liberationmono</value>
         </prop>
         <prop oor:name="SubstFontsHTML"><value>monospace</value></prop>
         <prop oor:name="FontWeight"><value>Normal</value></prop>
@@ -4562,7 +4561,7 @@
       </node>
       <node oor:name="liberationmono" oor:op="replace">
         <prop oor:name="SubstFonts">
-          <value>cumberland;cumberlandamt;couriernew;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
+          <value>cumberland;cumberlandamt;couriernew;dejavusansmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
         </prop>
         <prop oor:name="SubstFontsMS">
           <value>Courier New</value>
commit 7e4efabeecb6fba8ba86f36b00d9d229a1dfdc1c
Author: Oliver Bolte <obo at openoffice.org>
Date:   Tue Dec 1 07:03:58 2009 +0000

    CWS-TOOLING: integrate CWS hb32showstoppers2
    2009-11-05 14:28:58 +0100 hbrinkm  r277370 : CWS-TOOLING: rebase CWS hb32showstoppers2 to branches/OOO320 at 277262 (milestone: OOO320:m3)
    2009-11-04 16:04:47 +0100 hbrinkm  r277357 : #i102434# write background color/shadow like WW8 does
    2009-11-03 12:22:27 +0100 os  r277319 : #i106515# call to LeaveDrawCreate() moved from SwWrtShell::UnSelectFrame() to SwPostItMgr::AssureStdModeAtShell()
    2009-10-30 14:58:39 +0100 hbrinkm  r277272 : #i103374# set default style on table row ends
    2009-10-30 13:19:38 +0100 hbrinkm  r277265 : #i106057# applied here because otherwise saving DOCs crashes
    2009-10-28 13:50:44 +0100 hbrinkm  r277240 : applied patch for OOO320_m2
    #i105052# debugging code
    #i102420# rewritten debug output for SwNodes.
    #i105052# debugging code
    sw/source/filter/ww8/wrtww8.cxx:
    MSWordExportBase::WriteText:
    Keep track of nodes already exported and assert when a node is exported for the second time.
    sw/source/filter/ww8/WW8TableInfo.cxx:
    WW8TableNodeInfo::setNext:
    Announce from where to where the next pointer points.
    #i105052# save pointer to next SwNode in WW8TableNodeInfo
    merged DEV300_m60
    #i105653# applied patch
    #i105941# crash on initialization fixed
    merged changes from hb32showstoppers
    2009-10-27 16:39:40 +0100 mst  r277223 : #i106349#: SwBaseShell::ExecUndo(): do not access members after dying

diff --git a/svx/source/dialog/hyperdlg.cxx b/svx/source/dialog/hyperdlg.cxx
index 3bb5f0b..efbe2e8 100644
--- a/svx/source/dialog/hyperdlg.cxx
+++ b/svx/source/dialog/hyperdlg.cxx
@@ -78,9 +78,11 @@ SvxHlinkDlgWrapper::SvxHlinkDlgWrapper( Window* _pParent, USHORT nId,
     pWindow = mpDlg->GetWindow();
     ((MyStruct*)pImp)->bVisible = FALSE;
 
-    if ( pInfo->aSize.Width() != 0 && pInfo->aSize.Height() != 0 )
+    Window* pTopWindow = 0;
+    if ( pInfo->aSize.Width() != 0 && pInfo->aSize.Height() != 0 && 
+            (0 != (pTopWindow = SFX_APP()->GetTopWindow())))
     {
-        Size aParentSize( SFX_APP()->GetTopWindow()->GetSizePixel() );
+        Size aParentSize( pTopWindow->GetSizePixel() );
         Size aDlgSize (	GetSizePixel () );
 
         if( aParentSize.Width() < pInfo->aPos.X() )


More information about the ooo-build-commit mailing list