compilerplugins/clang/badstatics.cxx                        |    3 
 compilerplugins/clang/unusedenumconstants.writeonly.results |    2 
 include/sfx2/sfxsids.hrc                                    |    1 
 include/vcl/svapp.hxx                                       |   42 -
 sfx2/Library_sfx.mk                                         |    1 
 sfx2/sdi/appslots.sdi                                       |    5 
 sfx2/sdi/sfx.sdi                                            |   19 
 sfx2/source/appl/app.cxx                                    |    3 
 sfx2/source/appl/appdata.cxx                                |    2 
 sfx2/source/appl/appserv.cxx                                |   26 
 sfx2/source/appl/imestatuswindow.cxx                        |  229 ------
 sfx2/source/appl/imestatuswindow.hxx                        |  119 ---
 sfx2/source/inc/appdata.hxx                                 |    3 
 solenv/clang-format/blacklist                               |    5 
 vcl/Library_vclplug_gen.mk                                  |    1 
 vcl/inc/pch/precompiled_vcl.hxx                             |    1 
 vcl/inc/salimestatus.hxx                                    |   39 -
 vcl/inc/salinst.hxx                                         |    4 
 vcl/inc/svdata.hxx                                          |   15 
 vcl/inc/unx/gtk/gtkinst.hxx                                 |    3 
 vcl/inc/unx/i18n_ic.hxx                                     |    4 
 vcl/inc/unx/i18n_status.hxx                                 |   89 --
 vcl/inc/unx/salinst.h                                       |    1 
 vcl/osx/salinst.cxx                                         |    1 
 vcl/source/app/salvtables.cxx                               |   10 
 vcl/source/app/svapp.cxx                                    |   29 
 vcl/source/app/svdata.cxx                                   |    1 
 vcl/source/app/svmain.cxx                                   |    4 
 vcl/unx/generic/app/i18n_cb.cxx                             |    2 
 vcl/unx/generic/app/i18n_ic.cxx                             |   23 
 vcl/unx/generic/app/i18n_im.cxx                             |    2 
 vcl/unx/generic/app/i18n_status.cxx                         |  439 ------------
 vcl/unx/generic/window/salframe.cxx                         |   52 -
 vcl/unx/gtk/gtkinst.cxx                                     |   11 
 vcl/win/app/salinst.cxx                                     |    1 
 35 files changed, 13 insertions(+), 1179 deletions(-)

New commits:
commit 5bfa8b8d5e1cf3cb572dbd91bf3b0cfcf29fb65a
Author:     Szabolcs Toth <szabolcs...@gmail.com>
AuthorDate: Mon Aug 12 10:58:40 2019 +0200
Commit:     László Németh <nem...@numbertext.org>
CommitDate: Wed Sep 4 09:12:32 2019 +0200

    tdf#118314 Code clean up on imestatuswindow
    
    Change-Id: I8bc5a73a91f28fcfd22ef716e9cf87d53997b1ad
    Reviewed-on: https://gerrit.libreoffice.org/77337
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>
    Reviewed-by: László Németh <nem...@numbertext.org>

diff --git a/compilerplugins/clang/badstatics.cxx 
b/compilerplugins/clang/badstatics.cxx
index 1c099a14236a..5f1edea78476 100644
--- a/compilerplugins/clang/badstatics.cxx
+++ b/compilerplugins/clang/badstatics.cxx
@@ -159,8 +159,7 @@ public:
             && pVarDecl->isThisDeclarationADefinition())
         {
             auto const name(pVarDecl->getName());
-            if (   name == "g_pI18NStatusInstance" // I18NStatus::free()
-                || name == "s_pPreviousView" // not an owning pointer
+            if (   name == "s_pPreviousView" // not an owning pointer
                 || name == "s_pDefCollapsed" // SvImpLBox::~SvImpLBox()
                 || name == "s_pDefExpanded"  // SvImpLBox::~SvImpLBox()
                 || name == "g_pDDSource" // SvTreeListBox::dispose()
diff --git a/compilerplugins/clang/unusedenumconstants.writeonly.results 
b/compilerplugins/clang/unusedenumconstants.writeonly.results
index e1a9019589bc..38d6a1783e53 100644
--- a/compilerplugins/clang/unusedenumconstants.writeonly.results
+++ b/compilerplugins/clang/unusedenumconstants.writeonly.results
@@ -10414,8 +10414,6 @@ vcl/inc/salframe.hxx:72
     enum SalFrameStyleFlags NOSHADOW
 vcl/inc/salptype.hxx:32
     enum JobSetFlags ALL
-vcl/inc/svdata.hxx:134
-    enum ImplSVAppData::ImeStatusWindowMode ImeStatusWindowMode_UNKNOWN
 vcl/inc/unx/desktops.hxx:29
     enum DesktopType DESKTOP_UNKNOWN
 vcl/inc/unx/i18n_cb.hxx:67
diff --git a/include/sfx2/sfxsids.hrc b/include/sfx2/sfxsids.hrc
index 1dcc40fc8ee4..80c92e1cdc2a 100644
--- a/include/sfx2/sfxsids.hrc
+++ b/include/sfx2/sfxsids.hrc
@@ -211,7 +211,6 @@ class SvxSearchItem;
 #define SID_INTERACTIONHANDLER              (SID_SFX_START + 1675)
 #define SID_OPENHYPERLINK                   (SID_SFX_START + 1676)
 #define SID_CONTENT                         (SID_SFX_START + 1679)
-#define SID_SHOW_IME_STATUS_WINDOW          (SID_SFX_START + 1680)
 #define SID_VIEWONLY                        (SID_SFX_START + 1682)
 #define SID_REPAIRPACKAGE                       (SID_SFX_START + 1683)
 #define SID_MINIMIZED                       (SID_SFX_START + 1687)
diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index 8fc5d0d46ccb..16b8015b923a 100644
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -1253,48 +1253,6 @@ public:
 
     ///@}
 
-    /** @name IME Status Window Control
-    */
-    ///@{
-
-    /** Determine application can toggle the IME status window on and off.
-
-      @attention Must only be called with the Solar mutex locked.
-
-      @return true if any IME status window can be toggled on and off
-            externally.
-
-      @see ShowImeStatusWindow, GetShowImeStatusWindowDefault,
-           GetShowImeStatusWindowDefault
-     */
-    static bool                 CanToggleImeStatusWindow();
-
-    /** Toggle any IME status window on and off.
-
-     This only works if CanToggleImeStatusWindow returns true (otherwise,
-     any calls of this method are ignored).
-
-     @remark Can be called without the Solar mutex locked.
-
-     @param      bShow       If true, then show the IME status window
-
-     @see GetShowImeStatusWindowDefault, CanToggleImeStatusWindow,
-          GetShowImeStatusWindow
-    */
-    static void                 ShowImeStatusWindow(bool bShow);
-
-    /** Determines if the IME status window should be turned of by default.
-
-      @return true if any IME status window should be turned on by default
-      (this decision can be locale dependent, for example).
-
-      @see ShowImeStatusWindow, GetShowImeStatusWindowDefault,
-           CanToggleImeStatusWindow
-     */
-    static bool                 GetShowImeStatusWindowDefault();
-
-    ///@}
-
     /** Get the desktop environment the process is currently running in
 
      @returns String representing the desktop environment
diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk
index 2ca29436aff7..2973fd0421e2 100644
--- a/sfx2/Library_sfx.mk
+++ b/sfx2/Library_sfx.mk
@@ -98,7 +98,6 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\
     sfx2/source/appl/fwkhelper \
     sfx2/source/appl/helpdispatch \
     sfx2/source/appl/helpinterceptor \
-    sfx2/source/appl/imestatuswindow \
     sfx2/source/appl/impldde \
     sfx2/source/appl/linkmgr2 \
     sfx2/source/appl/linksrc \
diff --git a/sfx2/sdi/appslots.sdi b/sfx2/sdi/appslots.sdi
index c1444d478a68..1d8ac05b697d 100644
--- a/sfx2/sdi/appslots.sdi
+++ b/sfx2/sdi/appslots.sdi
@@ -111,11 +111,6 @@ interface Application
         ExecMethod = MiscExec_Impl ;
         StateMethod = MiscState_Impl ;
     ]
-    SID_SHOW_IME_STATUS_WINDOW
-    [
-        ExecMethod = MiscExec_Impl ;
-        StateMethod = MiscState_Impl ;
-    ]
     SID_SEND_FEEDBACK
     [
         ExecMethod = MiscExec_Impl ;
diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi
index 29bef29d5f74..87a478d99275 100644
--- a/sfx2/sdi/sfx.sdi
+++ b/sfx2/sdi/sfx.sdi
@@ -4867,25 +4867,6 @@ SfxImageItem ImageOrientation SID_IMAGE_ORIENTATION
     GroupId = SfxGroupId::View;
 ]
 
-
-SfxBoolItem ShowImeStatusWindow SID_SHOW_IME_STATUS_WINDOW
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = TRUE,
-    Toggle = FALSE,
-    Container = TRUE,
-    RecordAbsolute = FALSE,
-    RecordPerSet;
-
-
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    ToolBoxConfig = FALSE,
-    GroupId = SfxGroupId::View;
-]
-
-
 SfxVoidItem SendFeedback SID_SEND_FEEDBACK
 ()
 [
diff --git a/sfx2/source/appl/app.cxx b/sfx2/source/appl/app.cxx
index e919d86c28a9..a8a5b58f867d 100644
--- a/sfx2/source/appl/app.cxx
+++ b/sfx2/source/appl/app.cxx
@@ -66,7 +66,6 @@
 #include <openflag.hxx>
 #include <sfx2/module.hxx>
 #include <sfx2/event.hxx>
-#include "imestatuswindow.hxx"
 #include <workwin.hxx>
 #include <sfx2/sidebar/Theme.hxx>
 #include <sfx2/tbxctrl.hxx>
@@ -174,8 +173,6 @@ SfxApplication::SfxApplication()
     if (!utl::ConfigManager::IsFuzzing())
         SvtViewOptions::AcquireOptions();
 
-    pImpl->m_xImeStatusWindow->init();
-
     SAL_INFO( "sfx.appl", "{ initialize DDE" );
 
     bool bOk = InitializeDde();
diff --git a/sfx2/source/appl/appdata.cxx b/sfx2/source/appl/appdata.cxx
index a3e786b4033c..cc6a0ce1a1ee 100644
--- a/sfx2/source/appl/appdata.cxx
+++ b/sfx2/source/appl/appdata.cxx
@@ -41,7 +41,6 @@
 #include <sfx2/sidebar/Theme.hxx>
 #include <sfx2/unoctitm.hxx>
 #include <objshimp.hxx>
-#include "imestatuswindow.hxx"
 #include <appbaslib.hxx>
 #include <childwinimpl.hxx>
 #include <svl/svdde.hxx>
@@ -94,7 +93,6 @@ SfxAppData_Impl::SfxAppData_Impl()
     , pProgress(nullptr)
     , nDocModalMode(0)
     , nRescheduleLocks(0)
-    , m_xImeStatusWindow(new 
sfx2::appl::ImeStatusWindow(comphelper::getProcessComponentContext()))
     , pTbxCtrlFac(nullptr)
     , pStbCtrlFac(nullptr)
     , pViewFrames(nullptr)
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index 423518605fee..cc892ba1ad67 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -118,7 +118,6 @@
 #include <sfx2/module.hxx>
 #include <sfx2/viewfrm.hxx>
 #include <sfxpicklist.hxx>
-#include "imestatuswindow.hxx"
 #include <sfx2/sfxdlg.hxx>
 #include <sfx2/sfxsids.hrc>
 #include <sorgitm.hxx>
@@ -703,21 +702,6 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
             break;
 #endif
 
-        case SID_SHOW_IME_STATUS_WINDOW:
-            if (sfx2::appl::ImeStatusWindow::canToggle())
-            {
-                const SfxBoolItem * pItem = 
rReq.GetArg<SfxBoolItem>(SID_SHOW_IME_STATUS_WINDOW);
-                bool bShow = pItem == nullptr
-                    ? !pImpl->m_xImeStatusWindow->isShowing()
-                    : pItem->GetValue();
-                pImpl->m_xImeStatusWindow->show(bShow);
-                if (pItem == nullptr)
-                    rReq.AppendItem(SfxBoolItem(SID_SHOW_IME_STATUS_WINDOW,
-                                                bShow));
-            }
-            bDone = true;
-            break;
-
         case SID_ZOOM_50_PERCENT:
         case SID_ZOOM_75_PERCENT:
         case SID_ZOOM_100_PERCENT:
@@ -1150,16 +1134,6 @@ void SfxApplication::MiscState_Impl(SfxItemSet &rSet)
                     break;
                 }
 
-                case SID_SHOW_IME_STATUS_WINDOW:
-                    if (sfx2::appl::ImeStatusWindow::canToggle())
-                        rSet.Put(SfxBoolItem(
-                                     SID_SHOW_IME_STATUS_WINDOW,
-                                     pImpl->m_xImeStatusWindow->
-                                         isShowing()));
-                    else
-                        rSet.DisableItem(SID_SHOW_IME_STATUS_WINDOW);
-                    break;
-
                 case SID_TEMPLATE_MANAGER:
                     {
                         SvtMiscOptions aMiscOptions;
diff --git a/sfx2/source/appl/imestatuswindow.cxx 
b/sfx2/source/appl/imestatuswindow.cxx
deleted file mode 100644
index 4fad9d3e2732..000000000000
--- a/sfx2/source/appl/imestatuswindow.cxx
+++ /dev/null
@@ -1,229 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-
-#include "imestatuswindow.hxx"
-
-#include <sfx2/app.hxx>
-#include <sfx2/sfxsids.hrc>
-
-#include <com/sun/star/beans/PropertyState.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/configuration/theDefaultProvider.hpp>
-#include <com/sun/star/lang/DisposedException.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/uno/Any.hxx>
-#include <com/sun/star/uno/Exception.hpp>
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/uno/RuntimeException.hpp>
-#include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/util/XChangesBatch.hpp>
-#include <osl/diagnose.h>
-#include <osl/mutex.hxx>
-#include <rtl/ustring.h>
-#include <rtl/ustring.hxx>
-#include <sal/types.h>
-#include <vcl/svapp.hxx>
-#include <cppuhelper/implbase.hxx>
-#include <cppuhelper/weakref.hxx>
-
-//TO-Do, merge into framework/inc/helpers/mischelpers.hxx and deliver
-class WeakPropertyChangeListener : public 
::cppu::WeakImplHelper<css::beans::XPropertyChangeListener>
-{
-    private:
-        css::uno::WeakReference<css::beans::XPropertyChangeListener> mxOwner;
-
-    public:
-        explicit 
WeakPropertyChangeListener(css::uno::Reference<css::beans::XPropertyChangeListener>
 const & xOwner)
-            : mxOwner(xOwner)
-        {
-        }
-
-        virtual void SAL_CALL propertyChange(const 
css::beans::PropertyChangeEvent &rEvent ) override
-        {
-            css::uno::Reference<css::beans::XPropertyChangeListener> 
xOwner(mxOwner.get(),
-                css::uno::UNO_QUERY);
-            if (xOwner.is())
-                xOwner->propertyChange(rEvent);
-
-        }
-
-        // lang.XEventListener
-        virtual void SAL_CALL disposing(const css::lang::EventObject& rEvent) 
override
-        {
-            css::uno::Reference<css::beans::XPropertyChangeListener> 
xOwner(mxOwner.get(),
-                css::uno::UNO_QUERY);
-            if (xOwner.is())
-                xOwner->disposing(rEvent);
-
-        }
-};
-
-using sfx2::appl::ImeStatusWindow;
-
-ImeStatusWindow::ImeStatusWindow(
-    css::uno::Reference< css::uno::XComponentContext > const & rxContext):
-    m_xContext(rxContext),
-    m_bDisposed(false)
-{}
-
-void ImeStatusWindow::init()
-{
-    if (!Application::CanToggleImeStatusWindow())
-        return;
-
-    try
-    {
-        bool bShow;
-        if (getConfig()->getPropertyValue("ShowStatusWindow") >>= bShow)
-            Application::ShowImeStatusWindow(bShow);
-    }
-    catch (css::uno::Exception &)
-    {
-        OSL_FAIL("com.sun.star.uno.Exception");
-        // Degrade gracefully and use the VCL-supplied default if no
-        // configuration is available.
-    }
-}
-
-bool ImeStatusWindow::isShowing()
-{
-    try
-    {
-        bool bShow(false);
-        if (getConfig()->getPropertyValue("ShowStatusWindow") >>= bShow)
-            return bShow;
-    }
-    catch (css::uno::Exception &)
-    {
-        OSL_FAIL("com.sun.star.uno.Exception");
-        // Degrade gracefully and use the VCL-supplied default if no
-        // configuration is available.
-    }
-    return Application::GetShowImeStatusWindowDefault();
-}
-
-void ImeStatusWindow::show(bool bShow)
-{
-    try
-    {
-        css::uno::Reference< css::beans::XPropertySet > xConfig(getConfig());
-        xConfig->setPropertyValue(
-            "ShowStatusWindow",
-            css::uno::makeAny(bShow));
-        css::uno::Reference< css::util::XChangesBatch > xCommit(
-            xConfig, css::uno::UNO_QUERY);
-        // Degrade gracefully by not saving the settings permanently:
-        if (xCommit.is())
-            xCommit->commitChanges();
-        // Alternatively, setting the VCL status could be done even if updating
-        // the configuration failed:
-        Application::ShowImeStatusWindow(bShow);
-    }
-    catch (css::uno::Exception &)
-    {
-        OSL_FAIL("com.sun.star.uno.Exception");
-    }
-}
-
-bool ImeStatusWindow::canToggle()
-{
-    return Application::CanToggleImeStatusWindow();
-}
-
-ImeStatusWindow::~ImeStatusWindow()
-{
-    if (m_xConfig.is() && m_xConfigListener.is())
-        // We should never get here, but just in case...
-        try
-        {
-            m_xConfig->removePropertyChangeListener(
-                "ShowStatusWindow",
-                m_xConfigListener);
-        }
-        catch (css::uno::Exception &)
-        {
-            OSL_FAIL("com.sun.star.uno.RuntimeException");
-        }
-}
-
-void SAL_CALL ImeStatusWindow::disposing(css::lang::EventObject const & )
-{
-    osl::MutexGuard aGuard(m_aMutex);
-    m_xConfig = nullptr;
-    m_bDisposed = true;
-}
-
-void SAL_CALL
-ImeStatusWindow::propertyChange(css::beans::PropertyChangeEvent const & )
-{
-    SolarMutexGuard aGuard;
-    SfxApplication* pApp = SfxApplication::Get();
-    if (pApp)
-    pApp->Invalidate(SID_SHOW_IME_STATUS_WINDOW);
-}
-
-css::uno::Reference< css::beans::XPropertySet > ImeStatusWindow::getConfig()
-{
-    css::uno::Reference< css::beans::XPropertySet > xConfig;
-    bool bAdd = false;
-    {
-        osl::MutexGuard aGuard(m_aMutex);
-        if (!m_xConfig.is())
-        {
-            if (m_bDisposed)
-                throw css::lang::DisposedException();
-            if (!m_xContext.is())
-                throw css::uno::RuntimeException(
-                    "null comphelper::getProcessServiceFactory",
-                    nullptr);
-            css::uno::Reference< css::lang::XMultiServiceFactory > xProvider =
-                css::configuration::theDefaultProvider::get( m_xContext );
-            css::beans::PropertyValue aArg(
-                "nodepath", -1,
-                css::uno::makeAny(
-                    OUString(
-                            "/org.openoffice.Office.Common/I18N/InputMethod")),
-                css::beans::PropertyState_DIRECT_VALUE);
-            css::uno::Sequence< css::uno::Any > aArgs(1);
-            aArgs[0] <<= aArg;
-            m_xConfig.set(
-                    xProvider->createInstanceWithArguments(
-                        "com.sun.star.configuration.ConfigurationUpdateAccess",
-                        aArgs),
-                    css::uno::UNO_QUERY_THROW);
-            bAdd = true;
-        }
-        xConfig = m_xConfig;
-    }
-    if (bAdd)
-    {
-        // Exceptions here could be handled individually, to support graceful
-        // degradation (no update notification mechanism in this case---but 
also
-        // no dispose notifications):
-        m_xConfigListener = new WeakPropertyChangeListener(this);
-        xConfig->addPropertyChangeListener(
-            "ShowStatusWindow",
-            m_xConfigListener);
-    }
-    return xConfig;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/appl/imestatuswindow.hxx 
b/sfx2/source/appl/imestatuswindow.hxx
deleted file mode 100644
index 79bf806328b6..000000000000
--- a/sfx2/source/appl/imestatuswindow.hxx
+++ /dev/null
@@ -1,119 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_SFX2_SOURCE_APPL_IMESTATUSWINDOW_HXX
-#define INCLUDED_SFX2_SOURCE_APPL_IMESTATUSWINDOW_HXX
-
-#include <com/sun/star/beans/XPropertyChangeListener.hpp>
-#include <com/sun/star/uno/Reference.hxx>
-#include <cppuhelper/implbase.hxx>
-#include <osl/mutex.hxx>
-
-namespace com { namespace sun { namespace star {
-    namespace beans { class XPropertySet; }
-    namespace lang { class XMultiServiceFactory; }
-    namespace uno { class XComponentContext; }
-} } }
-
-namespace sfx2 { namespace appl {
-
-// The MS compiler needs this typedef work-around to accept the using
-// declarations within ImeStatusWindow:
-typedef cppu::WeakImplHelper< css::beans::XPropertyChangeListener > 
ImeStatusWindow_Impl;
-
-/** Control the behavior of any (platform-dependent) IME status windows.
-
-    The decision of whether a status window shall be displayed or not can be
-    stored permanently in the configuration (under key
-    org.openoffice.office.Common/I18N/InputMethod/ShowStatusWindow; if that
-    entry is nil, VCL is asked for a default).
- */
-class ImeStatusWindow: private ImeStatusWindow_Impl
-{
-public:
-    explicit ImeStatusWindow( css::uno::Reference< css::uno::XComponentContext 
> const& rxContext );
-
-    /** Set up VCL according to the configuration.
-
-        Is it not strictly required that this method is called exactly once
-        (though that will be the typical use).
-
-        Must only be called with the Solar mutex locked.
-     */
-    void init();
-
-    /** Return true if the status window is toggled on.
-
-        This is only meaningful when canToggle returns true.
-
-        Can be called without the Solar mutex locked.
-     */
-    bool isShowing();
-
-    /** Toggle the status window on or off.
-
-        This only works if canToggle returns true (otherwise, any calls of this
-        method are ignored).
-
-        Must only be called with the Solar mutex locked.
-     */
-    void show(bool bShow);
-
-    /** Return true if the status window can be toggled on and off externally.
-
-        Must only be called with the Solar mutex locked.
-     */
-    static bool canToggle();
-
-    using ImeStatusWindow_Impl::acquire;
-    using ImeStatusWindow_Impl::release;
-    using ImeStatusWindow_Impl::operator new;
-    using ImeStatusWindow_Impl::operator delete;
-
-private:
-    ImeStatusWindow(ImeStatusWindow const &) = delete;
-    void operator =(const ImeStatusWindow&) = delete;
-
-    virtual ~ImeStatusWindow() override;
-
-    virtual void SAL_CALL
-    disposing(css::lang::EventObject const & rSource) override;
-
-    virtual void SAL_CALL
-    propertyChange(css::beans::PropertyChangeEvent const & rEvent) override;
-
-    css::uno::Reference< css::beans::XPropertySet >
-    getConfig();
-
-    css::uno::Reference< css::uno::XComponentContext >
-        m_xContext;
-
-    osl::Mutex m_aMutex;
-    css::uno::Reference< css::beans::XPropertySet >
-        m_xConfig;
-    css::uno::Reference< css::beans::XPropertyChangeListener >
-        m_xConfigListener;
-    bool m_bDisposed;
-};
-
-} }
-
-#endif // INCLUDED_SFX2_SOURCE_APPL_IMESTATUSWINDOW_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/inc/appdata.hxx b/sfx2/source/inc/appdata.hxx
index 5f892442bc4a..b38779dd7c71 100644
--- a/sfx2/source/inc/appdata.hxx
+++ b/sfx2/source/inc/appdata.hxx
@@ -58,7 +58,6 @@ class SfxBasicManagerHolder;
 class SfxBasicManagerCreationListener;
 
 namespace sfx2 {
-    namespace appl { class ImeStatusWindow; }
     namespace sidebar { class Theme; }
 }
 
@@ -101,8 +100,6 @@ public:
     sal_uInt16                              nDocModalMode;              // 
counts documents in modal mode
     sal_uInt16                              nRescheduleLocks;
 
-    rtl::Reference< sfx2::appl::ImeStatusWindow > m_xImeStatusWindow;
-
     SfxTbxCtrlFactArr_Impl*     pTbxCtrlFac;
     SfxStbCtrlFactArr_Impl*     pStbCtrlFac;
     SfxViewFrameArr_Impl*       pViewFrames;
diff --git a/solenv/clang-format/blacklist b/solenv/clang-format/blacklist
index 9a9845a74112..97aa283ef771 100644
--- a/solenv/clang-format/blacklist
+++ b/solenv/clang-format/blacklist
@@ -12629,8 +12629,6 @@ sfx2/source/appl/helpdispatch.cxx
 sfx2/source/appl/helpdispatch.hxx
 sfx2/source/appl/helpinterceptor.cxx
 sfx2/source/appl/helpinterceptor.hxx
-sfx2/source/appl/imestatuswindow.cxx
-sfx2/source/appl/imestatuswindow.hxx
 sfx2/source/appl/impldde.cxx
 sfx2/source/appl/impldde.hxx
 sfx2/source/appl/linkmgr2.cxx
@@ -17360,7 +17358,6 @@ vcl/inc/salframe.hxx
 vcl/inc/salgdi.hxx
 vcl/inc/salgdiimpl.hxx
 vcl/inc/salgeom.hxx
-vcl/inc/salimestatus.hxx
 vcl/inc/salinst.hxx
 vcl/inc/sallayout.hxx
 vcl/inc/salmenu.hxx
@@ -17419,7 +17416,6 @@ vcl/inc/unx/i18n_cb.hxx
 vcl/inc/unx/i18n_ic.hxx
 vcl/inc/unx/i18n_im.hxx
 vcl/inc/unx/i18n_keysym.hxx
-vcl/inc/unx/i18n_status.hxx
 vcl/inc/unx/i18n_xkb.hxx
 vcl/inc/unx/nativewindowhandleprovider.hxx
 vcl/inc/unx/pixmap.hxx
@@ -18039,7 +18035,6 @@ vcl/unx/generic/app/i18n_cb.cxx
 vcl/unx/generic/app/i18n_ic.cxx
 vcl/unx/generic/app/i18n_im.cxx
 vcl/unx/generic/app/i18n_keysym.cxx
-vcl/unx/generic/app/i18n_status.cxx
 vcl/unx/generic/app/i18n_xkb.cxx
 vcl/unx/generic/app/keysymnames.cxx
 vcl/unx/generic/app/randrwrapper.cxx
diff --git a/vcl/Library_vclplug_gen.mk b/vcl/Library_vclplug_gen.mk
index 8781324a6da6..01189a158d34 100644
--- a/vcl/Library_vclplug_gen.mk
+++ b/vcl/Library_vclplug_gen.mk
@@ -72,7 +72,6 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_gen,\
     vcl/unx/generic/app/i18n_ic \
     vcl/unx/generic/app/i18n_im \
     vcl/unx/generic/app/i18n_keysym \
-    vcl/unx/generic/app/i18n_status \
     vcl/unx/generic/app/i18n_xkb \
     vcl/unx/generic/app/keysymnames \
     vcl/unx/generic/app/randrwrapper \
diff --git a/vcl/inc/pch/precompiled_vcl.hxx b/vcl/inc/pch/precompiled_vcl.hxx
index 5e0540f71593..2bec1f89d3f8 100644
--- a/vcl/inc/pch/precompiled_vcl.hxx
+++ b/vcl/inc/pch/precompiled_vcl.hxx
@@ -251,7 +251,6 @@
 #include <salframe.hxx>
 #include <salgdi.hxx>
 #include <salgdiimpl.hxx>
-#include <salimestatus.hxx>
 #include <sallayout.hxx>
 #include <salmenu.hxx>
 #include <salobj.hxx>
diff --git a/vcl/inc/salimestatus.hxx b/vcl/inc/salimestatus.hxx
deleted file mode 100644
index 1b97d5d48da1..000000000000
--- a/vcl/inc/salimestatus.hxx
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_VCL_INC_SALIMESTATUS_HXX
-#define INCLUDED_VCL_INC_SALIMESTATUS_HXX
-
-#include <vcl/dllapi.h>
-
-class VCL_PLUGIN_PUBLIC SalI18NImeStatus
-{
-public:
-    SalI18NImeStatus() {}
-    virtual ~SalI18NImeStatus();
-
-    // asks whether there is a status window available
-    // to toggle into menubar
-    virtual bool canToggle() { return false; }
-    virtual void toggle() {}
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/salinst.hxx b/vcl/inc/salinst.hxx
index 5ac470b3eb0a..f8935baf218a 100644
--- a/vcl/inc/salinst.hxx
+++ b/vcl/inc/salinst.hxx
@@ -65,7 +65,6 @@ class SalInfoPrinter;
 class SalPrinter;
 class SalTimer;
 class ImplPrnQueueList;
-class SalI18NImeStatus;
 class SalSystem;
 class SalBitmap;
 struct SalItemParams;
@@ -128,9 +127,6 @@ public:
 
     // SalTimer
     virtual SalTimer*       CreateSalTimer() = 0;
-    // interface to ime status window, only used by the X11 backend
-    virtual std::unique_ptr<SalI18NImeStatus>
-                            CreateI18NImeStatus();
     // SalSystem
     virtual SalSystem*      CreateSalSystem() = 0;
     // SalBitmap
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index 747adb11dc7c..0e6fde80a6f4 100644
--- a/vcl/inc/svdata.hxx
+++ b/vcl/inc/svdata.hxx
@@ -84,7 +84,6 @@ class UnoWrapperBase;
 class GraphicConverter;
 class ImplWheelWindow;
 class SalTimer;
-class SalI18NImeStatus;
 class DockingManager;
 class VclEventListeners2;
 class SalData;
@@ -129,12 +128,6 @@ typedef std::pair<VclPtr<vcl::Window>, ImplPostEventData 
*> ImplPostEventPair;
 struct ImplSVAppData
 {
     ~ImplSVAppData();
-    enum ImeStatusWindowMode
-    {
-        ImeStatusWindowMode_UNKNOWN,
-        ImeStatusWindowMode_HIDE,
-        ImeStatusWindowMode_SHOW
-    };
 
     std::unique_ptr<AllSettings> mpSettings;           // Application settings
     LocaleConfigurationListener* mpCfgListener = nullptr;
@@ -160,13 +153,6 @@ struct ImplSVAppData
     DialogCancelMode meDialogCancel = DialogCancelMode::Off; // true: All 
Dialog::Execute() calls will be terminated immediately with return false
     bool mbRenderToBitmaps = false; // set via svp / headless plugin
 
-    /** Controls whether showing any IME status window is toggled on or off.
-
-        Only meaningful if showing IME status windows can be toggled on and off
-        externally (see Application::CanToggleImeStatusWindow).
-     */
-    ImeStatusWindowMode meShowImeStatusWindow = ImeStatusWindowMode_UNKNOWN;
-
     SvFileStream*       mpEventTestInput = nullptr;
     Idle*               mpEventTestingIdle = nullptr;
     int                 mnEventTestLimit = 0;
@@ -356,7 +342,6 @@ struct ImplSVData
     Application*            mpApp = nullptr;                // pApp
     VclPtr<WorkWindow>      mpDefaultWin;                   // Default-Window
     bool                    mbDeInit = false;               // Is VCL 
deinitializing
-    std::unique_ptr<SalI18NImeStatus> mpImeStatus;          // interface to 
ime status window, only used by the X11 backend
     std::unique_ptr<SalSystem> mpSalSystem;                 // SalSystem 
interface
     int                     mnFontUpdatesLockCount = 0;     // avoid repeated 
font updates
     bool                    mbFontUpdatesPending = false;   // need to update 
font data after unlock
diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx
index 2ed92b0b511d..e7543c52d0ff 100644
--- a/vcl/inc/unx/gtk/gtkinst.hxx
+++ b/vcl/inc/unx/gtk/gtkinst.hxx
@@ -205,9 +205,6 @@ public:
     virtual SalFrame*           CreateFrame( SalFrame* pParent, 
SalFrameStyleFlags nStyle ) override;
     virtual SalFrame*           CreateChildFrame( SystemParentData* pParent, 
SalFrameStyleFlags nStyle ) override;
     virtual SalObject*          CreateObject( SalFrame* pParent, 
SystemWindowData* pWindowData, bool bShow ) override;
-#if !GTK_CHECK_VERSION(3,0,0)
-    virtual std::unique_ptr<SalI18NImeStatus> CreateI18NImeStatus() override;
-#endif
     virtual SalSystem*          CreateSalSystem() override;
     virtual SalInfoPrinter*     CreateInfoPrinter(SalPrinterQueueInfo* 
pPrinterQueueInfo, ImplJobSetup* pJobSetup) override;
     virtual std::unique_ptr<SalPrinter> CreatePrinter( SalInfoPrinter* 
pInfoPrinter ) override;
diff --git a/vcl/inc/unx/i18n_ic.hxx b/vcl/inc/unx/i18n_ic.hxx
index 055b8616285e..f38c1b794802 100644
--- a/vcl/inc/unx/i18n_ic.hxx
+++ b/vcl/inc/unx/i18n_ic.hxx
@@ -62,7 +62,7 @@ public:
 
     void ExtendEventMask(  ::Window aFocusWindow );
     void SetICFocus( SalFrame* pFocusFrame );
-    void UnsetICFocus( SalFrame const * pFrame );
+    void UnsetICFocus();
     void HandleDestroyIM();
 
     void EndExtTextInput();
@@ -70,7 +70,7 @@ public:
     int  UpdateSpotLocation();
 
     void Map( SalFrame *pFrame );
-    void Unmap( SalFrame const * pFrame );
+    void Unmap();
 
     SalI18N_InputContext( SalFrame *aFrame );
     ~SalI18N_InputContext();
diff --git a/vcl/inc/unx/i18n_status.hxx b/vcl/inc/unx/i18n_status.hxx
deleted file mode 100644
index 9a879596c6f8..000000000000
--- a/vcl/inc/unx/i18n_status.hxx
+++ /dev/null
@@ -1,89 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_VCL_INC_UNX_I18N_STATUS_HXX
-#define INCLUDED_VCL_INC_UNX_I18N_STATUS_HXX
-
-#include <rtl/ustring.hxx>
-#include <salimestatus.hxx>
-#include <vcl/vclptr.hxx>
-
-class SalFrame;
-class WorkWindow;
-class ListBox;
-class FixedText;
-class PushButton;
-class SalI18N_InputContext;
-
-namespace vcl
-{
-
-class StatusWindow;
-
-class X11ImeStatus : public SalI18NImeStatus
-{
-public:
-    X11ImeStatus() {}
-    virtual ~X11ImeStatus() override;
-
-    virtual bool canToggle() override;
-    virtual void toggle() override;
-};
-
-class I18NStatus
-{
-private:
-    SalFrame*                       m_pParent;
-    VclPtr<StatusWindow>            m_pStatusWindow;
-    OUString const                  m_aCurrentIM;
-
-    I18NStatus();
-    ~I18NStatus();
-
-    static bool getStatusWindowMode();
-
-public:
-    static I18NStatus& get();
-    static bool exists();
-    static void free();
-
-    void setParent( SalFrame* pParent );
-    SalFrame* getParent() const { return  m_pParent; }
-    SalFrame* getStatusFrame() const;
-
-    void setStatusText( const OUString& rText );
-
-    enum ShowReason { focus, presentation, contextmap };
-    void show( bool bShow, ShowReason eReason );
-
-    // External Control:
-
-    /** Toggle the status window on or off.
-
-        This only works if canToggleStatusWindow returns true (otherwise, any
-        calls of this method are ignored).
-     */
-    void toggleStatusWindow();
-};
-
-} // namespace
-
-#endif // INCLUDED_VCL_INC_UNX_I18N_STATUS_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/salinst.h b/vcl/inc/unx/salinst.h
index 9ef55fb3827f..e91e179f069a 100644
--- a/vcl/inc/unx/salinst.h
+++ b/vcl/inc/unx/salinst.h
@@ -67,7 +67,6 @@ public:
     virtual GenPspGraphics     *CreatePrintGraphics() override;
 
     virtual SalTimer*           CreateSalTimer() override;
-    virtual std::unique_ptr<SalI18NImeStatus> CreateI18NImeStatus() override;
     virtual SalSystem*          CreateSalSystem() override;
     virtual std::shared_ptr<SalBitmap>  CreateSalBitmap() override;
     virtual std::unique_ptr<SalSession> CreateSalSession() override;
diff --git a/vcl/osx/salinst.cxx b/vcl/osx/salinst.cxx
index 6ed28b7a1d5a..4a23166a0fdc 100644
--- a/vcl/osx/salinst.cxx
+++ b/vcl/osx/salinst.cxx
@@ -59,7 +59,6 @@
 #include <osx/runinmain.hxx>
 
 #include <print.h>
-#include <salimestatus.hxx>
 
 #include <comphelper/processfactory.hxx>
 
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 4cd82ef130ec..bf8ac3db8120 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -24,7 +24,6 @@
 #include <salvd.hxx>
 #include <salprn.hxx>
 #include <saltimer.hxx>
-#include <salimestatus.hxx>
 #include <salsession.hxx>
 #include <salsys.hxx>
 #include <salbmp.hxx>
@@ -144,11 +143,6 @@ bool SalInstance::CallEventCallback( void const * pEvent, 
int nBytes )
     return m_pEventInst.is() && m_pEventInst->dispatchEvent( pEvent, nBytes );
 }
 
-std::unique_ptr<SalI18NImeStatus> SalInstance::CreateI18NImeStatus()
-{
-    return std::unique_ptr<SalI18NImeStatus>(new SalI18NImeStatus);
-}
-
 SalTimer::~SalTimer() COVERITY_NOEXCEPT_FALSE
 {
 }
@@ -168,10 +162,6 @@ SalBitmap::~SalBitmap()
     DropScaledCache();
 }
 
-SalI18NImeStatus::~SalI18NImeStatus()
-{
-}
-
 SalSystem::~SalSystem()
 {
 }
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index 28ab180a77f7..e0846a5ecec7 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -55,7 +55,6 @@
 #include <salframe.hxx>
 #include <salsys.hxx>
 #include <svdata.hxx>
-#include <salimestatus.hxx>
 #include <displayconnectiondispatch.hxx>
 #include <window.h>
 #include <accmgr.hxx>
@@ -1553,34 +1552,6 @@ void Application::ShowNativeErrorBox(const OUString& 
sTitle  ,
     }
 }
 
-bool Application::CanToggleImeStatusWindow()
-{
-    ImplSVData* pSVData = ImplGetSVData();
-    if( ! pSVData->mpImeStatus )
-        pSVData->mpImeStatus  = pSVData->mpDefInst->CreateI18NImeStatus();
-    return pSVData->mpImeStatus->canToggle();
-}
-
-void Application::ShowImeStatusWindow(bool bShow)
-{
-    ImplGetSVData()->maAppData.meShowImeStatusWindow = bShow
-        ? ImplSVAppData::ImeStatusWindowMode_SHOW
-        : ImplSVAppData::ImeStatusWindowMode_HIDE;
-
-    ImplSVData* pSVData = ImplGetSVData();
-    if( ! pSVData->mpImeStatus )
-        pSVData->mpImeStatus  = pSVData->mpDefInst->CreateI18NImeStatus();
-    pSVData->mpImeStatus->toggle();
-}
-
-bool Application::GetShowImeStatusWindowDefault()
-{
-    rtl_TextEncodingInfo aInfo;
-    aInfo.StructSize = sizeof aInfo;
-    return rtl_getTextEncodingInfo(osl_getThreadTextEncoding(), &aInfo)
-        && aInfo.MaximumCharSize > 1;
-}
-
 const OUString& Application::GetDesktopEnvironment()
 {
     if (IsHeadlessModeEnabled())
diff --git a/vcl/source/app/svdata.cxx b/vcl/source/app/svdata.cxx
index 936ddf596852..ede298e73110 100644
--- a/vcl/source/app/svdata.cxx
+++ b/vcl/source/app/svdata.cxx
@@ -40,7 +40,6 @@
 #include <salinst.hxx>
 #include <salgdi.hxx>
 #include <svdata.hxx>
-#include <salimestatus.hxx>
 #include <salsys.hxx>
 #include <units.hrc>
 #include <print.h>
diff --git a/vcl/source/app/svmain.cxx b/vcl/source/app/svmain.cxx
index c6aa48702357..afeaaf6848b8 100644
--- a/vcl/source/app/svmain.cxx
+++ b/vcl/source/app/svmain.cxx
@@ -73,7 +73,6 @@
 #include <print.h>
 #include <salsys.hxx>
 #include <saltimer.hxx>
-#include <salimestatus.hxx>
 #include <displayconnectiondispatch.hxx>
 
 #include <config_features.h>
@@ -424,9 +423,6 @@ void DeInitVCL()
 
     vcl::DeleteOnDeinitBase::ImplDeleteOnDeInit();
 
-    // give ime status a chance to destroy its own windows
-    pSVData->mpImeStatus.reset();
-
 #if OSL_DEBUG_LEVEL > 0
     OStringBuffer aBuf( 256 );
     aBuf.append( "DeInitVCL: some top Windows are still alive\n" );
diff --git a/vcl/unx/generic/app/i18n_cb.cxx b/vcl/unx/generic/app/i18n_cb.cxx
index 3706df0b1a62..2e8f22d8cc3b 100644
--- a/vcl/unx/generic/app/i18n_cb.cxx
+++ b/vcl/unx/generic/app/i18n_cb.cxx
@@ -31,7 +31,6 @@
 #include <unx/salunx.h>
 #include <unx/XIM.h>
 #include <unx/i18n_cb.hxx>
-#include <unx/i18n_status.hxx>
 #include <unx/i18n_ic.hxx>
 #include <unx/i18n_im.hxx>
 #include <salframe.hxx>
@@ -498,7 +497,6 @@ StatusDrawCallback (XIC, XPointer, 
XIMStatusDrawCallbackStruct *call_data)
             if( nLength )
                 aText = OUString( pMBString, nLength, 
osl_getThreadTextEncoding() );
         }
-        vcl::I18NStatus::get().setStatusText( aText );
     }
 #if OSL_DEBUG_LEVEL > 1
     else
diff --git a/vcl/unx/generic/app/i18n_ic.cxx b/vcl/unx/generic/app/i18n_ic.cxx
index fbb58ea0c6a2..0456606c2566 100644
--- a/vcl/unx/generic/app/i18n_ic.cxx
+++ b/vcl/unx/generic/app/i18n_ic.cxx
@@ -29,7 +29,6 @@
 #include <unx/XIM.h>
 #include <unx/i18n_ic.hxx>
 #include <unx/i18n_im.hxx>
-#include <unx/i18n_status.hxx>
 
 #include <unx/salframe.h>
 #include <unx/saldisp.hxx>
@@ -361,16 +360,9 @@ SalI18N_InputContext::SalI18N_InputContext ( SalFrame 
*pFrame ) :
 // unmap it the hard way
 
 void
-SalI18N_InputContext::Unmap( SalFrame const * pFrame )
+SalI18N_InputContext::Unmap()
 {
-    if ( maContext != nullptr )
-    {
-        I18NStatus& rStatus( I18NStatus::get() );
-        if( rStatus.getParent() == pFrame )
-            rStatus.show( false, I18NStatus::contextmap );
-
-    }
-    UnsetICFocus( pFrame );
+    UnsetICFocus();
     maClientData.pFrame = nullptr;
 }
 
@@ -379,11 +371,8 @@ SalI18N_InputContext::Map( SalFrame *pFrame )
 {
     if( mbUseable )
     {
-        I18NStatus& rStatus(I18NStatus::get() );
-        rStatus.setParent( pFrame );
         if( pFrame )
         {
-            rStatus.show( true, I18NStatus::contextmap );
             if ( maContext == nullptr )
             {
                 SalI18N_InputMethod *pInputMethod;
@@ -548,8 +537,6 @@ SalI18N_InputContext::UpdateSpotLocation()
     XSetICValues(maContext, XNPreeditAttributes, preedit_attr, nullptr);
     XFree(preedit_attr);
 
-    I18NStatus::get().show( true, I18NStatus::contextmap );
-
     return 0;
 }
 
@@ -560,7 +547,6 @@ SalI18N_InputContext::UpdateSpotLocation()
 void
 SalI18N_InputContext::SetICFocus( SalFrame* pFocusFrame )
 {
-    I18NStatus::get().setParent( pFocusFrame );
     if ( mbUseable && (maContext != nullptr)  )
     {
         maClientData.pFrame = pFocusFrame;
@@ -586,11 +572,8 @@ SalI18N_InputContext::SetICFocus( SalFrame* pFocusFrame )
 }
 
 void
-SalI18N_InputContext::UnsetICFocus( SalFrame const * pFrame )
+SalI18N_InputContext::UnsetICFocus()
 {
-    I18NStatus& rStatus( I18NStatus::get() );
-    if( rStatus.getParent() == pFrame )
-        rStatus.setParent( nullptr );
 
     if ( mbUseable && (maContext != nullptr) )
     {
diff --git a/vcl/unx/generic/app/i18n_im.cxx b/vcl/unx/generic/app/i18n_im.cxx
index 8e9e8a9be634..8be7bb793fc0 100644
--- a/vcl/unx/generic/app/i18n_im.cxx
+++ b/vcl/unx/generic/app/i18n_im.cxx
@@ -35,7 +35,6 @@
 #include <unx/salunx.h>
 #include <unx/saldisp.hxx>
 #include <unx/i18n_im.hxx>
-#include <unx/i18n_status.hxx>
 
 #include <osl/thread.h>
 #include <osl/process.h>
@@ -249,7 +248,6 @@ SalI18N_InputMethod::SalI18N_InputMethod( )
 
 SalI18N_InputMethod::~SalI18N_InputMethod()
 {
-    vcl::I18NStatus::free();
     if ( mpStyles != nullptr )
         XFree( mpStyles );
     if ( maMethod != nullptr )
diff --git a/vcl/unx/generic/app/i18n_status.cxx 
b/vcl/unx/generic/app/i18n_status.cxx
deleted file mode 100644
index 6a27ed8ac6c7..000000000000
--- a/vcl/unx/generic/app/i18n_status.cxx
+++ /dev/null
@@ -1,439 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#if OSL_DEBUG_LEVEL > 1
-#include <stdio.h>
-#endif
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <unx/XIM.h>
-
-#include <unx/salunx.h>
-#include <unx/i18n_status.hxx>
-#include <unx/i18n_ic.hxx>
-#include <unx/saldisp.hxx>
-#include <unx/salframe.h>
-#include <unx/salinst.h>
-
-#include <vcl/wrkwin.hxx>
-#include <vcl/fixed.hxx>
-#include <vcl/menubtn.hxx>
-#include <vcl/menu.hxx>
-#include <vcl/svapp.hxx>
-#include <vcl/sysdata.hxx>
-
-#include <svdata.hxx>
-
-using namespace vcl;
-
-namespace vcl {
-
-class StatusWindow : public WorkWindow
-{
-protected:
-    explicit StatusWindow( WinBits nWinBits );
-public:
-
-    virtual void setPosition( SalFrame* );
-    virtual void setText( const OUString & ) = 0;
-    virtual void show( bool bShow, I18NStatus::ShowReason eReason ) = 0;
-    virtual void toggle( bool bOn ) = 0;
-};
-
-}
-
-StatusWindow::StatusWindow( WinBits nWinBits ) :
-        WorkWindow( nullptr, nWinBits )
-{
-}
-
-void StatusWindow::setPosition( SalFrame* )
-{
-}
-
-namespace vcl {
-
-class XIMStatusWindow : public StatusWindow
-{
-    VclPtr<FixedText>       m_aStatusText;
-    SalFrame*               m_pLastParent;
-    Size                    m_aWindowSize;
-    bool                    m_bAnchoredAtRight;
-        // true if the right edge (instead of the left edge) should stay at a
-        // fixed position when re-sizing the window
-
-    // for delayed showing
-    bool                    m_bDelayedShow;
-    ImplSVEvent *           m_nDelayedEvent;
-    // for toggling
-    bool                    m_bOn;
-
-    Point updatePosition();
-    void layout();
-    bool checkLastParent() const;
-
-    DECL_LINK( DelayedShowHdl, void*, void );
-public:
-    explicit XIMStatusWindow( bool bOn );
-    virtual ~XIMStatusWindow() override;
-
-    virtual void setPosition( SalFrame* ) override;
-    virtual void setText( const OUString & ) override;
-    virtual void show( bool bShow, I18NStatus::ShowReason eReason ) override;
-    virtual void toggle( bool bOn ) override;
-    virtual void dispose() override;
-
-    // override WorkWindow::DataChanged
-    virtual void DataChanged( const DataChangedEvent& rEvt ) override;
-};
-
-}
-
-XIMStatusWindow::XIMStatusWindow( bool bOn ) :
-        StatusWindow( WB_BORDER | WB_SYSTEMFLOATWIN | WB_TOOLTIPWIN ),
-        m_aStatusText(VclPtr<FixedText>::Create(this, 0)),
-        m_pLastParent( nullptr ),
-        m_bAnchoredAtRight( false ),
-        m_bDelayedShow( false ),
-        m_nDelayedEvent( nullptr ),
-        m_bOn( bOn )
-{
-    layout();
-}
-
-XIMStatusWindow::~XIMStatusWindow()
-{
-    disposeOnce();
-}
-
-void XIMStatusWindow::dispose()
-{
-    if( m_nDelayedEvent )
-        Application::RemoveUserEvent( m_nDelayedEvent );
-    m_aStatusText.disposeAndClear();
-    StatusWindow::dispose();
-}
-
-void XIMStatusWindow::toggle( bool bOn )
-{
-    m_bOn = bOn;
-    show( bOn, I18NStatus::contextmap );
-}
-
-void XIMStatusWindow::layout()
-{
-    m_aWindowSize.setWidth( m_aStatusText->GetTextWidth( 
m_aStatusText->GetText() )+8 );
-    Font aFont( m_aStatusText->GetFont() );
-    m_aWindowSize.setHeight( aFont.GetFontHeight()+10 );
-    m_aWindowSize = LogicToPixel( m_aWindowSize );
-
-    Size aControlSize( m_aWindowSize );
-    aControlSize.AdjustWidth( -4 );
-    aControlSize.AdjustHeight( -4 );
-
-    m_aStatusText->SetPosSizePixel( Point( 1, 1 ), aControlSize );
-    m_aStatusText->SetFont( aFont );
-    m_aStatusText->Show();
-
-    if (m_bAnchoredAtRight && IsVisible())
-    {
-        SalFrame* pFrame = static_cast<SalFrame*>(GetSystemData()->pSalFrame);
-        long nDelta = pFrame->maGeometry.nWidth - m_aWindowSize.Width();
-        pFrame->SetPosSize( pFrame->maGeometry.nX + nDelta,
-                            pFrame->maGeometry.nY,
-                            m_aWindowSize.Width(),
-                            m_aWindowSize.Height(),
-                            SAL_FRAME_POSSIZE_X | SAL_FRAME_POSSIZE_Y | 
SAL_FRAME_POSSIZE_WIDTH | SAL_FRAME_POSSIZE_HEIGHT );
-    }
-    else
-        SetOutputSizePixel( m_aWindowSize );
-}
-
-bool XIMStatusWindow::checkLastParent() const
-{
-    if( m_pLastParent )
-    {
-        auto rFrameList = 
vcl_sal::getSalDisplay(GetGenericUnixSalData())->getFrames();
-        auto it = rFrameList.find( m_pLastParent );
-        return it != rFrameList.end();
-    }
-    return false;
-}
-
-void XIMStatusWindow::DataChanged( const DataChangedEvent& )
-{
-    m_aStatusText->SetSettings( GetSettings() );
-    layout();
-}
-
-Point XIMStatusWindow::updatePosition()
-{
-    Point aRet;
-    if( checkLastParent() )
-    {
-        const SystemEnvData* pParentEnvData = m_pLastParent->GetSystemData();
-
-        SalExtTextInputPosEvent aPosEvent;
-        m_pLastParent->CallCallback( SalEvent::ExtTextInputPos, 
static_cast<void*>(&aPosEvent) );
-        int x, y;
-        ::Window aChild;
-        XTranslateCoordinates( static_cast<Display*>(pParentEnvData->pDisplay),
-                               
static_cast<::Window>(pParentEnvData->aShellWindow),
-                               
vcl_sal::getSalDisplay(GetGenericUnixSalData())->GetRootWindow( 
vcl_sal::getSalDisplay(GetGenericUnixSalData())->GetDefaultXScreen() ),
-                               0, 0,
-                               &x, &y,
-                               &aChild );
-
-        // TODO:  Currently, place the status window to the (physical) left of
-        // the cursor iff in vertical mode (assuming that the columns in
-        // vertical mode are always written from right to left, this causes the
-        // status window to keep out of the text already written).  This
-        // heuristic would break if there is ever a vertical mode in which the
-        // columns are written from left to right.  Also, more elaborate
-        // positioning for (both horizontal and vertical) left-to-right and
-        // right-to-left text would be possible.
-        bool bLeft = aPosEvent.mbVertical;
-            // true if status window is to the left of the cursor
-
-        int const nGap = 4; // between cursor and status window
-        if (aPosEvent.mbVertical)
-        {
-            aRet.setX( x + aPosEvent.mnX + (bLeft
-                                            ? -m_aWindowSize.Width() - nGap
-                                            : aPosEvent.mnHeight + nGap) );
-            aRet.setY( y + aPosEvent.mnY );
-        }
-        else
-        {
-            aRet.setX( x + aPosEvent.mnX + (bLeft ? -m_aWindowSize.Width() : 
0) );
-            aRet.setY( y + aPosEvent.mnY+aPosEvent.mnHeight + nGap );
-        }
-
-        m_bAnchoredAtRight = bLeft;
-    }
-    return aRet;
-}
-
-void XIMStatusWindow::setPosition( SalFrame* pParent )
-{
-    if( pParent )
-    {
-        if( pParent != m_pLastParent )
-        {
-            setText( OUString() );
-            m_pLastParent = pParent;
-            Show( false, ShowFlags::NoActivate );
-        }
-        if( IsVisible() )
-        {
-            const SystemEnvData* pEnvData = GetSystemData();
-            SalFrame* pStatusFrame = 
static_cast<SalFrame*>(pEnvData->pSalFrame);
-            Point aPoint = updatePosition();
-            pStatusFrame->SetPosSize( aPoint.X(), aPoint.Y(), 
m_aWindowSize.Width(), m_aWindowSize.Height(), SAL_FRAME_POSSIZE_X | 
SAL_FRAME_POSSIZE_Y | SAL_FRAME_POSSIZE_WIDTH | SAL_FRAME_POSSIZE_HEIGHT );
-        }
-    }
-}
-
-IMPL_LINK_NOARG(XIMStatusWindow, DelayedShowHdl, void*, void)
-{
-    m_nDelayedEvent = nullptr;
-    const SystemEnvData* pData = GetSystemData();
-    SalFrame* pStatusFrame = static_cast<SalFrame*>(pData->pSalFrame);
-    if( m_bDelayedShow )
-    {
-        Size aControlSize( m_aWindowSize.Width()-4, m_aWindowSize.Height()-4 );
-        m_aStatusText->SetPosSizePixel( Point( 1, 1 ), aControlSize );
-        Point aPoint = updatePosition();
-        pStatusFrame->SetPosSize( aPoint.X(), aPoint.Y(), 
m_aWindowSize.Width(), m_aWindowSize.Height(), SAL_FRAME_POSSIZE_X | 
SAL_FRAME_POSSIZE_Y | SAL_FRAME_POSSIZE_WIDTH | SAL_FRAME_POSSIZE_HEIGHT );
-    }
-    Show( m_bDelayedShow && m_bOn, ShowFlags::NoActivate );
-    if( m_bDelayedShow )
-    {
-        XRaiseWindow( static_cast<Display*>(pData->pDisplay),
-                      static_cast<::Window>(pData->aShellWindow) );
-    }
-}
-
-void XIMStatusWindow::show( bool bShow, I18NStatus::ShowReason )
-{
-    if( bShow && m_aStatusText->GetText().isEmpty() )
-        bShow = false;
-
-    m_bDelayedShow = bShow;
-    if( ! m_nDelayedEvent )
-        m_nDelayedEvent = Application::PostUserEvent( LINK( this, 
XIMStatusWindow, DelayedShowHdl ), nullptr, true );
-}
-
-void XIMStatusWindow::setText( const OUString& rText )
-{
-    m_aStatusText->SetText( rText );
-    m_aWindowSize.setWidth( m_aStatusText->GetTextWidth( rText )+8 );
-}
-
-/*
- *  I18NStatus
- */
-
-static I18NStatus* g_pI18NStatusInstance = nullptr;
-
-I18NStatus& I18NStatus::get()
-{
-    if (!g_pI18NStatusInstance)
-        g_pI18NStatusInstance = new I18NStatus();
-    return *g_pI18NStatusInstance;
-}
-
-bool I18NStatus::exists()
-{
-    return g_pI18NStatusInstance != nullptr;
-}
-
-void I18NStatus::free()
-{
-    if (g_pI18NStatusInstance)
-    {
-        delete g_pI18NStatusInstance;
-        g_pI18NStatusInstance = nullptr;
-    }
-}
-
-I18NStatus::I18NStatus() :
-        m_pParent( nullptr ),
-        m_pStatusWindow( nullptr )
-{
-}
-
-I18NStatus::~I18NStatus()
-{
-    m_pStatusWindow.disposeAndClear();
-    if( g_pI18NStatusInstance == this )
-        g_pI18NStatusInstance = nullptr;
-}
-
-void I18NStatus::setParent( SalFrame* pParent )
-{
-    m_pParent = pParent;
-    if( ! m_pStatusWindow )
-    {
-        m_pStatusWindow = VclPtr<XIMStatusWindow>::Create( 
getStatusWindowMode() );
-        setStatusText( m_aCurrentIM );
-    }
-    m_pStatusWindow->setPosition( m_pParent );
-}
-
-void I18NStatus::show( bool bShow, ShowReason eReason )
-{
-    if( m_pStatusWindow )
-    {
-        m_pStatusWindow->setPosition( m_pParent );
-        m_pStatusWindow->show( bShow, eReason );
-    }
-}
-
-void I18NStatus::setStatusText( const OUString& rText )
-{
-    if( m_pStatusWindow )
-    {
-        /*
-         *  #93614# convert fullwidth ASCII forms to ascii
-         */
-        int nChars = rText.getLength();
-        rtl_uString *pStr = rtl_uString_alloc(nChars);
-        sal_Unicode *pBuffer = pStr->buffer;
-        for( int i = 0; i < nChars; i++ )
-        {
-            if( rText[i] >=0xff00 && rText[i] <= 0xff5f )
-                pBuffer[i] = (rText[i] & 0xff) + 0x20;
-            else
-                pBuffer[i] = rText[i];
-        }
-        OUString aText(pStr, SAL_NO_ACQUIRE);
-        m_pStatusWindow->setText( aText );
-        m_pStatusWindow->setPosition( m_pParent );
-
-        bool bVisible = true;
-        if( m_pParent )
-        {
-            long w, h;
-            m_pParent->GetClientSize( w, h );
-            if( w == 0 || h == 0 )
-            {
-                bVisible = false;
-            }
-        }
-
-        m_pStatusWindow->show( bVisible, contextmap );
-    }
-}
-
-SalFrame* I18NStatus::getStatusFrame() const
-{
-    SalFrame* pRet = nullptr;
-    if( m_pStatusWindow )
-    {
-        const SystemEnvData* pData = m_pStatusWindow->GetSystemData();
-        pRet = static_cast<SalFrame*>(pData->pSalFrame);
-    }
-    return pRet;
-}
-
-void I18NStatus::toggleStatusWindow()
-{
-    if (m_pStatusWindow != nullptr)
-        m_pStatusWindow->toggle(getStatusWindowMode());
-}
-
-bool I18NStatus::getStatusWindowMode()
-{
-    switch (ImplGetSVData()->maAppData.meShowImeStatusWindow)
-    {
-    default: // ImplSVAppData::ImeStatusWindowMode_UNKNOWN
-        return Application::GetShowImeStatusWindowDefault();
-    case ImplSVAppData::ImeStatusWindowMode_HIDE:
-        return false;
-    case ImplSVAppData::ImeStatusWindowMode_SHOW:
-        return true;
-    }
-}
-
-/*
- * X11ImeStatus
- */
-X11ImeStatus::~X11ImeStatus()
-{
-    vcl::I18NStatus::free();
-}
-
-bool X11ImeStatus::canToggle()
-{
-    return true;
-}
-
-void X11ImeStatus::toggle()
-{
-    vcl::I18NStatus::get().toggleStatusWindow();
-}
-
-std::unique_ptr<SalI18NImeStatus> X11SalInstance::CreateI18NImeStatus()
-{
-    return std::unique_ptr<SalI18NImeStatus>(new X11ImeStatus());
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/unx/generic/window/salframe.cxx 
b/vcl/unx/generic/window/salframe.cxx
index b18fc5cecce2..62c3fa9ddfe6 100644
--- a/vcl/unx/generic/window/salframe.cxx
+++ b/vcl/unx/generic/window/salframe.cxx
@@ -54,7 +54,6 @@
 #include <unx/salbmp.h>
 #include <unx/i18n_ic.hxx>
 #include <unx/i18n_keysym.hxx>
-#include <unx/i18n_status.hxx>
 #include <unx/x11/xlimits.hxx>
 #include <opengl/zone.hxx>
 
@@ -915,8 +914,8 @@ X11SalFrame::~X11SalFrame()
 
     if( mpInputContext )
     {
-        mpInputContext->UnsetICFocus( this );
-        mpInputContext->Unmap( this );
+        mpInputContext->UnsetICFocus();
+        mpInputContext->Unmap();
         mpInputContext.reset();
     }
 
@@ -948,19 +947,6 @@ X11SalFrame::~X11SalFrame()
     }
 
     XDestroyWindow( GetXDisplay(), mhWindow );
-
-    /*
-     *  check if there is only the status frame left
-     *  if so, free it
-     */
-    auto &rFrames = GetDisplay()->getFrames();
-    if( ! rFrames.empty() && vcl::I18NStatus::exists() )
-    {
-        SalFrame* pStatusFrame = vcl::I18NStatus::get().getStatusFrame();
-        auto sit = rFrames.begin();
-        if( pStatusFrame && *sit == pStatusFrame && ++sit == rFrames.end() )
-            vcl::I18NStatus::free();
-    }
 }
 
 void X11SalFrame::SetExtendedFrameStyle( SalExtStyle nStyle )
@@ -1373,7 +1359,7 @@ void X11SalFrame::Show( bool bVisible, bool bNoActivate )
     else
     {
         if( getInputContext() )
-            getInputContext()->Unmap( this );
+            getInputContext()->Unmap();
 
         if( ! IsChildWindow() )
         {
@@ -2228,8 +2214,6 @@ void X11SalFrame::StartPresentation( bool bStart )
                                     mhWindow,
                                     GetXDisplay() );
 
-    vcl::I18NStatus::get().show( !bStart, vcl::I18NStatus::presentation );
-
     if( ! bStart && hPresentationWindow != None )
         doReparentPresentationDialogues( GetDisplay() );
     hPresentationWindow = (bStart && IsOverrideRedirect() ) ? GetWindow() : 
None;
@@ -2337,7 +2321,7 @@ void X11SalFrame::SetInputContext( SalInputContext* 
pContext )
     if (!(pContext->mnOptions & InputContextFlags::Text))
     {
         if( mpInputContext )
-            mpInputContext->Unmap( this );
+            mpInputContext->Unmap();
         return;
     }
 
@@ -2346,8 +2330,6 @@ void X11SalFrame::SetInputContext( SalInputContext* 
pContext )
 
     if (mpInputContext == nullptr)
     {
-        vcl::I18NStatus& rStatus( vcl::I18NStatus::get() );
-        rStatus.setParent( this );
         mpInputContext.reset( new SalI18N_InputContext( this ) );
         if (mpInputContext->UseContext())
         {
@@ -2457,8 +2439,8 @@ void X11SalFrame::createNewWindow( ::Window aNewParent, 
SalX11Screen nXScreen )
     updateGraphics(true);
     if( mpInputContext )
     {
-        mpInputContext->UnsetICFocus( this );
-        mpInputContext->Unmap( this );
+        mpInputContext->UnsetICFocus();
+        mpInputContext->Unmap();
     }
     if( GetWindow() == hPresentationWindow )
     {
@@ -3324,15 +3306,6 @@ bool X11SalFrame::HandleFocusEvent( XFocusChangeEvent 
const *pEvent )
     {
         if( FocusIn == pEvent->type )
             mpInputContext->SetICFocus( this );
-        else
-        {
-            /*
-             *  do not unset the IC focus here because would kill
-             *  a lookup choice windows that might have the focus now
-             *      mpInputContext->UnsetICFocus( this );
-             */
-            vcl::I18NStatus::get().show( false, vcl::I18NStatus::focus );
-        }
     }
 
     if ( pEvent->mode == NotifyNormal || pEvent->mode == NotifyWhileGrabbed ||
@@ -3945,17 +3918,6 @@ bool X11SalFrame::Dispatch( XEvent *pEvent )
                     CallCallback( SalEvent::Resize, nullptr );
 
                     bool bSetFocus = m_bSetFocusOnMap;
-                    /*  another workaround for sawfish: if a transient window 
for the same parent is shown
-                     *  sawfish does not set the focus to it. Applies only for 
click to focus mode.
-                     */
-                    if( ! (nStyle_ & SalFrameStyleFlags::FLOAT ) && mbInShow 
&& GetDisplay()->getWMAdaptor()->getWindowManagerName() == "Sawfish" )
-                    {
-                        // don't set the focus into the IME status window
-                        // since this will lead to a parent loss of focus, 
close status,
-                        // reget focus, open status, .... flicker loop
-                        if ( vcl::I18NStatus::get().getStatusFrame() != this )
-                            bSetFocus = true;
-                    }
 
                     /*
                      *  sometimes a message box/dialogue is brought up when a 
frame is not mapped
@@ -3999,7 +3961,7 @@ bool X11SalFrame::Dispatch( XEvent *pEvent )
                     bViewable_ = false;
                     nRet = true;
                     if ( mpInputContext != nullptr )
-                        mpInputContext->Unmap( this );
+                        mpInputContext->Unmap();
                     CallCallback( SalEvent::Resize, nullptr );
                 }
                 break;
diff --git a/vcl/unx/gtk/gtkinst.cxx b/vcl/unx/gtk/gtkinst.cxx
index 97192654c201..40cd9769b861 100644
--- a/vcl/unx/gtk/gtkinst.cxx
+++ b/vcl/unx/gtk/gtkinst.cxx
@@ -31,7 +31,6 @@
 #include <unx/gtk/gtksalmenu.hxx>
 #include <headless/svpvd.hxx>
 #include <headless/svpbmp.hxx>
-#include <salimestatus.hxx>
 #include <vcl/inputtypes.hxx>
 #include <unx/genpspgraphics.h>
 #include <rtl/strbuf.hxx>
@@ -233,16 +232,6 @@ SalObject* GtkInstance::CreateObject( SalFrame* pParent, 
SystemWindowData* pWind
     return new GtkSalObject( static_cast<GtkSalFrame*>(pParent), bShow );
 }
 
-#if !GTK_CHECK_VERSION(3,0,0)
-std::unique_ptr<SalI18NImeStatus> GtkInstance::CreateI18NImeStatus()
-{
-    //we want the default SalInstance::CreateI18NImeStatus returns the no-op
-    //stub here, not the X11Instance::CreateI18NImeStatus which the gtk2
-    //one would use otherwise
-    return SalInstance::CreateI18NImeStatus();
-}
-#endif
-
 extern "C"
 {
     typedef void*(* getDefaultFnc)();
diff --git a/vcl/win/app/salinst.cxx b/vcl/win/app/salinst.cxx
index 9fa7445f8701..d203477ad56a 100644
--- a/vcl/win/app/salinst.cxx
+++ b/vcl/win/app/salinst.cxx
@@ -47,7 +47,6 @@
 #include <win/salbmp.h>
 #include <win/winlayout.hxx>
 
-#include <salimestatus.hxx>
 #include <salsys.hxx>
 
 #include <desktop/crashreport.hxx>
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to