[Libreoffice-commits] core.git: Branch 'private/jmux/master+fixes' - 177 commits - basic/source bin/distro-install-desktop-integration bin/distro-install-file-lists bin/sanitize-image-links chart2/source cli_ure/readme.txt cli_ure/source codemaker/source comphelper/qa comphelper/source compilerplugins/clang configure.ac connectivity/qa connectivity/source connectivity/workben cppuhelper/source cppuhelper/test cppu/source cui/source cui/uiconfig dbaccess/qa dbaccess/source dbaccess/uiconfig desktop/Executable_oosplash.mk desktop/source desktop/uiconfig desktop/util desktop/win32 drawinglayer/source editeng/qa editeng/source embeddedobj/source eventattacher/source extensions/inc extensions/source extensions/test extensions/workben external/accessories external/cairo external/cppunit external/curl external/epm external/expat external/firebird external/harfbuzz external/hunspell external/hyphen external/icu external/lcms2 external/libabw external/libatomic_ops external/libcdr external/libebook extern al/libetonyek external/libexttextcat external/libfreehand external/liblangtag external/libmspub external/libmwaw external/libodfgen external/liborcus external/libvisio external/libwpd external/libwpg external/libwps external/libxml2 external/libxmlsec external/libxslt external/Module_external.mk external/mythes external/nss external/openldap external/poppler external/postgresql external/python3 external/redland filter/qa filter/source filter/uiconfig formula/source framework/source .gitignore i18nlangtag/source i18npool/CustomTarget_breakiterator.mk i18npool/source icon-themes/human icon-themes/industrial icon-themes/oxygen icon-themes/tango icon-themes/tango_testing include/basic include/comphelper include/editeng include/formula include/i18nlangtag include/rtl include/sfx2 include/svtools include/svx include/tools include/vcl m4/libo_check_extension.m4 Makefile.fetch Makefile.in oox/source padmin/source README.cross registry/tools reportdesign/source sal/inc sal/Library_sal.mk sal /osl sal/rtl sal/util sc/inc scp2/InstallScript_setup_osl.mk sc/qa scripting/source sc/source sc/uiconfig sd/inc sd/source sd/uiconfig sfx2/source sfx2/uiconfig solenv/bin solenv/gbuild starmath/source store/source store/workben svtools/Module_svtools.mk svtools/source svx/source sw/inc sw/qa sw/sdi sw/source sw/uiconfig testtools/Module_testtools.mk testtools/source tools/source unusedcode.easy vcl/generic vcl/inc vcl/Library_vclplug_gen.mk vcl/source vcl/unx vcl/win writerfilter/source

Jan-Marek Glogowski glogow at fbihome.de
Fri Feb 28 03:25:56 PST 2014


Rebased ref, commits from common ancestor:
commit 490a197a9a76f2fcbe9c54d600a6c10c433bd74b
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Thu Feb 27 20:34:00 2014 +0000

    KDE4: evaluate frameWidth in the Qt thread
    
    QWidget::ensurePolished() uses events, which need to be processed in
    the Qt thread. This happens when opening a document via Java UNO,
    and no LO instance is already running. The Java UNO call is processed
    in the main / Qt thread while loading happens in a second thread.
    
    Actually getNativeControlRegion should not involve any drawing, but
    KDE4 needs it to get the correct frame width.
    
    Change-Id: I344d5089d958963c48a9a8a84bfa9fe8f092b75a

diff --git a/vcl/unx/kde4/KDESalGraphics.cxx b/vcl/unx/kde4/KDESalGraphics.cxx
index a41b0cd1..4fbe79b 100644
--- a/vcl/unx/kde4/KDESalGraphics.cxx
+++ b/vcl/unx/kde4/KDESalGraphics.cxx
@@ -31,10 +31,12 @@
 #undef Region
 
 #include "KDESalGraphics.hxx"
+#include "KDESalInstance.hxx"
 
 #include <vcl/settings.hxx>
 #include <vcl/decoview.hxx>
 #include <rtl/ustrbuf.hxx>
+#include <unx/saldata.hxx>
 
 using namespace ::rtl;
 
@@ -165,21 +167,6 @@ namespace
         kapp->style()->drawComplexControl(element, option, &painter);
     }
 
-    int getFrameWidth()
-    {
-        static int s_nFrameWidth = -1;
-        if( s_nFrameWidth < 0 )
-        {
-            // fill in a default
-            QFrame aFrame( NULL );
-            aFrame.setFrameRect( QRect(0, 0, 100, 30) );
-            aFrame.setFrameStyle( QFrame::StyledPanel | QFrame::Sunken );
-            aFrame.ensurePolished();
-            s_nFrameWidth = aFrame.frameWidth();
-        }
-        return s_nFrameWidth;
-    }
-
     void lcl_drawFrame(QStyle::PrimitiveElement element, QImage* image, QStyle::State state)
     {
     #if ( QT_VERSION >= QT_VERSION_CHECK( 4, 5, 0 ) )
@@ -554,7 +541,7 @@ bool KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
                        vclStateValue2StateFlag(nControlState, value) );
 
         // draw just the border, see http://qa.openoffice.org/issues/show_bug.cgi?id=107945
-        int fw = getFrameWidth();
+        int fw = static_cast< KDESalInstance* >(GetSalData()->m_pInstance)->getFrameWidth();
         clipRegion = new QRegion( QRegion( widgetRect ).subtracted( widgetRect.adjusted( fw, fw, -fw, -fw )));
     }
     else if (type == CTRL_WINDOW_BACKGROUND)
@@ -857,7 +844,7 @@ bool KDESalGraphics::getNativeControlRegion( ControlType type, ControlPart part,
         {
             if( part == PART_BORDER )
             {
-                int nFrameWidth = getFrameWidth();
+                int nFrameWidth = static_cast< KDESalInstance* >(GetSalData()->m_pInstance)->getFrameWidth();
                 sal_uInt16 nStyle = val.getNumericVal();
                 if( nStyle & FRAME_DRAW_NODRAW )
                 {
diff --git a/vcl/unx/kde4/KDESalInstance.cxx b/vcl/unx/kde4/KDESalInstance.cxx
index 224ac3a..9670172 100644
--- a/vcl/unx/kde4/KDESalInstance.cxx
+++ b/vcl/unx/kde4/KDESalInstance.cxx
@@ -38,4 +38,9 @@ uno::Reference< ui::dialogs::XFilePicker2 > KDESalInstance::createFilePicker(
         static_cast<KDEXLib*>( mpXLib )->createFilePicker(xMSF) );
 }
 
+int KDESalInstance::getFrameWidth()
+{
+    return static_cast<KDEXLib*>( mpXLib )->getFrameWidth();
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/unx/kde4/KDESalInstance.hxx b/vcl/unx/kde4/KDESalInstance.hxx
index 3c07f52..f73af0d 100644
--- a/vcl/unx/kde4/KDESalInstance.hxx
+++ b/vcl/unx/kde4/KDESalInstance.hxx
@@ -36,6 +36,7 @@ class KDESalInstance : public X11SalInstance
         virtual com::sun::star::uno::Reference< com::sun::star::ui::dialogs::XFilePicker2 >
             createFilePicker( const com::sun::star::uno::Reference<
                                   com::sun::star::uno::XComponentContext >& );
+        int getFrameWidth();
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
index 2cf71e1..1f000d9 100644
--- a/vcl/unx/kde4/KDEXLib.cxx
+++ b/vcl/unx/kde4/KDEXLib.cxx
@@ -59,7 +59,7 @@ KDEXLib::KDEXLib() :
     SalXLib(),  m_bStartupDone(false), m_pApplication(0),
     m_pFreeCmdLineArgs(0), m_pAppCmdLineArgs(0), m_nFakeCmdLineArgs( 0 ),
     eventLoopType( LibreOfficeEventLoop ),
-    m_bYieldFrozen( false )
+    m_bYieldFrozen( false ), m_frameWidth( -1 )
 {
     // the timers created here means they belong to the main thread
     connect( &timeoutTimer, SIGNAL( timeout()), this, SLOT( timeoutActivated()));
@@ -82,6 +82,9 @@ KDEXLib::KDEXLib() :
              this, SLOT( createFilePicker( const com::sun::star::uno::Reference<
                                                  com::sun::star::uno::XComponentContext >&) ),
              Qt::BlockingQueuedConnection );
+
+    connect( this, SIGNAL( getFrameWidthSignal() ),
+             this, SLOT( getFrameWidth() ), Qt::BlockingQueuedConnection );
 }
 
 KDEXLib::~KDEXLib()
@@ -423,6 +426,27 @@ uno::Reference< ui::dialogs::XFilePicker2 > KDEXLib::createFilePicker(
     return uno::Reference< ui::dialogs::XFilePicker2 >( new KDE4FilePicker( xMSF, this ) );
 }
 
+#define Region QtXRegion
+#include <qframe.h>
+#undef Region
+
+int KDEXLib::getFrameWidth()
+{
+    if( m_frameWidth >= 0 )
+        return m_frameWidth;
+    if( qApp->thread() != QThread::currentThread()) {
+        SalYieldMutexReleaser aReleaser;
+        return Q_EMIT getFrameWidthSignal();
+    }
+
+    // fill in a default
+    QFrame aFrame( NULL );
+    aFrame.setFrameStyle( QFrame::StyledPanel | QFrame::Sunken );
+    aFrame.ensurePolished();
+    m_frameWidth = aFrame.frameWidth();
+    return m_frameWidth;
+}
+
 #include "KDEXLib.moc"
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/unx/kde4/KDEXLib.hxx b/vcl/unx/kde4/KDEXLib.hxx
index d07b9f6..dd7f83f 100644
--- a/vcl/unx/kde4/KDEXLib.hxx
+++ b/vcl/unx/kde4/KDEXLib.hxx
@@ -53,6 +53,7 @@ class KDEXLib : public QObject, public SalXLib
         QTimer userEventTimer;
         enum { LibreOfficeEventLoop, GlibEventLoop, QtUnixEventLoop } eventLoopType;
         bool m_bYieldFrozen;
+        int m_frameWidth;
 
     private:
         void setupEventLoop();
@@ -71,6 +72,7 @@ class KDEXLib : public QObject, public SalXLib
         com::sun::star::uno::Reference< com::sun::star::ui::dialogs::XFilePicker2 >
             createFilePickerSignal( const com::sun::star::uno::Reference<
                                           com::sun::star::uno::XComponentContext >& );
+        int getFrameWidthSignal();
 
     public:
         KDEXLib();
@@ -89,9 +91,10 @@ class KDEXLib : public QObject, public SalXLib
         void doStartup();
 
     public Q_SLOTS:
-        virtual com::sun::star::uno::Reference< com::sun::star::ui::dialogs::XFilePicker2 >
+        com::sun::star::uno::Reference< com::sun::star::ui::dialogs::XFilePicker2 >
             createFilePicker( const com::sun::star::uno::Reference<
                                   com::sun::star::uno::XComponentContext >& );
+        int getFrameWidth();
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 0d5a5829c3805f7abb20440cd46ea96f97605a57
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Thu Feb 27 20:31:00 2014 +0000

    Git: ignore autogen, doxygen and gdb config files
    
    Adds some additional files to .gitignore.
    
    Change-Id: Ia5af298a91919fe00392282c0e5bb88fa2811a52

diff --git a/.gitignore b/.gitignore
index 3d9bc63..93031b4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,6 +33,8 @@
 /aclocal.m4
 /autom4te.cache
 /autogen.input
+/autogen.lastrun
+/autogen.lastrun.bak
 /ChangeLog
 /config.Build.log
 /config.guess
@@ -95,3 +97,9 @@ xcuserdata
 *.v11*
 *.vcxproj*
 *.opensdf
+
+# doxygen output
+/docs
+
+# gdb config
+/.gdbinit
commit b6354709f74ff9a24a43ea631b2adcdff4189062
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Thu Feb 27 08:54:57 2014 +0000

    KDE4: try hard to paint any rect for menus
    
    Current Oxygen theme doesn't draw rects for menus, but uses shaped
    and "colored" background images. As a workaround paint window and
    menu rects for menus - currently any painted rect is better then
    no rect at all.
    
    Change-Id: I4d553ea58cac2729826f8395cb2597fa200187b6

diff --git a/vcl/unx/kde4/KDEData.cxx b/vcl/unx/kde4/KDEData.cxx
index 196f186..ccbbd99 100644
--- a/vcl/unx/kde4/KDEData.cxx
+++ b/vcl/unx/kde4/KDEData.cxx
@@ -17,10 +17,18 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#define Region QtXRegion
+
+#include <QStyle>
+#include <kapplication.h>
+
+#undef Region
+
 #include "KDEData.hxx"
 
 #include "KDEXLib.hxx"
 
+
 KDEData::~KDEData()
 {
 }
@@ -39,6 +47,15 @@ void KDEData::initNWF()
     pSVData->maNWFData.mbDockingAreaSeparateTB = true;
     // no borders for menu, theming does that
     pSVData->maNWFData.mbFlatMenu = true;
+
+    // Styled menus need additional space
+    QStyle *style = kapp->style();
+    pSVData->maNWFData.mnMenuFormatBorderX =
+       style->pixelMetric( QStyle::PM_MenuPanelWidth ) +
+       style->pixelMetric( QStyle::PM_MenuHMargin );
+    pSVData->maNWFData.mnMenuFormatBorderY =
+       style->pixelMetric( QStyle::PM_MenuPanelWidth ) +
+       style->pixelMetric( QStyle::PM_MenuVMargin );
 }
 
 void KDEData::deInitNWF()
diff --git a/vcl/unx/kde4/KDESalGraphics.cxx b/vcl/unx/kde4/KDESalGraphics.cxx
index 5bad70d..a41b0cd1 100644
--- a/vcl/unx/kde4/KDESalGraphics.cxx
+++ b/vcl/unx/kde4/KDESalGraphics.cxx
@@ -78,7 +78,7 @@ QRect region2QRect( const Rectangle& rControlRegion )
 }
 
 KDESalGraphics::KDESalGraphics() :
-    m_image(0)
+    m_image(NULL)
 {
 }
 
@@ -130,13 +130,7 @@ bool KDESalGraphics::IsNativeControlSupported( ControlType type, ControlPart par
     if (type == CTRL_SLIDER && (part == PART_TRACK_HORZ_AREA || part == PART_TRACK_VERT_AREA) )
         return true;
 
-    if ( (type == CTRL_PROGRESS)    && (part == PART_ENTIRE_CONTROL) ) return true;
-
-    return false;
-
-    if ( (type == CTRL_TAB_ITEM) && (part == PART_ENTIRE_CONTROL) ) return true;
-    if ( (type == CTRL_TAB_PANE) && (part == PART_ENTIRE_CONTROL) ) return true;
-    // no CTRL_TAB_BODY for KDE
+    if ( (type == CTRL_PROGRESS) && (part == PART_ENTIRE_CONTROL) ) return true;
 
     return false;
 }
@@ -378,8 +372,10 @@ bool KDESalGraphics::drawNativeControl( ControlType type, ControlPart part,
         {
             QStyleOptionMenuItem option;
             draw( QStyle::PE_PanelMenu, &option, m_image, vclStateValue2StateFlag( nControlState, value ));
+            // Try hard to get any frame!
             QStyleOptionFrame frame;
             draw( QStyle::PE_FrameMenu, &frame, m_image, vclStateValue2StateFlag( nControlState, value ));
+            draw( QStyle::PE_FrameWindow, &frame, m_image, vclStateValue2StateFlag( nControlState, value ));
             lastPopupRect = widgetRect;
         }
         else
commit 07cd00c39eb7934957205a46bd95b7c5227a3612
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Thu Feb 27 08:51:00 2014 +0000

    KDE4: Report correct check and radio item sizes
    
    Use the correct sizs from the current style.
    
    Change-Id: I7e163bdc8d467baf2d6e3d0d2bc3e1da7558cf42

diff --git a/vcl/unx/kde4/KDESalGraphics.cxx b/vcl/unx/kde4/KDESalGraphics.cxx
index a1fa6fd..5bad70d 100644
--- a/vcl/unx/kde4/KDESalGraphics.cxx
+++ b/vcl/unx/kde4/KDESalGraphics.cxx
@@ -837,12 +837,26 @@ bool KDESalGraphics::getNativeControlRegion( ControlType type, ControlPart part,
             break;
         }
         case CTRL_MENU_POPUP:
-            if (part == PART_MENU_ITEM_CHECK_MARK || part == PART_MENU_ITEM_RADIO_MARK)
-            { // core uses this to detect radio/checkbox sizes, so just set a square
-                contentRect.setWidth(contentRect.height());
+        {
+            int h, w;
+            switch ( part ) {
+            case PART_MENU_ITEM_CHECK_MARK:
+                h = kapp->style()->pixelMetric(QStyle::PM_IndicatorHeight);
+                w = kapp->style()->pixelMetric(QStyle::PM_IndicatorWidth);
+                retVal = true;
+                break;
+            case PART_MENU_ITEM_RADIO_MARK:
+                h = kapp->style()->pixelMetric(QStyle::PM_ExclusiveIndicatorHeight);
+                w = kapp->style()->pixelMetric(QStyle::PM_ExclusiveIndicatorWidth);
                 retVal = true;
+                break;
+            }
+            if (retVal) {
+                contentRect = QRect(0, 0, w, h);
+                boundingRect = contentRect;
             }
             break;
+        }
         case CTRL_FRAME:
         {
             if( part == PART_BORDER )
commit 67841b4e2f5f610ef9cccf73d4996855cc9eb43a
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Feb 26 18:19:11 2014 +0000

    KDE4: Freeze yield for native file picker dialogs
    
    As it seems to be the only way to poll the clipboard, reintroduce
    
     m_pApplication->clipboard()->setProperty(
        "useEventLoopWhenWaiting", true );
    
    To prevent crashes disable Yielding while the dialog is open.
    
    This keeps the FP dialogs kind of usable, but feels like a horrible
    workaround.
    
    Change-Id: I10c422f1c0d7448d4a7ad28e57a32ed2cb42f48f

diff --git a/vcl/unx/kde4/KDE4FilePicker.cxx b/vcl/unx/kde4/KDE4FilePicker.cxx
index 467e8d8..c94f248 100644
--- a/vcl/unx/kde4/KDE4FilePicker.cxx
+++ b/vcl/unx/kde4/KDE4FilePicker.cxx
@@ -38,6 +38,7 @@
 
 #include "KDE4FilePicker.hxx"
 #include "FPServiceInfo.hxx"
+#include "KDEXLib.hxx"
 
 /* ********* Hack, but needed because of conflicting types... */
 #define Region QtXRegion
@@ -113,10 +114,11 @@ QString toQString(const OUString& s)
 // KDE4FilePicker
 
 
-KDE4FilePicker::KDE4FilePicker( const uno::Reference<uno::XComponentContext>& )
+KDE4FilePicker::KDE4FilePicker( const uno::Reference<uno::XComponentContext>&, KDEXLib *xlib )
     : KDE4FilePicker_Base(_helperMutex)
     , _resMgr( ResMgr::CreateResMgr("fps_office") )
     , allowRemoteUrls( false )
+    , _mXLib( xlib )
 {
     _extraControls = new QWidget();
     _layout = new QGridLayout(_extraControls);
@@ -261,8 +263,11 @@ sal_Int16 SAL_CALL KDE4FilePicker::execute()
     _dialog->filterWidget()->setEditable(false);
 
     // We're entering a nested loop.
-    // Release the yield mutex to prevent deadlocks.
+    // Prevent yield calls, which would crash LO.
+
+    _mXLib->freezeYield( true );
     int result = _dialog->exec();
+    _mXLib->freezeYield( false );
 
     // HACK: KFileDialog uses KConfig("kdeglobals") for saving some settings
     // (such as the auto-extension flag), but that doesn't update KGlobal::config()
diff --git a/vcl/unx/kde4/KDE4FilePicker.hxx b/vcl/unx/kde4/KDE4FilePicker.hxx
index 3cde3cf..79d80dc 100644
--- a/vcl/unx/kde4/KDE4FilePicker.hxx
+++ b/vcl/unx/kde4/KDE4FilePicker.hxx
@@ -40,6 +40,7 @@
 class KFileDialog;
 class QWidget;
 class QLayout;
+class KDEXLib;
 
 class ResMgr;
 
@@ -82,8 +83,10 @@ protected:
 
     bool allowRemoteUrls;
 
+    KDEXLib* _mXLib;
+
 public:
-    KDE4FilePicker( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
+    KDE4FilePicker( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&, KDEXLib* );
     virtual ~KDE4FilePicker();
 
     // XFilePickerNotifier
diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
index 96e77fe..2cf71e1 100644
--- a/vcl/unx/kde4/KDEXLib.cxx
+++ b/vcl/unx/kde4/KDEXLib.cxx
@@ -58,7 +58,8 @@
 KDEXLib::KDEXLib() :
     SalXLib(),  m_bStartupDone(false), m_pApplication(0),
     m_pFreeCmdLineArgs(0), m_pAppCmdLineArgs(0), m_nFakeCmdLineArgs( 0 ),
-    eventLoopType( LibreOfficeEventLoop )
+    eventLoopType( LibreOfficeEventLoop ),
+    m_bYieldFrozen( false )
 {
     // the timers created here means they belong to the main thread
     connect( &timeoutTimer, SIGNAL( timeout()), this, SLOT( timeoutActivated()));
@@ -213,6 +214,7 @@ void KDEXLib::setupEventLoop()
         eventLoopType = GlibEventLoop;
         old_gpoll = g_main_context_get_poll_func( NULL );
         g_main_context_set_poll_func( NULL, gpoll_wrapper );
+        m_pApplication->clipboard()->setProperty( "useEventLoopWhenWaiting", true );
         return;
     }
 #endif
@@ -272,6 +274,8 @@ void KDEXLib::Yield( bool bWait, bool bHandleAllCurrentEvents )
         return SalXLib::Yield( bWait, bHandleAllCurrentEvents );
     }
 
+    if (m_bYieldFrozen) return;
+
     // if we are the main thread (which is where the event processing is done),
     // good, just do it
     if( qApp->thread() == QThread::currentThread()) {
@@ -416,7 +420,7 @@ uno::Reference< ui::dialogs::XFilePicker2 > KDEXLib::createFilePicker(
         SalYieldMutexReleaser aReleaser;
         return Q_EMIT createFilePickerSignal( xMSF );
     }
-    return uno::Reference< ui::dialogs::XFilePicker2 >( new KDE4FilePicker( xMSF ) );
+    return uno::Reference< ui::dialogs::XFilePicker2 >( new KDE4FilePicker( xMSF, this ) );
 }
 
 #include "KDEXLib.moc"
diff --git a/vcl/unx/kde4/KDEXLib.hxx b/vcl/unx/kde4/KDEXLib.hxx
index d9bd4d6..d07b9f6 100644
--- a/vcl/unx/kde4/KDEXLib.hxx
+++ b/vcl/unx/kde4/KDEXLib.hxx
@@ -52,6 +52,7 @@ class KDEXLib : public QObject, public SalXLib
         QTimer timeoutTimer;
         QTimer userEventTimer;
         enum { LibreOfficeEventLoop, GlibEventLoop, QtUnixEventLoop } eventLoopType;
+        bool m_bYieldFrozen;
 
     private:
         void setupEventLoop();
@@ -84,6 +85,7 @@ class KDEXLib : public QObject, public SalXLib
         virtual void Wakeup();
         virtual void PostUserEvent();
 
+        void freezeYield(bool freeze) { m_bYieldFrozen = freeze; }
         void doStartup();
 
     public Q_SLOTS:
commit 315fa667f20fb90bf2425e0e0570cde7b92976b7
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Feb 26 16:34:55 2014 +0000

    KDE4: fix boolean prototypes in signal connections
    
    Fix missed connect function prototypes from the sal_Bool -> bool
    conversation of the vcl module.
    
    Change-Id: I33d930e260940bc9f300b83b14355b2dd7903ca7

diff --git a/vcl/unx/kde4/KDE4FilePicker.cxx b/vcl/unx/kde4/KDE4FilePicker.cxx
index a664201..467e8d8 100644
--- a/vcl/unx/kde4/KDE4FilePicker.cxx
+++ b/vcl/unx/kde4/KDE4FilePicker.cxx
@@ -144,8 +144,8 @@ KDE4FilePicker::KDE4FilePicker( const uno::Reference<uno::XComponentContext>& )
              this, SLOT( executeSlot() ), Qt::BlockingQueuedConnection );
 
     // XFilePicker functions
-    connect( this, SIGNAL( setMultiSelectionModeSignal( sal_Bool ) ),
-             this, SLOT( setMultiSelectionModeSlot( sal_Bool ) ), Qt::BlockingQueuedConnection );
+    connect( this, SIGNAL( setMultiSelectionModeSignal( bool ) ),
+             this, SLOT( setMultiSelectionModeSlot( bool ) ), Qt::BlockingQueuedConnection );
     connect( this, SIGNAL( setDefaultNameSignal( const OUString & ) ),
              this, SLOT( setDefaultNameSlot( const OUString & ) ), Qt::BlockingQueuedConnection );
     connect( this, SIGNAL( setDisplayDirectorySignal( const OUString & ) ),
@@ -172,8 +172,8 @@ KDE4FilePicker::KDE4FilePicker( const uno::Reference<uno::XComponentContext>& )
              this, SLOT( setValueSlot( sal_Int16, sal_Int16, const ::com::sun::star::uno::Any & ) ), Qt::BlockingQueuedConnection );
     connect( this, SIGNAL( getValueSignal( sal_Int16, sal_Int16 ) ),
              this, SLOT( getValueSlot( sal_Int16, sal_Int16 ) ), Qt::BlockingQueuedConnection );
-    connect( this, SIGNAL( enableControlSignal( sal_Int16, sal_Bool ) ),
-             this, SLOT( enableControlSlot( sal_Int16, sal_Bool ) ), Qt::BlockingQueuedConnection );
+    connect( this, SIGNAL( enableControlSignal( sal_Int16, bool ) ),
+             this, SLOT( enableControlSlot( sal_Int16, bool ) ), Qt::BlockingQueuedConnection );
     connect( this, SIGNAL( setLabelSignal( sal_Int16, const OUString & ) ),
              this, SLOT( setLabelSlot( sal_Int16, const OUString & ) ), Qt::BlockingQueuedConnection );
     connect( this, SIGNAL( getLabelSignal( sal_Int16 ) ),
commit 70258253c808a3cff33e7e353509e435f55ce8ba
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Feb 26 17:02:38 2014 +0200

    KDE4: Drop Qt 4.9 support
    
    I don't think there will ever be any 4.9 release, so drop all the
    unused code.
    
    Change-Id: I4b72de96e6064240582cd83d4e45547096a2efb0

diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
index f096a33..96e77fe 100644
--- a/vcl/unx/kde4/KDEXLib.cxx
+++ b/vcl/unx/kde4/KDEXLib.cxx
@@ -45,12 +45,6 @@
 
 #include <config_kde4.h>
 
-#if QT_VERSION >= QT_VERSION_CHECK( 4, 9, 0 )
-#define QT_UNIX_EVENT_LOOP_SUPPORT 1
-#else
-#define QT_UNIX_EVENT_LOOP_SUPPORT 0
-#endif
-
 #if KDE_HAVE_GLIB
 #define GLIB_EVENT_LOOP_SUPPORT 1
 #else
@@ -193,12 +187,6 @@ void KDEXLib::Init()
 static GPollFunc old_gpoll = NULL;
 static gint gpoll_wrapper( GPollFD*, guint, gint );
 #endif
-#if QT_UNIX_EVENT_LOOP_SUPPORT
-static int (*qt_select)(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept,
-   const struct timeval *orig_timeout);
-static int lo_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept,
-   const struct timeval *orig_timeout);
-#endif
 
 static bool ( *old_qt_event_filter )( void* );
 static bool qt_event_filter( void* m )
@@ -229,21 +217,6 @@ void KDEXLib::setupEventLoop()
     }
 #endif
 #endif
-#if QT_UNIX_EVENT_LOOP_SUPPORT
-// When Qt does not use Glib support, it uses its own Unix event dispatcher.
-// That one has aboutToBlock() and awake() signals, but they are broken (either
-// functionality or semantics), as e.g. awake() is not emitted right after the dispatcher
-// is woken up from sleep again, but only later (which is too late for re-acquiring SolarMutex).
-// This should be fixed with Qt-4.8.0 (?) where support for adding custom select() function
-// has been added too (http://bugreports.qt.nokia.com/browse/QTBUG-16934).
-    if( QAbstractEventDispatcher::instance()->inherits( "QEventDispatcherUNIX" ))
-    {
-        eventLoopType = QtUnixEventLoop;
-        QInternal::callFunction( QInternal::GetUnixSelectFunction, reinterpret_cast< void** >( &qt_select ));
-        QInternal::callFunction( QInternal::SetUnixSelectFunction, reinterpret_cast< void** >( lo_select ));
-        return;
-    }
-#endif
 }
 
 #if GLIB_EVENT_LOOP_SUPPORT
@@ -254,15 +227,6 @@ gint gpoll_wrapper( GPollFD* ufds, guint nfds, gint timeout )
 }
 #endif
 
-#if QT_UNIX_EVENT_LOOP_SUPPORT
-int lo_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept,
-   const struct timeval *orig_timeout)
-{
-    SalYieldMutexReleaser release; // release YieldMutex (and re-acquire at block end)
-    return qt_select( nfds, fdread, fdwrite, fdexcept, orig_timeout );
-}
-#endif
-
 void KDEXLib::Insert( int fd, void* data, YieldFunc pending, YieldFunc queued, YieldFunc handle )
 {
     if( eventLoopType == LibreOfficeEventLoop )
commit 49435e660d3bdfc6868c45765a05f9b624ddcdf0
Author: Pierre-Eric Pelloux-Prayer <pierre-eric at lanedo.com>
Date:   Tue Oct 15 14:54:40 2013 +0200

    sw/docx export: fix handling of document with header and section(s)
    
    This fix 2 issues:
      * header loss
      * text after section moved to a new page
    
    Change-Id: I0692100513cc21e75203a8befc21804885f66a76

diff --git a/sw/source/filter/ww8/wrtw8sty.cxx b/sw/source/filter/ww8/wrtw8sty.cxx
index a506801..4cf6a07 100644
--- a/sw/source/filter/ww8/wrtw8sty.cxx
+++ b/sw/source/filter/ww8/wrtw8sty.cxx
@@ -1706,6 +1706,10 @@ void MSWordExportBase::SectionProperties( const WW8_SepInfo& rSepInfo, WW8_PdAtt
 
             pISet = pOldI;
         }
+        else
+        {
+            nBreakCode = 2;
+        }
     }
 
     // Libreoffice 4.0 introduces support for page styles (SwPageDesc) with
commit eea6556677d2c73fdb509fc245facfe62ede3871
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Mon Jan 20 11:11:53 2014 +0000

    Drop GtkScrolledWindow from GtkTextView
    
    GtkTextView is mapped to VclMultiLineEdit, which manages its own
    scrolling, so we can drop all GtkScrolledWindow references.
    
    Change-Id: I046a23b22e88d34997dd7b6e7e822fd89e2685be

diff --git a/cui/uiconfig/ui/comment.ui b/cui/uiconfig/ui/comment.ui
index 928bb25..ea9df73 100644
--- a/cui/uiconfig/ui/comment.ui
+++ b/cui/uiconfig/ui/comment.ui
@@ -193,7 +193,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow1">
+                      <object class="GtkTextView" id="edit:border">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="hexpand">True</property>
@@ -201,16 +201,7 @@
                         <property name="hscrollbar_policy">always</property>
                         <property name="vscrollbar_policy">always</property>
                         <property name="shadow_type">in</property>
-                        <child>
-                          <object class="GtkTextView" id="edit:border">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="hexpand">True</property>
-                            <property name="vexpand">True</property>
-                            <property name="wrap_mode">char</property>
-                            <property name="buffer">textbuffer1</property>
-                          </object>
-                        </child>
+                        <property name="wrap_mode">char</property>
                       </object>
                       <packing>
                         <property name="expand">False</property>
diff --git a/cui/uiconfig/ui/cuiimapdlg.ui b/cui/uiconfig/ui/cuiimapdlg.ui
index 1b80361..6f35e1b 100644
--- a/cui/uiconfig/ui/cuiimapdlg.ui
+++ b/cui/uiconfig/ui/cuiimapdlg.ui
@@ -280,24 +280,14 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow1">
+                  <object class="GtkTextView" id="descTV:border">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="hexpand">True</property>
                     <property name="vexpand">True</property>
                     <property name="vscrollbar_policy">always</property>
                     <property name="shadow_type">in</property>
-                    <child>
-                      <object class="GtkTextView" id="descTV:border">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="hexpand">True</property>
-                        <property name="vexpand">True</property>
-                        <property name="hscroll_policy">natural</property>
-                        <property name="vscroll_policy">natural</property>
-                        <property name="wrap_mode">word</property>
-                      </object>
-                    </child>
+                    <property name="wrap_mode">word</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
diff --git a/cui/uiconfig/ui/insertplugin.ui b/cui/uiconfig/ui/insertplugin.ui
index c992af4..0aa5f59 100644
--- a/cui/uiconfig/ui/insertplugin.ui
+++ b/cui/uiconfig/ui/insertplugin.ui
@@ -99,7 +99,7 @@
                     <property name="top_padding">6</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow1">
+                      <object class="GtkTextView" id="pluginoptions:border">
                         <property name="width_request">400</property>
                         <property name="height_request">80</property>
                         <property name="visible">True</property>
@@ -108,13 +108,7 @@
                         <property name="vexpand">True</property>
                         <property name="hscrollbar_policy">never</property>
                         <property name="shadow_type">in</property>
-                        <child>
-                          <object class="GtkTextView" id="pluginoptions:border">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="wrap_mode">char</property>
-                          </object>
-                        </child>
+                        <property name="wrap_mode">char</property>
                       </object>
                     </child>
                   </object>
diff --git a/cui/uiconfig/ui/macroselectordialog.ui b/cui/uiconfig/ui/macroselectordialog.ui
index 5a2278d..d984672 100644
--- a/cui/uiconfig/ui/macroselectordialog.ui
+++ b/cui/uiconfig/ui/macroselectordialog.ui
@@ -298,22 +298,16 @@
                     <property name="top_padding">6</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow1">
+                      <object class="GtkTextView" id="description:border">
                         <property name="height_request">100</property>
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
                         <property name="hexpand">True</property>
                         <property name="vexpand">True</property>
                         <property name="shadow_type">in</property>
-                        <child>
-                          <object class="GtkTextView" id="description:border">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="editable">False</property>
-                            <property name="wrap_mode">word</property>
-                            <property name="cursor_visible">False</property>
-                          </object>
-                        </child>
+                        <property name="can_focus">False</property>
+                        <property name="editable">False</property>
+                        <property name="wrap_mode">word</property>
+                        <property name="cursor_visible">False</property>
                       </object>
                     </child>
                   </object>
diff --git a/cui/uiconfig/ui/objecttitledescdialog.ui b/cui/uiconfig/ui/objecttitledescdialog.ui
index b8c09b1..4ee7f3a 100644
--- a/cui/uiconfig/ui/objecttitledescdialog.ui
+++ b/cui/uiconfig/ui/objecttitledescdialog.ui
@@ -118,19 +118,12 @@
               </packing>
             </child>
             <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow1">
+              <object class="GtkTextView" id="desc_entry:border">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="vscrollbar_policy">always</property>
                 <property name="shadow_type">in</property>
-                <child>
-                  <object class="GtkTextView" id="desc_entry:border">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="wrap_mode">word</property>
-                    <property name="buffer">textbuffer1</property>
-                  </object>
-                </child>
+                <property name="wrap_mode">word</property>
               </object>
               <packing>
                 <property name="expand">True</property>
diff --git a/dbaccess/uiconfig/ui/directsqldialog.ui b/dbaccess/uiconfig/ui/directsqldialog.ui
index 5cf33f5..ca3fa9d 100644
--- a/dbaccess/uiconfig/ui/directsqldialog.ui
+++ b/dbaccess/uiconfig/ui/directsqldialog.ui
@@ -209,18 +209,12 @@
                 <property name="top_padding">6</property>
                 <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow2">
+                  <object class="GtkTextView" id="status:border">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="vscrollbar_policy">always</property>
                     <property name="shadow_type">in</property>
-                    <child>
-                      <object class="GtkTextView" id="status:border">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="editable">False</property>
-                      </object>
-                    </child>
+                    <property name="editable">False</property>
                   </object>
                 </child>
               </object>
@@ -255,19 +249,13 @@
                 <property name="top_padding">6</property>
                 <property name="left_padding">12</property>
                 <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow1">
+                  <object class="GtkTextView" id="output:border">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="hscrollbar_policy">always</property>
                     <property name="vscrollbar_policy">always</property>
                     <property name="shadow_type">in</property>
-                    <child>
-                      <object class="GtkTextView" id="output:border">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="editable">False</property>
-                      </object>
-                    </child>
+                    <property name="editable">False</property>
                   </object>
                 </child>
               </object>
diff --git a/desktop/uiconfig/ui/showlicensedialog.ui b/desktop/uiconfig/ui/showlicensedialog.ui
index fae8891..d4b3965 100644
--- a/desktop/uiconfig/ui/showlicensedialog.ui
+++ b/desktop/uiconfig/ui/showlicensedialog.ui
@@ -40,22 +40,14 @@
           </packing>
         </child>
         <child>
-          <object class="GtkScrolledWindow" id="scrolledwindow1">
+          <object class="GtkTextView" id="textview:border">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
             <property name="vscrollbar_policy">always</property>
             <property name="shadow_type">in</property>
-            <child>
-              <object class="GtkTextView" id="textview:border">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="hexpand">True</property>
-                <property name="vexpand">True</property>
-                <property name="editable">False</property>
-              </object>
-            </child>
+            <property name="editable">False</property>
           </object>
           <packing>
             <property name="expand">False</property>
diff --git a/filter/uiconfig/ui/xmlfiltertabpagegeneral.ui b/filter/uiconfig/ui/xmlfiltertabpagegeneral.ui
index 2fdb311..443493e 100644
--- a/filter/uiconfig/ui/xmlfiltertabpagegeneral.ui
+++ b/filter/uiconfig/ui/xmlfiltertabpagegeneral.ui
@@ -161,20 +161,12 @@
           </packing>
         </child>
         <child>
-          <object class="GtkScrolledWindow" id="scrolledwindow1">
+          <object class="GtkTextView" id="description:border">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
             <property name="shadow_type">in</property>
-            <child>
-              <object class="GtkTextView" id="description:border">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="hexpand">True</property>
-                <property name="vexpand">True</property>
-              </object>
-            </child>
           </object>
           <packing>
             <property name="left_attach">1</property>
diff --git a/sc/uiconfig/scalc/ui/erroralerttabpage.ui b/sc/uiconfig/scalc/ui/erroralerttabpage.ui
index 40a20be..420a904 100644
--- a/sc/uiconfig/scalc/ui/erroralerttabpage.ui
+++ b/sc/uiconfig/scalc/ui/erroralerttabpage.ui
@@ -85,19 +85,12 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow1">
+                  <object class="GtkTextView" id="errorMsg:border">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="vexpand">True</property>
                     <property name="vscrollbar_policy">always</property>
                     <property name="shadow_type">in</property>
-                    <child>
-                      <object class="GtkTextView" id="errorMsg:border">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="vexpand">True</property>
-                      </object>
-                    </child>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
diff --git a/sc/uiconfig/scalc/ui/validationhelptabpage.ui b/sc/uiconfig/scalc/ui/validationhelptabpage.ui
index 7d215d8..fd97d4b 100644
--- a/sc/uiconfig/scalc/ui/validationhelptabpage.ui
+++ b/sc/uiconfig/scalc/ui/validationhelptabpage.ui
@@ -99,21 +99,13 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow1">
+                  <object class="GtkTextView" id="inputhelp:border">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="hexpand">True</property>
                     <property name="vexpand">True</property>
                     <property name="vscrollbar_policy">always</property>
                     <property name="shadow_type">in</property>
-                    <child>
-                      <object class="GtkTextView" id="inputhelp:border">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="hexpand">True</property>
-                        <property name="vexpand">True</property>
-                      </object>
-                    </child>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
diff --git a/sd/uiconfig/sdraw/ui/insertlayer.ui b/sd/uiconfig/sdraw/ui/insertlayer.ui
index 950599c..21a0804 100644
--- a/sd/uiconfig/sdraw/ui/insertlayer.ui
+++ b/sd/uiconfig/sdraw/ui/insertlayer.ui
@@ -176,19 +176,13 @@
                     <property name="top_padding">6</property>
                     <property name="left_padding">12</property>
                     <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow1">
+                      <object class="GtkTextView" id="textview:border">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="vscrollbar_policy">always</property>
                         <property name="shadow_type">in</property>
-                        <child>
-                          <object class="GtkTextView" id="textview:border">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="hexpand">True</property>
-                            <property name="vexpand">True</property>
-                          </object>
-                        </child>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
                       </object>
                     </child>
                   </object>
diff --git a/sfx2/uiconfig/ui/descriptioninfopage.ui b/sfx2/uiconfig/ui/descriptioninfopage.ui
index 113e60c..f6a07e7 100644
--- a/sfx2/uiconfig/ui/descriptioninfopage.ui
+++ b/sfx2/uiconfig/ui/descriptioninfopage.ui
@@ -120,21 +120,13 @@
       </packing>
     </child>
     <child>
-      <object class="GtkScrolledWindow" id="scrolledwindow1">
+      <object class="GtkTextView" id="comments:border">
         <property name="visible">True</property>
         <property name="can_focus">True</property>
-        <property name="hexpand">True</property>
+        <property name="hexpand">False</property>
         <property name="vexpand">True</property>
         <property name="vscrollbar_policy">always</property>
         <property name="shadow_type">in</property>
-        <child>
-          <object class="GtkTextView" id="comments:border">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="hexpand">True</property>
-            <property name="vexpand">True</property>
-          </object>
-        </child>
       </object>
       <packing>
         <property name="left_attach">1</property>
diff --git a/sfx2/uiconfig/ui/versioncommentdialog.ui b/sfx2/uiconfig/ui/versioncommentdialog.ui
index 0967148..7b5cdc0 100644
--- a/sfx2/uiconfig/ui/versioncommentdialog.ui
+++ b/sfx2/uiconfig/ui/versioncommentdialog.ui
@@ -119,20 +119,12 @@
               </packing>
             </child>
             <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow1">
+              <object class="GtkTextView" id="textview">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="hexpand">True</property>
                 <property name="vexpand">True</property>
                 <property name="shadow_type">in</property>
-                <child>
-                  <object class="GtkTextView" id="textview">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="hexpand">True</property>
-                    <property name="vexpand">True</property>
-                  </object>
-                </child>
               </object>
               <packing>
                 <property name="left_attach">0</property>
diff --git a/sw/uiconfig/swriter/ui/cardmediumpage.ui b/sw/uiconfig/swriter/ui/cardmediumpage.ui
index 108752e..bc5c4cf 100644
--- a/sw/uiconfig/swriter/ui/cardmediumpage.ui
+++ b/sw/uiconfig/swriter/ui/cardmediumpage.ui
@@ -95,7 +95,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow1">
+                      <object class="GtkTextView" id="textview:border">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="hexpand">True</property>
@@ -103,14 +103,6 @@
                         <property name="hscrollbar_policy">always</property>
                         <property name="vscrollbar_policy">always</property>
                         <property name="shadow_type">in</property>
-                        <child>
-                          <object class="GtkTextView" id="textview:border">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="hexpand">True</property>
-                            <property name="vexpand">True</property>
-                          </object>
-                        </child>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
diff --git a/sw/uiconfig/swriter/ui/envaddresspage.ui b/sw/uiconfig/swriter/ui/envaddresspage.ui
index ce09a4f..70cafcf 100644
--- a/sw/uiconfig/swriter/ui/envaddresspage.ui
+++ b/sw/uiconfig/swriter/ui/envaddresspage.ui
@@ -30,7 +30,7 @@
             <property name="vexpand">True</property>
             <property name="row_spacing">6</property>
             <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow1">
+              <object class="GtkTextView" id="addredit:border">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="hexpand">True</property>
@@ -38,14 +38,6 @@
                 <property name="hscrollbar_policy">always</property>
                 <property name="vscrollbar_policy">always</property>
                 <property name="shadow_type">in</property>
-                <child>
-                  <object class="GtkTextView" id="addredit:border">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="hexpand">True</property>
-                    <property name="vexpand">True</property>
-                  </object>
-                </child>
               </object>
               <packing>
                 <property name="left_attach">0</property>
@@ -269,7 +261,7 @@
             <property name="vexpand">True</property>
             <property name="row_spacing">6</property>
             <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow2">
+              <object class="GtkTextView" id="senderedit:border">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="hexpand">True</property>
@@ -277,17 +269,9 @@
                 <property name="hscrollbar_policy">always</property>
                 <property name="vscrollbar_policy">always</property>
                 <property name="shadow_type">in</property>
-                <child>
-                  <object class="GtkTextView" id="senderedit:border">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="hexpand">True</property>
-                    <property name="vexpand">True</property>
-                    <accessibility>
-                      <relation type="labelled-by" target="sender"/>
-                    </accessibility>
-                  </object>
-                </child>
+                <accessibility>
+                  <relation type="labelled-by" target="sender"/>
+                </accessibility>
               </object>
               <packing>
                 <property name="left_attach">0</property>
diff --git a/sw/uiconfig/swriter/ui/inputfielddialog.ui b/sw/uiconfig/swriter/ui/inputfielddialog.ui
index 7ba2883..ffc3ba3 100644
--- a/sw/uiconfig/swriter/ui/inputfielddialog.ui
+++ b/sw/uiconfig/swriter/ui/inputfielddialog.ui
@@ -124,20 +124,12 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow1">
+                      <object class="GtkTextView" id="text">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="hexpand">True</property>
                         <property name="vexpand">True</property>
                         <property name="shadow_type">in</property>
-                        <child>
-                          <object class="GtkTextView" id="text">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="hexpand">True</property>
-                            <property name="vexpand">True</property>
-                          </object>
-                        </child>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
diff --git a/sw/uiconfig/swriter/ui/insertdbcolumnsdialog.ui b/sw/uiconfig/swriter/ui/insertdbcolumnsdialog.ui
index 1d004d3..719c547 100644
--- a/sw/uiconfig/swriter/ui/insertdbcolumnsdialog.ui
+++ b/sw/uiconfig/swriter/ui/insertdbcolumnsdialog.ui
@@ -335,7 +335,7 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkScrolledWindow" id="scrolledwindow1">
+                              <object class="GtkTextView" id="textview:border">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="hexpand">True</property>
@@ -343,14 +343,6 @@
                                 <property name="hscrollbar_policy">always</property>
                                 <property name="vscrollbar_policy">always</property>
                                 <property name="shadow_type">in</property>
-                                <child>
-                                  <object class="GtkTextView" id="textview:border">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="hexpand">True</property>
-                                    <property name="vexpand">True</property>
-                                  </object>
-                                </child>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
diff --git a/sw/uiconfig/swriter/ui/insertscript.ui b/sw/uiconfig/swriter/ui/insertscript.ui
index 74b24b7..b3403c7 100644
--- a/sw/uiconfig/swriter/ui/insertscript.ui
+++ b/sw/uiconfig/swriter/ui/insertscript.ui
@@ -113,17 +113,11 @@
               </packing>
             </child>
             <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow1">
+              <object class="GtkTextView" id="textentry:border">
                 <property name="height_request">200</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="shadow_type">in</property>
-                <child>
-                  <object class="GtkTextView" id="textentry:border">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                  </object>
-                </child>
               </object>
               <packing>
                 <property name="left_attach">0</property>
diff --git a/sw/uiconfig/swriter/ui/testmailsettings.ui b/sw/uiconfig/swriter/ui/testmailsettings.ui
index 0453957..fe7b9b3 100644
--- a/sw/uiconfig/swriter/ui/testmailsettings.ui
+++ b/sw/uiconfig/swriter/ui/testmailsettings.ui
@@ -213,7 +213,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow1">
+                      <object class="GtkTextView" id="errors:border">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="hexpand">True</property>
@@ -221,18 +221,9 @@
                         <property name="hscrollbar_policy">always</property>
                         <property name="vscrollbar_policy">always</property>
                         <property name="shadow_type">in</property>
-                        <child>
-                          <object class="GtkTextView" id="errors:border">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="hexpand">True</property>
-                            <property name="vexpand">True</property>
-                            <property name="editable">False</property>
-                            <property name="wrap_mode">word</property>
-                            <property name="cursor_visible">False</property>
-                            <property name="buffer">textbuffer1</property>
-                          </object>
-                        </child>
+                        <property name="editable">False</property>
+                        <property name="wrap_mode">word</property>
+                        <property name="cursor_visible">False</property>
                       </object>
                       <packing>
                         <property name="left_attach">0</property>
diff --git a/sw/uiconfig/swriter/ui/warnemaildialog.ui b/sw/uiconfig/swriter/ui/warnemaildialog.ui
index ba2e0fd..06ecf6a 100644
--- a/sw/uiconfig/swriter/ui/warnemaildialog.ui
+++ b/sw/uiconfig/swriter/ui/warnemaildialog.ui
@@ -30,20 +30,14 @@
           </packing>
         </child>
         <child>
-          <object class="GtkScrolledWindow" id="scrolledwindow1">
+          <object class="GtkTextView" id="errors:border">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
             <property name="shadow_type">in</property>
-            <child>
-              <object class="GtkTextView" id="errors:border">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="editable">False</property>
-                <property name="cursor_visible">False</property>
-              </object>
-            </child>
+            <property name="editable">False</property>
+            <property name="cursor_visible">False</property>
           </object>
           <packing>
             <property name="expand">False</property>
commit 1212c463d12e199953582b8391891096cf06057c
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Dec 24 20:18:41 2013 +0100

    Use exceptions for correct mail error handling
    
    If we're missing the eMail column we're to deep inside the code
    for a simple return on error. So this uses a try .. catch block
    and a private exception to cleanup after an error.
    
    Change-Id: Ice042f9cab0037e7aac0bd6940ae9b863ed849d2

diff --git a/sw/source/ui/dbui/dbmgr.cxx b/sw/source/ui/dbui/dbmgr.cxx
index 481e849..4b0183c 100644
--- a/sw/source/ui/dbui/dbmgr.cxx
+++ b/sw/source/ui/dbui/dbmgr.cxx
@@ -849,8 +849,9 @@ sal_Bool SwNewDBMgr::MergeMailFiles(SwWrtShell* pSourceShell,
                 OUString("text/plain; charset=UTF-8; format=flowed");
     }
 
+    class MailMergeCancelException : public Exception {};
     uno::Reference< XPropertySet > xColumnProp;
-    {
+    try {
         bool bColumnName = !sEMailAddrFld.isEmpty();
 
         if (bColumnName)
@@ -858,7 +859,7 @@ sal_Bool SwNewDBMgr::MergeMailFiles(SwWrtShell* pSourceShell,
             uno::Reference< XColumnsSupplier > xColsSupp( pImpl->pMergeData->xResultSet, UNO_QUERY );
             uno::Reference<XNameAccess> xCols = xColsSupp->getColumns();
             if(!xCols->hasByName(sEMailAddrFld))
-                return sal_False;
+                throw MailMergeCancelException();
             Any aCol = xCols->getByName(sEMailAddrFld);
             aCol >>= xColumnProp;
         }
@@ -867,7 +868,9 @@ sal_Bool SwNewDBMgr::MergeMailFiles(SwWrtShell* pSourceShell,
         SfxDispatcher* pSfxDispatcher = pSourceShell->GetView().GetViewFrame()->GetDispatcher();
         SwDocShell* pSourceDocSh = pSourceShell->GetView().GetDocShell();
         pSfxDispatcher->Execute( pSourceDocSh->HasName() ? SID_SAVEDOC : SID_SAVEASDOC, SFX_CALLMODE_SYNCHRON|SFX_CALLMODE_RECORD);
-        if( !pSourceDocSh->IsModified() )
+        if( pSourceDocSh->IsModified() )
+            throw MailMergeCancelException();
+
         {
             const SfxFilter* pStoreToFilter = SwIoSystem::GetFileFilter(
                 pSourceDocSh->GetMedium()->GetURLObject().GetMainURL( INetURLObject::NO_DECODE ), ::aEmptyOUStr );
@@ -1343,6 +1346,14 @@ sal_Bool SwNewDBMgr::MergeMailFiles(SwWrtShell* pSourceShell,
             SW_MOD()->SetView(&pSourceShell->GetView());
         }
     }
+    catch(const MailMergeCancelException&)
+    {
+        bNoError = sal_False;
+    }
+    catch(const Exception&)
+    {
+        OSL_FAIL("exception caught in SwNewDBMgr::MergeMailFiles");
+    }
 
     if(bEMail)
     {
commit 385cba9ef5fa1cd2e8f77cdaebbfbab52fe3e825
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Tue Dec 24 19:58:06 2013 +0100

    Clarify mail merge cancel and error handling
    
    A mail merge cancel is no error. So we actually test both booleand
    in the loop and don't set cancel on error.
    
    Change-Id: Icb7722c3758c1db984fa683a6b6a9eb9120ff925

diff --git a/sw/source/ui/dbui/dbmgr.cxx b/sw/source/ui/dbui/dbmgr.cxx
index 2905c67..481e849 100644
--- a/sw/source/ui/dbui/dbmgr.cxx
+++ b/sw/source/ui/dbui/dbmgr.cxx
@@ -704,6 +704,7 @@ sal_Bool SwNewDBMgr::GetColumnNames(ListBox* pListBox,
     Description: CTOR
  --------------------------------------------------------------------*/
 SwNewDBMgr::SwNewDBMgr() :
+            bCancel(sal_False),
             bInitDBFields(sal_False),
             bInMerge(sal_False),
             bMergeSilent(sal_False),
@@ -1000,7 +1001,6 @@ sal_Bool SwNewDBMgr::MergeMailFiles(SwWrtShell* pSourceShell,
                     {
                         ErrorHandler::HandleError( ERRCODE_IO_NOTSUPPORTED );
                         bNoError = sal_False;
-                        bCancel = sal_True;
                     }
                     else
                     {
@@ -1142,7 +1142,6 @@ sal_Bool SwNewDBMgr::MergeMailFiles(SwWrtShell* pSourceShell,
                                 {
                                     // error message ??
                                     ErrorHandler::HandleError( xWorkDocSh->GetError() );
-                                    bCancel = sal_True;
                                     bNoError = sal_False;
                                 }
                                 if( bEMail )
@@ -1240,7 +1239,7 @@ sal_Bool SwNewDBMgr::MergeMailFiles(SwWrtShell* pSourceShell,
                         ::std::bind2nd(::std::mem_fun(&SwRootFrm::FreezeLayout), true));
                     bFreezedLayouts = true;
                 }
-            } while( !bCancel &&
+            } while( !bCancel && bNoError &&
                 (bSynchronizedDoc && (nStartRow != nEndRow)? ExistsNextRecord() : ToNextMergeRecord()));
 
             // Unfreeze target document layouts and correct all PageDescs.
@@ -2708,7 +2707,6 @@ sal_Int32 SwNewDBMgr::MergeDocuments( SwMailMergeConfigItem& rMMConfig,
         OSL_FAIL("exception in MergeNew()");
     }
 
-    //bCancel is set from the PrintMonitor
     bCancel = sal_False;
 
     CreateMonitor aMonitorDlg(&rSourceView.GetEditWin());
commit 93421a600a8abc35fdbb46273cd6402d38eea232
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Thu Nov 14 11:51:14 2013 +0100

    Implement Qt single event processing.
    
    This implements the expected single event processing in the
    processYield function. It uses an eventFilter, which exits the
    processing loop after the first event.
    
    Currently the code results in refresh problems, so it's disabled.
    
    Change-Id: I06988223990fcae08254be346f9e1fe679130371

diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
index d8f717b..f096a33 100644
--- a/vcl/unx/kde4/KDEXLib.cxx
+++ b/vcl/unx/kde4/KDEXLib.cxx
@@ -329,16 +329,47 @@ void KDEXLib::Yield( bool bWait, bool bHandleAllCurrentEvents )
     }
 }
 
+#ifdef SINGLE_EVENT
+static bool singleEventFilter( void *message )
+{
+    static bool has_processed = true;
+    has_processed = !has_processed;
+    return has_processed;
+}
+
+void KDEXLib::processYield( bool bWait, bool bHandleAllCurrentEvents )
+#else
 // Qts processEvent always processes all pending events,
 // so we can ignore the second parameter 'bHandleAllCurrentEvents'.
 void KDEXLib::processYield( bool bWait, bool )
+#endif
 {
     QAbstractEventDispatcher* dispatcher = QAbstractEventDispatcher::instance( qApp->thread() );
+#ifdef SINGLE_EVENT
+    bool processed;
+    QAbstractEventDispatcher::EventFilter old_filter;
+
+    // Fake single event handling by installing our event filter
+    if ( !bHandleAllCurrentEvents )
+        old_filter = dispatcher->setEventFilter( singleEventFilter );
 
     if ( bWait )
+        processed = dispatcher->processEvents( QEventLoop::WaitForMoreEvents );
+    else
+        processed = dispatcher->processEvents( QEventLoop::AllEvents );
+
+    // Uninstall and eventuall reset the filter.
+    if ( !bHandleAllCurrentEvents ) {
+        dispatcher->setEventFilter( old_filter );
+        if ( !processed )
+            singleEventFilter( NULL );
+    }
+#else
+    if ( bWait )
         dispatcher->processEvents( QEventLoop::WaitForMoreEvents );
     else
         dispatcher->processEvents( QEventLoop::AllEvents );
+#endif
 }
 
 void KDEXLib::StartTimer( sal_uLong nMS )
commit 97e45f5bf0686b0a24126d7069bb21defd18f91f
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Fri Nov 15 14:51:09 2013 +0100

    Simplify KDE4 yielding.
    
    QAbstractEventDispatcher::processEvents always processes all
    pending events, so we can ignore the the second Yield parameter
    (bHandleAllCurrentEvents).
    
    Change-Id: I49a70ed13d0215b89f48eed93d78eef2f083dc0d

diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
index 7c67e35..d8f717b 100644
--- a/vcl/unx/kde4/KDEXLib.cxx
+++ b/vcl/unx/kde4/KDEXLib.cxx
@@ -329,20 +329,16 @@ void KDEXLib::Yield( bool bWait, bool bHandleAllCurrentEvents )
     }
 }
 
-void KDEXLib::processYield( bool bWait, bool bHandleAllCurrentEvents )
+// Qts processEvent always processes all pending events,
+// so we can ignore the second parameter 'bHandleAllCurrentEvents'.
+void KDEXLib::processYield( bool bWait, bool )
 {
-    QAbstractEventDispatcher* dispatcher = QAbstractEventDispatcher::instance( qApp->thread());
-    bool wasEvent = false;
-    for( int cnt = bHandleAllCurrentEvents ? 100 : 1;
-         cnt > 0;
-         --cnt )
-    {
-        if( !dispatcher->processEvents( QEventLoop::AllEvents ))
-            break;
-        wasEvent = true;
-    }
-    if( bWait && !wasEvent )
+    QAbstractEventDispatcher* dispatcher = QAbstractEventDispatcher::instance( qApp->thread() );
+
+    if ( bWait )
         dispatcher->processEvents( QEventLoop::WaitForMoreEvents );
+    else
+        dispatcher->processEvents( QEventLoop::AllEvents );
 }
 
 void KDEXLib::StartTimer( sal_uLong nMS )
commit 7d5523cf18c6854bd75bcc47bb77259bc048af8e
Author: Maxime de Roucy <mderoucy at linagora.com>
Date:   Tue Jan 7 09:31:11 2014 +0100

    API remove image : change document state #i74651#
    
    Now when an image is removed from a Calc document using the API it changes the
    modified state of the document.
    
    Change-Id: I5dad550ec78a12227f3fb04fd934c7d0c5066a9f

diff --git a/svx/source/unodraw/unopage.cxx b/svx/source/unodraw/unopage.cxx
index 3e03541..f521ebd 100644
--- a/svx/source/unodraw/unopage.cxx
+++ b/svx/source/unodraw/unopage.cxx
@@ -44,6 +44,9 @@
 #include <svx/lathe3d.hxx>
 #include <vcl/svapp.hxx>
 #include <tools/diagnose_ex.h>
+#include <svx/svdundo.hxx>
+#include "svx/svdglob.hxx"
+#include "svx/svdstr.hrc"
 
 using namespace ::cppu;
 using namespace ::com::sun::star;
@@ -247,22 +250,23 @@ void SAL_CALL SvxDrawPage::remove( const Reference< drawing::XShape >& xShape )
         SdrObject*  pObj = pShape->GetSdrObject();
         if(pObj)
         {
-            // SdrObject aus der Page loeschen
+            // remove SdrObject from page
             sal_uInt32 nCount = mpPage->GetObjCount();
             for( sal_uInt32 nNum = 0; nNum < nCount; nNum++ )
             {
                 if(mpPage->GetObj(nNum) == pObj)
                 {
+                    mpModel->BegUndo( ImpGetResStr( STR_EditDelete ) );
+                    SdrUndoAction *action = mpModel->GetSdrUndoFactory().CreateUndoRemoveObject( *pObj );
+                    mpModel->AddUndo(action);
+                    mpModel->EndUndo();
                     OSL_VERIFY( mpPage->RemoveObject( nNum ) == pObj );
-                    SdrObject::Free( pObj );
+                    pShape->InvalidateSdrObject();
                     break;
                 }
             }
         }
     }
-
-    if( mpModel )
-        mpModel->SetChanged();
 }
 
 // ::com::sun::star::container::XIndexAccess
commit 9dfa48405fff9fe03519804c962d0f73951deb64
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Feb 28 09:30:06 2014 +0100

    Missing @since tags, and adapt to semantics of posix_memalign
    
    Change-Id: I677d973fbcf118111b5fc93b09143c66b0afb0d9

diff --git a/include/rtl/alloc.h b/include/rtl/alloc.h
index 01a556b..6a80492 100644
--- a/include/rtl/alloc.h
+++ b/include/rtl/alloc.h
@@ -96,14 +96,20 @@ SAL_DLLPUBLIC void SAL_CALL rtl_freeZeroMemory (
 ) SAL_THROW_EXTERN_C();
 
 
-/** Allocate memory.
+/** Allocate aligned memory.
 
     A call to this function will return NULL upon the requested
     memory size being either zero or larger than currently allocatable.
 
-    @param Alignment alignment in bytes.
+    Memory obtained through this function must be freed with
+    rtl_freeAlignedMemory.
+
+    @param Alignment [in] alignment in bytes, must be a power of two multiple of
+        sizeof(void*).
     @param  Bytes [in] memory size.
     @return pointer to allocated memory.
+
+    @since LibreOffice 4.3
  */
 SAL_DLLPUBLIC void* SAL_CALL rtl_allocateAlignedMemory (
     sal_Size Alignment,
@@ -112,8 +118,11 @@ SAL_DLLPUBLIC void* SAL_CALL rtl_allocateAlignedMemory (
 
 
 /** Free memory allocated with rtl_allocateAlignedMemory.
+
     @param  Ptr   [in] pointer to previously allocated memory.
     @return none. Memory is released. Ptr is invalid.
+
+    @since LibreOffice 4.3
  */
 SAL_DLLPUBLIC void SAL_CALL rtl_freeAlignedMemory (
     void *   Ptr
diff --git a/sal/osl/unx/memory.c b/sal/osl/unx/memory.c
index 2b6c20f..ca241b1 100644
--- a/sal/osl/unx/memory.c
+++ b/sal/osl/unx/memory.c
@@ -19,9 +19,16 @@ void* osl_aligned_alloc( sal_Size align, sal_Size size )
 #ifdef __ANDROID__
     return memalign(align, size);
 #else
-    void* ptr;
-    int err = posix_memalign(&ptr, align, size);
-    return err ? NULL : ptr;
+    if (size == 0)
+    {
+        return NULL;
+    }
+    else
+    {
+        void* ptr;
+        int err = posix_memalign(&ptr, align, size);
+        return err ? NULL : ptr;
+    }
 #endif
 }
 
commit 757856e9275d19e2c7a3673d10fa8963fb9fbeb3
Author: Tor Lillqvist <tml at collabora.com>
Date:   Fri Feb 28 08:41:57 2014 +0200

    Android does not have posix_memalign()
    
    Change-Id: I4cd2f1e41b3bcab0d87a7b353d63c04b20aad492

diff --git a/sal/osl/unx/memory.c b/sal/osl/unx/memory.c
index a70bc16..2b6c20f 100644
--- a/sal/osl/unx/memory.c
+++ b/sal/osl/unx/memory.c
@@ -10,12 +10,19 @@
 #include <internal/oslmemory.h>
 
 #include <stdlib.h>
+#ifdef __ANDROID__
+#include <malloc.h>
+#endif
 
 void* osl_aligned_alloc( sal_Size align, sal_Size size )
 {
+#ifdef __ANDROID__
+    return memalign(align, size);
+#else
     void* ptr;
     int err = posix_memalign(&ptr, align, size);
     return err ? NULL : ptr;
+#endif
 }
 
 void osl_aligned_free( void* p )
commit 2dcc6a491a308b65172b509e895942d8b1b9c536
Author: Noel Grandin <noel at peralex.com>
Date:   Fri Feb 28 08:31:06 2014 +0200

    remove unused code BigInt::GetString()
    
    Change-Id: I0e1b1e07103b7aafd0b6691e0fcf0d2c8f612ac8

diff --git a/include/tools/bigint.hxx b/include/tools/bigint.hxx
index 3b8a982..6d52b60 100644
--- a/include/tools/bigint.hxx
+++ b/include/tools/bigint.hxx
@@ -80,7 +80,6 @@ public:
     operator        sal_uIntPtr() const;
 
     void            Set( bool bSet ) { bIsSet = bSet ? sal_True : sal_False; }
-    OUString        GetString() const;
 
     bool        IsSet() const { return (bool)bIsSet; }
     bool        IsNeg() const;
diff --git a/tools/source/generic/bigint.cxx b/tools/source/generic/bigint.cxx
index 6576cfb..61e404c 100644
--- a/tools/source/generic/bigint.cxx
+++ b/tools/source/generic/bigint.cxx
@@ -607,49 +607,6 @@ BigInt::operator double() const
     }
 }
 
-OUString BigInt::GetString() const
-{
-
-    if ( !bIsBig )
-    {
-        return OUString::number( nVal );
-    }
-    else
-    {
-        BigInt aTmp( *this );
-        BigInt a1000000000( 1000000000L );
-        aTmp.Abs();
-        OUStringBuffer sBuff(30);
-        do
-        {
-            BigInt a = aTmp;
-            a    %= a1000000000;
-            aTmp /= a1000000000;
-            if ( a.nVal < 100000000L )
-            {
-                // to get leading 0s
-                OUString aStr(OUString::number( a.nVal + 1000000000L ));
-                sBuff.insert(0, aStr.getStr() + 1);
-            }
-            else
-            {
-                sBuff.insert(0, OUString::number( a.nVal ));
-            }
-        }
-        while( aTmp.bIsBig );
-
-        if ( bIsNeg )
-        {
-            sBuff.insert(0, OUString::number( -aTmp.nVal ));
-        }
-        else
-        {
-            sBuff.insert(0, OUString::number( aTmp.nVal ));
-        }
-        return sBuff.makeStringAndClear();
-    }
-}
-
 BigInt& BigInt::operator=( const BigInt& rBigInt )
 {
     if ( rBigInt.bIsBig )
diff --git a/unusedcode.easy b/unusedcode.easy
index b25c716..86cb448 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -1,6 +1,5 @@
 AddressWalker::pop()
 BigInt::BigInt(unsigned int)
-BigInt::GetString() const
 CalcUnoApiTest::CalcUnoApiTest(rtl::OUString const&)
 Chart2ExportTest::testFdo74115WallGradientFill()
 ComboBox::GetMRUCount() const
commit f6d97d00cd0c8d710bce614f7e557db2bc6d2f77
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Feb 27 16:30:49 2014 +0200

    remove unused code in basic/CodeCompleteDataCache
    
    Specifically:
      CodeCompleteDataCache::GetVars() const
      CodeCompleteDataCache::SetVars(boost::unordered_map const&)
      CodeCompleteDataCache::print() const
    
    Change-Id: I59fb6f50ff47747c3cac959302bf6b7c4f4d79d3

diff --git a/basic/source/classes/codecompletecache.cxx b/basic/source/classes/codecompletecache.cxx
index aad0e4f..4c97310 100644
--- a/basic/source/classes/codecompletecache.cxx
+++ b/basic/source/classes/codecompletecache.cxx
@@ -118,21 +118,6 @@ std::ostream& operator<< (std::ostream& aStream, const CodeCompleteDataCache& aC
     return aStream;
 }
 
-const CodeCompleteVarScopes& CodeCompleteDataCache::GetVars() const
-{
-    return aVarScopes;
-}
-
-void CodeCompleteDataCache::SetVars( const CodeCompleteVarScopes& aScopes )
-{
-    aVarScopes = aScopes;
-}
-
-void CodeCompleteDataCache::print() const
-{
-    std::cerr << *this << std::endl;
-}
-
 void CodeCompleteDataCache::Clear()
 {
     aVarScopes.clear();
diff --git a/include/basic/codecompletecache.hxx b/include/basic/codecompletecache.hxx
index f33914a..3721b96 100644
--- a/include/basic/codecompletecache.hxx
+++ b/include/basic/codecompletecache.hxx
@@ -87,14 +87,10 @@ public:
 
     friend BASIC_DLLPUBLIC std::ostream& operator<< (std::ostream& aStream, const CodeCompleteDataCache& aCache);
 
-    void SetVars( const CodeCompleteVarScopes& aScopes );
-    const CodeCompleteVarScopes& GetVars() const;
-
     void InsertGlobalVar( const OUString& sVarName, const OUString& sVarType );
     void InsertLocalVar( const OUString& sProcName, const OUString& sVarName, const OUString& sVarType );
     OUString GetVarType( const OUString& sVarName ) const;
     OUString GetCorrectCaseVarName( const OUString& sVarName, const OUString& sActProcName ) const;
-    void print() const; // wrapper for operator<<, prints to std::cerr
     void Clear();
 };
 
diff --git a/unusedcode.easy b/unusedcode.easy
index 934e94f..b25c716 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -3,9 +3,6 @@ BigInt::BigInt(unsigned int)
 BigInt::GetString() const
 CalcUnoApiTest::CalcUnoApiTest(rtl::OUString const&)
 Chart2ExportTest::testFdo74115WallGradientFill()
-CodeCompleteDataCache::GetVars() const
-CodeCompleteDataCache::SetVars(boost::unordered::unordered_map<rtl::OUString, boost::unordered::unordered_map<rtl::OUString, rtl::OUString, rtl::OUStringHash, std::equal_to<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString> > >, rtl::OUStringHash, std::equal_to<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, boost::unordered::unordered_map<rtl::OUString, rtl::OUString, rtl::OUStringHash, std::equal_to<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString> > > > > > const&)
-CodeCompleteDataCache::print() const
 ComboBox::GetMRUCount() const
 ConfigurationAccess::getPath(rtl::OUString const&)
 DocxSdrExport::getFlyFrameGraphic()
commit 1069d025869d28077e0194ab90933b180b6d3b88
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Feb 27 16:12:32 2014 +0200

    remove unused code EditTextObjectImpl::SetParaAttribs(int, SfxItemSet const&)
    
    Change-Id: I7a021c6e33161b09707d3bbdfbf4b3eb2d941f45

diff --git a/editeng/source/editeng/editobj.cxx b/editeng/source/editeng/editobj.cxx
index 5ee30f1..b14771c 100644
--- a/editeng/source/editeng/editobj.cxx
+++ b/editeng/source/editeng/editobj.cxx
@@ -852,16 +852,6 @@ const SfxItemSet& EditTextObjectImpl::GetParaAttribs(sal_Int32 nPara) const
     return rC.GetParaAttribs();
 }
 
-void EditTextObjectImpl::SetParaAttribs(sal_Int32 nPara, const SfxItemSet& rAttribs)
-{
-    if (nPara < 0 || static_cast<size_t>(nPara) >= aContents.size())
-        return;
-
-    ContentInfo& rC = aContents[nPara];
-    rC.GetParaAttribs().Set(rAttribs);
-    ClearPortionInfo();
-}
-
 bool EditTextObjectImpl::RemoveCharAttribs( sal_uInt16 _nWhich )
 {
     bool bChanged = false;
diff --git a/editeng/source/editeng/editobj2.hxx b/editeng/source/editeng/editobj2.hxx
index 1aa5e23..c5ec2e6 100644
--- a/editeng/source/editeng/editobj2.hxx
+++ b/editeng/source/editeng/editobj2.hxx
@@ -248,7 +248,6 @@ public:
     bool HasField( sal_Int32 nType = com::sun::star::text::textfield::Type::UNSPECIFIED ) const;
 
     const SfxItemSet& GetParaAttribs(sal_Int32 nPara) const;
-    void SetParaAttribs(sal_Int32 nPara, const SfxItemSet& rAttribs);
 
     void GetStyleSheet(sal_Int32 nPara, OUString& rName, SfxStyleFamily& eFamily) const;
     void SetStyleSheet(sal_Int32 nPara, const OUString& rName, const SfxStyleFamily& eFamily);
diff --git a/unusedcode.easy b/unusedcode.easy
index 8b4a18f..934e94f 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -13,7 +13,6 @@ DocxSdrExport::setFlyFrameGraphic(bool)
 DocxSdrExport::setFrameBtLr(bool)
 EditEngine::IsIdleFormatterActive() const
 EditSelection::IsInvalid() const
-EditTextObjectImpl::SetParaAttribs(int, SfxItemSet const&)
 FileStream::FileStream()
 FileStream::close()
 FileStream::createTempFile(rtl::OString const&)
commit 77ec79022fc8312ceed8b324731a4eda231c7e0c
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Feb 27 16:08:55 2014 +0200

    constructor only used on WNT in FontSelectPatternAttributes
    
    Change-Id: Iffbd9702f5a81e4bfe3baa3952824f4c6ba3bca3

diff --git a/unusedcode.easy b/unusedcode.easy
index 84213af..8b4a18f 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -18,7 +18,6 @@ FileStream::FileStream()
 FileStream::close()
 FileStream::createTempFile(rtl::OString const&)
 FileStream::write(void const*, unsigned long)
-FontSelectPatternAttributes::FontSelectPatternAttributes(PhysicalFontFace const&, Size const&, float, int, bool)
 GDriveDocument::GDriveDocument(GDriveSession*)
 GDriveFolder::GDriveFolder(GDriveSession*)
 GDriveProperty::GDriveProperty()
diff --git a/vcl/inc/outfont.hxx b/vcl/inc/outfont.hxx
index 59d8bc7..77a3520 100644
--- a/vcl/inc/outfont.hxx
+++ b/vcl/inc/outfont.hxx
@@ -160,8 +160,10 @@ class FontSelectPatternAttributes : public ImplFontAttributes
 public:
                         FontSelectPatternAttributes( const Font&, const OUString& rSearchName,
                             const Size&, float fExactHeight );
+#ifdef WNT
                         FontSelectPatternAttributes( const PhysicalFontFace&, const Size&,
                             float fExactHeight, int nOrientation, bool bVertical );
+#endif
 
     size_t              hashCode() const;
     bool operator==(const FontSelectPatternAttributes& rOther) const;
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
index de72610..c9ded12 100644
--- a/vcl/source/gdi/outdev3.cxx
+++ b/vcl/source/gdi/outdev3.cxx
@@ -2060,6 +2060,7 @@ FontSelectPattern::FontSelectPattern( const Font& rFont,
 }
 
 // NOTE: this ctor is still used on Windows. Do not remove.
+#ifdef WNT
 FontSelectPatternAttributes::FontSelectPatternAttributes( const PhysicalFontFace& rFontData,
     const Size& rSize, float fExactHeight, int nOrientation, bool bVertical )
     : ImplFontAttributes( rFontData )
@@ -2076,7 +2077,6 @@ FontSelectPatternAttributes::FontSelectPatternAttributes( const PhysicalFontFace
     // NOTE: no normalization for width/height/orientation
 }
 
-#ifdef WNT
 FontSelectPattern::FontSelectPattern( const PhysicalFontFace& rFontData,
     const Size& rSize, float fExactHeight, int nOrientation, bool bVertical )
     : FontSelectPatternAttributes(rFontData, rSize, fExactHeight, nOrientation, bVertical)
commit 64977e5c2bc6f869cacfe589f9155396847d935c
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Feb 27 16:04:27 2014 +0200

    remove unused code FontSizeBox::GetValue(unsigned short, FieldUnit)
    
    Change-Id: I63df5364d69bf60e7a5ee2b5854b41ce27f10894

diff --git a/include/svtools/ctrlbox.hxx b/include/svtools/ctrlbox.hxx
index f4752a9..6571ddd 100644
--- a/include/svtools/ctrlbox.hxx
+++ b/include/svtools/ctrlbox.hxx
@@ -524,7 +524,6 @@ public:
     virtual void    SetValue( sal_Int64 nNewValue  );
     virtual sal_Int64   GetValue( FieldUnit eOutUnit ) const;
     virtual sal_Int64   GetValue() const;
-    sal_Int64           GetValue( sal_uInt16 nPos, FieldUnit eOutUnit ) const;
 
 private:
     // declared as private because some compilers would generate the default functions
diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx
index 8860c67..ea1cdee 100644
--- a/svtools/source/control/ctrlbox.cxx
+++ b/svtools/source/control/ctrlbox.cxx
@@ -1974,25 +1974,6 @@ void FontSizeBox::SetValue( sal_Int64 nNewValue )
 
 
 
-sal_Int64 FontSizeBox::GetValue( sal_uInt16 nPos, FieldUnit eOutUnit ) const
-{
-    if ( !bRelative )
-    {
-        sal_Int64 nComboVal = static_cast<sal_Int64>(reinterpret_cast<sal_IntPtr>(ComboBox::GetEntryData( nPos )));
-        if ( nComboVal < 0 )     // marked as special?
-        {
-            return MetricField::ConvertValue( -nComboVal, mnBaseValue, GetDecimalDigits(),
-                                              meUnit, eOutUnit );
-        }
-    }
-
-    // do normal font size processing
-    sal_Int64 nRetValue = MetricBox::GetValue( nPos, eOutUnit );
-    return nRetValue;
-}
-
-
-
 sal_Int64 FontSizeBox::GetValue( FieldUnit eOutUnit ) const
 {
     if ( !bRelative )
diff --git a/unusedcode.easy b/unusedcode.easy
index 4e9b238..84213af 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -19,7 +19,6 @@ FileStream::close()
 FileStream::createTempFile(rtl::OString const&)
 FileStream::write(void const*, unsigned long)
 FontSelectPatternAttributes::FontSelectPatternAttributes(PhysicalFontFace const&, Size const&, float, int, bool)
-FontSizeBox::GetValue(unsigned short, FieldUnit) const
 GDriveDocument::GDriveDocument(GDriveSession*)
 GDriveFolder::GDriveFolder(GDriveSession*)
 GDriveProperty::GDriveProperty()
commit 98881b0a5574391dd98ff68d8b7453df1e3ca930
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Feb 27 15:45:15 2014 +0200

    remove unused code in vcl/ImplRegionBand
    
    ImplRegionBand::IsInside(long, long)
    ImplRegionBand::IsOver(long, long)
    
    Change-Id: I607c589d62a0c9178a32df5cf48fcbe279878030

diff --git a/unusedcode.easy b/unusedcode.easy
index c4da897..4e9b238 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -24,8 +24,6 @@ GDriveDocument::GDriveDocument(GDriveSession*)
 GDriveFolder::GDriveFolder(GDriveSession*)
 GDriveProperty::GDriveProperty()
 GDriveSession::GDriveSession()
-ImplRegionBand::IsInside(long, long)
-ImplRegionBand::IsOver(long, long)
 Json::Json(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Json, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Json> > > const&)
 Json::Json(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<libcmis::Property>, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::shared_ptr<libcmis::Property> > > > const&)
 Json::swap(Json&)
diff --git a/vcl/inc/regband.hxx b/vcl/inc/regband.hxx
index 5e8f5bd..0ef560e9 100644
--- a/vcl/inc/regband.hxx
+++ b/vcl/inc/regband.hxx
@@ -33,9 +33,6 @@ separation after creation.
 The separations are modified with basic clipping functions like Union and
 Intersection - the Class will process the clipping for the actual band.
 
-The actual separations may be checked by functions like IsInside or
-IsOver.
-
 */
 
 // element for the list with x-separations
@@ -113,8 +110,6 @@ public:
     void                        ScaleX( double fHorzScale );
 
     bool                        IsInside( long nX );
-    bool                        IsInside( long nLeft, long nRight );
-    bool                        IsOver( long nLeft, long nRight );
 
 
     bool                        IsEmpty() const { return ((!mpFirstSep) && (!mpFirstBandPoint)); }
diff --git a/vcl/source/gdi/regband.cxx b/vcl/source/gdi/regband.cxx
index 59d9c91..1184c0d 100644
--- a/vcl/source/gdi/regband.cxx
+++ b/vcl/source/gdi/regband.cxx
@@ -849,38 +849,6 @@ bool ImplRegionBand::IsInside( long nX )
 
 
 
-bool ImplRegionBand::IsOver( long nLeft, long nRight )
-{
-    ImplRegionBandSep* pSep = mpFirstSep;
-    while ( pSep )
-    {
-        if ( (pSep->mnXLeft < nRight) && (pSep->mnXRight > nLeft) )
-            return true;
-
-        pSep = pSep->mpNextSep;
-    }
-
-    return false;
-}
-
-
-
-bool ImplRegionBand::IsInside( long nLeft, long nRight )
-{
-    ImplRegionBandSep* pSep = mpFirstSep;
-    while ( pSep )
-    {
-        if ( (pSep->mnXLeft >= nLeft) && (nRight <= pSep->mnXRight) )
-            return true;
-
-        pSep = pSep->mpNextSep;
-    }
-
-    return false;
-}
-
-
-
 long ImplRegionBand::GetXLeftBoundary() const
 {
     DBG_ASSERT( mpFirstSep != NULL, "ImplRegionBand::XLeftBoundary -> no separation in band!" );
commit e1b49cd30e3a245c236ad512622eeb0685c9d2be
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Feb 27 15:38:41 2014 +0200

    remove unused code ImportExcel::GetLastFormula(short)
    
    Change-Id: I0f2f4f1ea4c051e6a59f486effe756754005ceec

diff --git a/sc/source/filter/excel/impop.cxx b/sc/source/filter/excel/impop.cxx
index c207933..84cac05 100644
--- a/sc/source/filter/excel/impop.cxx
+++ b/sc/source/filter/excel/impop.cxx
@@ -186,12 +186,6 @@ void ImportExcel::SetLastFormula( SCCOL nCol, SCROW nRow, double fVal, sal_uInt1
     mpLastFormula = &it->second;
 }
 
-ImportExcel::LastFormula* ImportExcel::GetLastFormula( SCCOL nCol )
-{
-    LastFormulaMapType::iterator it = maLastFormulaCells.find(nCol);
-    return it == maLastFormulaCells.end() ? NULL : &it->second;
-}
-
 void ImportExcel::ReadFileSharing()
 {
     sal_uInt16 nRecommendReadOnly, nPasswordHash;
diff --git a/sc/source/filter/inc/imp_op.hxx b/sc/source/filter/inc/imp_op.hxx
index d5290c3..e42cb71 100644
--- a/sc/source/filter/inc/imp_op.hxx
+++ b/sc/source/filter/inc/imp_op.hxx
@@ -127,7 +127,6 @@ protected:
     bool mbBiff2HasXfsValid:1; /// False = mbBiff2HasXfs is undetermined yet.
 
     void SetLastFormula( SCCOL nCol, SCROW nRow, double fVal, sal_uInt16 nXF, ScFormulaCell* pCell );
-    LastFormula* GetLastFormula( SCCOL nCol );
 
     // Record-Funktionen
     void                    ReadFileSharing();
diff --git a/unusedcode.easy b/unusedcode.easy
index 3095aae..c4da897 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -26,7 +26,6 @@ GDriveProperty::GDriveProperty()
 GDriveSession::GDriveSession()
 ImplRegionBand::IsInside(long, long)
 ImplRegionBand::IsOver(long, long)
-ImportExcel::GetLastFormula(short)
 Json::Json(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Json, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Json> > > const&)
 Json::Json(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<libcmis::Property>, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::shared_ptr<libcmis::Property> > > > const&)
 Json::swap(Json&)
commit a4dd8a2106215a2ece33d1b82e8725d68ae2630b
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Feb 27 14:57:24 2014 +0200

    remove unused code from i18nlangtag/LanguageTag
    
    Specifically:
      LanguageTag::LanguageTag()
      LanguageTag::getRegion() const
      LanguageTag::reset(_rtl_Locale const&)
    
    Change-Id: I8822db6e1df7cd912e9ae82cb9d9f51370d4c583

diff --git a/i18nlangtag/source/languagetag/languagetag.cxx b/i18nlangtag/source/languagetag/languagetag.cxx
index 721bb31..6541c90 100644
--- a/i18nlangtag/source/languagetag/languagetag.cxx
+++ b/i18nlangtag/source/languagetag/languagetag.cxx
@@ -507,18 +507,6 @@ LanguageTag::LanguageTag( LanguageType nLanguage )
 }
 
 
-LanguageTag::LanguageTag()
-    :
-        mnLangID( LANGUAGE_DONTKNOW),
-        mbSystemLocale( false),
-        mbInitializedBcp47( false),
-        mbInitializedLocale( false),
-        mbInitializedLangID( true),
-        mbIsFallback( false)
-{
-}
-
-
 LanguageTag::LanguageTag( const OUString& rBcp47, const OUString& rLanguage,
                           const OUString& rScript, const OUString& rCountry )
     :
@@ -1067,14 +1055,6 @@ LanguageTag & LanguageTag::reset( LanguageType nLanguage )
 }
 
 
-LanguageTag & LanguageTag::reset( const rtl_Locale & rLocale )
-{
-    reset( lang::Locale( rLocale.Language, rLocale.Country, rLocale.Variant));
-    convertFromRtlLocale();
-    return *this;
-}
-
-
 bool LanguageTagImpl::canonicalize()
 {
 #ifdef erDEBUG
@@ -1889,14 +1869,6 @@ OUString LanguageTagImpl::getRegion() const
 }
 
 
-OUString LanguageTag::getRegion() const
-{
-    OUString aRet( getImpl()->getRegion());
-    const_cast<LanguageTag*>(this)->syncFromImpl();
-    return aRet;
-}
-
-
 OUString LanguageTagImpl::getVariants() const
 {
     if (!mbCachedVariants)
diff --git a/include/i18nlangtag/languagetag.hxx b/include/i18nlangtag/languagetag.hxx
index d646127..dcb95c6 100644
--- a/include/i18nlangtag/languagetag.hxx
+++ b/include/i18nlangtag/languagetag.hxx
@@ -76,12 +76,6 @@ public:
     /** Init LanguageTag with LanguageType MS-LangID. */
     explicit LanguageTag( LanguageType nLanguage );
 
-    /** Default ctor, init LanguageTag with LanguageType LANGUAGE_DONTKNOW.
-
-        To be able to use LanguageTag in maps etc., avoid otherwise.
-     */
-    explicit LanguageTag();
-
     /** Init LanguageTag with either BCP 47 language tag (precedence if not
         empty), or a combination of language, script and country.
 
@@ -181,13 +175,6 @@ public:
      */
     OUString                        getCountry() const;
 
-    /** Get BCP 47 region tag, which may be an ISO 3166 country alpha code or
-        any other BCP 47 region tag.
-
-        Always resolves an empty tag to the system locale.
-     */
-    OUString                        getRegion() const;
-
     /** Get BCP 47 variant subtags, of the IANA Language Subtag Registry.
 
         If there are multiple variant subtags they are separated by '-'.
@@ -258,9 +245,6 @@ public:
     /** Reset with LanguageType MS-LangID. */
     LanguageTag &                   reset( LanguageType nLanguage );
 
-    /** Reset with rtl_Locale. */
-    LanguageTag &                   reset( const rtl_Locale & rLocale );
-
 
     /** Fall back to a known locale.
 
diff --git a/unusedcode.easy b/unusedcode.easy
index a97ed09..3095aae 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -30,9 +30,6 @@ ImportExcel::GetLastFormula(short)
 Json::Json(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Json, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Json> > > const&)
 Json::Json(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<libcmis::Property>, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::shared_ptr<libcmis::Property> > > > const&)
 Json::swap(Json&)
-LanguageTag::LanguageTag()
-LanguageTag::getRegion() const
-LanguageTag::reset(_rtl_Locale const&)
 ListBox::GetMRUCount() const
 MenuBar::AddMenuBarButton(Image const&, Link const&, rtl::OUString const&, unsigned short)
 MenuBar::GetMenuBarButtonRectPixel(unsigned short)
commit 3543d2d20b9b4c2de69f4352b695bcf6e49e5fb9
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Feb 27 13:27:29 2014 +0200

    fix name of method in vcl/Menu, SetHightlightItem to SetHighlightItem
    
    Change-Id: I89a61aeffeebc69e06da6c1130436fb25528f1c7

diff --git a/include/vcl/menu.hxx b/include/vcl/menu.hxx
index 0cd9752..96cf410 100644
--- a/include/vcl/menu.hxx
+++ b/include/vcl/menu.hxx
@@ -236,7 +236,7 @@ public:
     sal_uInt16          GetCurItemId() const;
     OString             GetCurItemIdent() const;
 
-    void                SetHightlightItem(sal_uInt16 nHighlightedItem);
+    void                SetHighlightItem(sal_uInt16 nHighlightedItem);
 
     void                SetDefaultItem( sal_uInt16 nItemId )    { nDefaultItem = nItemId; }
     sal_uInt16          GetDefaultItem() const              { return nDefaultItem; }
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index 49cc2b5..e2f71b6 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -1574,7 +1574,7 @@ MenuItemType Menu::GetItemType( sal_uInt16 nPos ) const
         return MENUITEM_DONTKNOW;
 }
 
-void Menu::SetHightlightItem( sal_uInt16 nItem )
+void Menu::SetHighlightItem( sal_uInt16 nItem )
 {
     nHighlightedItem = nItem;
 }
@@ -3985,7 +3985,7 @@ void MenuFloatingWindow::doShutdown()
         // otherwise the entry will not be read when the menu is opened again
         if( nHighlightedItem != ITEMPOS_INVALID )
             pMenu->ImplCallEventListeners( VCLEVENT_MENU_DEHIGHLIGHT, nHighlightedItem );
-        pMenu->SetHightlightItem(ITEMPOS_INVALID);
+        pMenu->SetHighlightItem(ITEMPOS_INVALID);
         if( !bKeyInput && pMenu && pMenu->pStartedFrom && !pMenu->pStartedFrom->bIsMenuBar )
         {
             // #102461# remove highlight in parent
@@ -4638,7 +4638,7 @@ void MenuFloatingWindow::ChangeHighlightItem( sal_uInt16 n, bool bStartPopupTime
             }
         }
         HighlightItem( nHighlightedItem, true );
-        pMenu->SetHightlightItem(nHighlightedItem);
+        pMenu->SetHighlightItem(nHighlightedItem);
         pMenu->ImplCallHighlight( nHighlightedItem );
     }
     else
@@ -5544,7 +5544,7 @@ void MenuBarWindow::ChangeHighlightItem( sal_uInt16 n, bool bSelectEntry, bool b
         HighlightItem( nHighlightedItem, true );
     else if ( nRolloveredItem != ITEMPOS_INVALID )
         HighlightItem( nRolloveredItem, true );
-    pMenu->SetHightlightItem(nHighlightedItem);
+    pMenu->SetHighlightItem(nHighlightedItem);
     pMenu->ImplCallHighlight(nHighlightedItem);
 
     if( mbAutoPopup )
commit b26047be9fdd23efb9712e7c6aeeec22c26ed4dc
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Feb 27 13:26:25 2014 +0200

    remove unused code Menu::GetHighlightItem()
    
    Change-Id: I9b538bacbb98705b0345c3f6dc38fb554ce25bcf

diff --git a/include/vcl/menu.hxx b/include/vcl/menu.hxx
index ebb28a3..0cd9752 100644
--- a/include/vcl/menu.hxx
+++ b/include/vcl/menu.hxx
@@ -237,16 +237,15 @@ public:
     OString             GetCurItemIdent() const;
 
     void                SetHightlightItem(sal_uInt16 nHighlightedItem);
-    sal_uInt16          GetHighlightItem() const;
 
     void                SetDefaultItem( sal_uInt16 nItemId )    { nDefaultItem = nItemId; }
-    sal_uInt16              GetDefaultItem() const              { return nDefaultItem; }
+    sal_uInt16          GetDefaultItem() const              { return nDefaultItem; }
 
     void                SetItemBits( sal_uInt16 nItemId, MenuItemBits nBits );
     MenuItemBits        GetItemBits( sal_uInt16 nItemId ) const;
 
     void                SetUserValue( sal_uInt16 nItemId, sal_uLong nValue );
-    sal_uLong               GetUserValue( sal_uInt16 nItemId ) const;
+    sal_uLong           GetUserValue( sal_uInt16 nItemId ) const;
 
     void                SetPopupMenu( sal_uInt16 nItemId, PopupMenu* pMenu );
     PopupMenu*          GetPopupMenu( sal_uInt16 nItemId ) const;
diff --git a/unusedcode.easy b/unusedcode.easy
index 83821f1..a97ed09 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -34,7 +34,6 @@ LanguageTag::LanguageTag()
 LanguageTag::getRegion() const
 LanguageTag::reset(_rtl_Locale const&)
 ListBox::GetMRUCount() const
-Menu::GetHighlightItem() const
 MenuBar::AddMenuBarButton(Image const&, Link const&, rtl::OUString const&, unsigned short)
 MenuBar::GetMenuBarButtonRectPixel(unsigned short)
 MenuBar::RemoveMenuBarButton(unsigned short)
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index 0494619..49cc2b5 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -1579,11 +1579,6 @@ void Menu::SetHightlightItem( sal_uInt16 nItem )
     nHighlightedItem = nItem;
 }
 
-sal_uInt16 Menu::GetHighlightItem() const
-{
-    return nHighlightedItem;
-}
-
 sal_uInt16 Menu::GetCurItemId() const
 {
     return nSelectedId;
commit 09e5de8278dd8f13adcf614db35c8a8a04ba8e47
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Feb 27 13:12:56 2014 +0200

    remove unused code in i18npool/OFileWriter
    
    Specifically:
      OFileWriter::flush()
      OFileWriter::writeDefaultParameter(char const*,
                        rtl::OUString const&)
      OFileWriter::writeParameter(char const*, char const*,
                        rtl::OUString const&)
    
    Change-Id: Ie359be257b3c7493e31fcf4201818c29c9c3df53

diff --git a/i18npool/source/localedata/LocaleNode.hxx b/i18npool/source/localedata/LocaleNode.hxx
index 27b4586..59940db 100644
--- a/i18npool/source/localedata/LocaleNode.hxx
+++ b/i18npool/source/localedata/LocaleNode.hxx
@@ -57,14 +57,11 @@ public:
     void  writeRefFunction3(const char *func, const OUString& useLocale) const;
     void  writeIntParameter(const sal_Char* pAsciiStr, const sal_Int16 count, sal_Int16 val) const;
     bool  writeDefaultParameter(const sal_Char* pAsciiStr, const OUString& str, sal_Int16 count) const;
-    bool  writeDefaultParameter(const sal_Char* pAsciiStr, const OUString& str) const;
     void  writeParameter(const sal_Char* pAsciiStr, const OUString& aChars) const;
     void  writeParameter(const sal_Char* pAsciiStr, const OUString& aChars, sal_Int16 count) const;
     void  writeParameter(const sal_Char* pAsciiStr, const OUString& aChars, sal_Int16 count0, sal_Int16 count1) const;
     void  writeParameter(const sal_Char* pTagStr, const sal_Char* pAsciiStr, const OUString& aChars, const sal_Int16 count) const;
-    void  writeParameter(const sal_Char* pTagStr, const sal_Char* pAsciiStr, const OUString& aChars) const;
     void  writeParameter(const sal_Char* pTagStr, const sal_Char* pAsciiStr, const OUString& aChars, sal_Int16 count0, sal_Int16 count1) const;
-    void  flush(void) const ;
     void  closeOutput(void) const;
     /// Return the locale string, something like en_US or de_DE
     const char * getLocale() const { return theLocale; }
diff --git a/i18npool/source/localedata/filewriter.cxx b/i18npool/source/localedata/filewriter.cxx
index 53be916..0a83b42 100644
--- a/i18npool/source/localedata/filewriter.cxx
+++ b/i18npool/source/localedata/filewriter.cxx
@@ -138,13 +138,6 @@ bool OFileWriter::writeDefaultParameter(const sal_Char* pAsciiStr, const OUStrin
     return bBool;
 }
 
-bool OFileWriter::writeDefaultParameter(const sal_Char* pAsciiStr, const OUString& str) const
-{
-    bool bBool = (str == "true" ? 1 : 0);
-    fprintf(m_f,"static const sal_Unicode default%s[] = {%d};\n", pAsciiStr, bBool);
-    return bBool;
-}
-
 void OFileWriter::writeParameter(const sal_Char* pAsciiStr, const OUString& aChars) const
 {
     fprintf(m_f, "static const sal_Unicode %s[] = {", pAsciiStr);
@@ -173,13 +166,6 @@ void OFileWriter::writeParameter(const sal_Char* pTagStr, const sal_Char* pAscii
     fprintf(m_f, "0x0};\n");
 }
 
-void OFileWriter::writeParameter(const sal_Char* pTagStr, const sal_Char* pAsciiStr, const OUString& aChars) const
-{
-    fprintf(m_f, "static const sal_Unicode %s%s[] = {", pTagStr, pAsciiStr);
-    writeStringCharacters(aChars);
-    fprintf(m_f, "0x0};\n");
-}
-
 void OFileWriter::writeParameter(const sal_Char* pTagStr, const sal_Char* pAsciiStr, const OUString& aChars, sal_Int16 count0, sal_Int16 count1) const
 {

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list