summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/inc/salinst.hxx4
-rw-r--r--vcl/inc/svdata.hxx2
-rw-r--r--vcl/inc/unx/gtk/gtkinst.hxx2
-rw-r--r--vcl/inc/unx/salinst.h2
-rw-r--r--vcl/source/app/salvtables.cxx4
-rw-r--r--vcl/source/app/svmain.cxx3
-rw-r--r--vcl/unx/generic/app/i18n_status.cxx4
-rw-r--r--vcl/unx/gtk/gtkinst.cxx3
8 files changed, 12 insertions, 12 deletions
diff --git a/vcl/inc/salinst.hxx b/vcl/inc/salinst.hxx
index b4e8ed85e4d8..346352486b30 100644
--- a/vcl/inc/salinst.hxx
+++ b/vcl/inc/salinst.hxx
@@ -127,8 +127,8 @@ public:
// SalTimer
virtual SalTimer* CreateSalTimer() = 0;
- // SalI18NImeStatus
- virtual SalI18NImeStatus*
+ // interface to ime status window, only used by the X11 backend
+ virtual std::unique_ptr<SalI18NImeStatus>
CreateI18NImeStatus();
// SalSystem
virtual SalSystem* CreateSalSystem() = 0;
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index 09cd76695b62..233ff8add528 100644
--- a/vcl/inc/svdata.hxx
+++ b/vcl/inc/svdata.hxx
@@ -340,7 +340,7 @@ struct ImplSVData
Application* mpApp = nullptr; // pApp
VclPtr<WorkWindow> mpDefaultWin; // Default-Window
bool mbDeInit = false; // Is VCL deinitializing
- SalI18NImeStatus* mpImeStatus = nullptr; // interface to ime status window
+ std::unique_ptr<SalI18NImeStatus> mpImeStatus; // interface to ime status window, only used by the X11 backend
SalSystem* mpSalSystem = nullptr; // SalSystem interface
bool mbResLocaleSet = false; // SV-Resource-Manager
std::locale maResLocale; // Resource locale
diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx
index 41ba5675df0b..aea9e0223fe6 100644
--- a/vcl/inc/unx/gtk/gtkinst.hxx
+++ b/vcl/inc/unx/gtk/gtkinst.hxx
@@ -193,7 +193,7 @@ public:
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 SalI18NImeStatus* CreateI18NImeStatus() override;
+ virtual std::unique_ptr<SalI18NImeStatus> CreateI18NImeStatus() override;
#endif
virtual SalSystem* CreateSalSystem() override;
virtual SalInfoPrinter* CreateInfoPrinter(SalPrinterQueueInfo* pPrinterQueueInfo, ImplJobSetup* pJobSetup) override;
diff --git a/vcl/inc/unx/salinst.h b/vcl/inc/unx/salinst.h
index a35c2755b5d8..2e404dbe76e8 100644
--- a/vcl/inc/unx/salinst.h
+++ b/vcl/inc/unx/salinst.h
@@ -69,7 +69,7 @@ public:
virtual GenPspGraphics *CreatePrintGraphics() override;
virtual SalTimer* CreateSalTimer() override;
- virtual SalI18NImeStatus* CreateI18NImeStatus() override;
+ virtual std::unique_ptr<SalI18NImeStatus> CreateI18NImeStatus() override;
virtual SalSystem* CreateSalSystem() override;
virtual SalBitmap* CreateSalBitmap() override;
virtual SalSession* CreateSalSession() override;
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 0772b53943ee..ca3b6fb3aa00 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -107,9 +107,9 @@ bool SalInstance::CallEventCallback( void const * pEvent, int nBytes )
return m_pEventInst.is() && m_pEventInst->dispatchEvent( pEvent, nBytes );
}
-SalI18NImeStatus* SalInstance::CreateI18NImeStatus()
+std::unique_ptr<SalI18NImeStatus> SalInstance::CreateI18NImeStatus()
{
- return new SalI18NImeStatus;
+ return std::unique_ptr<SalI18NImeStatus>(new SalI18NImeStatus);
}
SalTimer::~SalTimer() COVERITY_NOEXCEPT_FALSE
diff --git a/vcl/source/app/svmain.cxx b/vcl/source/app/svmain.cxx
index bd7a4d6890ea..c2de4819b541 100644
--- a/vcl/source/app/svmain.cxx
+++ b/vcl/source/app/svmain.cxx
@@ -433,8 +433,7 @@ void DeInitVCL()
vcl::DeleteOnDeinitBase::ImplDeleteOnDeInit();
// give ime status a chance to destroy its own windows
- delete pSVData->mpImeStatus;
- pSVData->mpImeStatus = nullptr;
+ pSVData->mpImeStatus.reset();
#if OSL_DEBUG_LEVEL > 0
OStringBuffer aBuf( 256 );
diff --git a/vcl/unx/generic/app/i18n_status.cxx b/vcl/unx/generic/app/i18n_status.cxx
index c80846e621ca..6a27ed8ac6c7 100644
--- a/vcl/unx/generic/app/i18n_status.cxx
+++ b/vcl/unx/generic/app/i18n_status.cxx
@@ -431,9 +431,9 @@ void X11ImeStatus::toggle()
vcl::I18NStatus::get().toggleStatusWindow();
}
-SalI18NImeStatus* X11SalInstance::CreateI18NImeStatus()
+std::unique_ptr<SalI18NImeStatus> X11SalInstance::CreateI18NImeStatus()
{
- return new X11ImeStatus();
+ return std::unique_ptr<SalI18NImeStatus>(new X11ImeStatus());
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/unx/gtk/gtkinst.cxx b/vcl/unx/gtk/gtkinst.cxx
index 42bb9e6e2423..4e168ca6dcf2 100644
--- a/vcl/unx/gtk/gtkinst.cxx
+++ b/vcl/unx/gtk/gtkinst.cxx
@@ -31,6 +31,7 @@
#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>
@@ -226,7 +227,7 @@ SalObject* GtkInstance::CreateObject( SalFrame* pParent, SystemWindowData* pWind
}
#if !GTK_CHECK_VERSION(3,0,0)
-SalI18NImeStatus* GtkInstance::CreateI18NImeStatus()
+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