summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cppu/source/uno/EnvStack.cxx14
-rw-r--r--padmin/source/pamain.cxx6
-rw-r--r--svx/source/gengal/gengal.cxx6
-rw-r--r--unotools/source/config/useroptions.cxx48
-rw-r--r--vcl/Library_vcl.mk6
-rw-r--r--vcl/Package_inc.mk1
-rw-r--r--vcl/aqua/source/dtrans/DataFlavorMapping.cxx47
-rw-r--r--vcl/aqua/source/dtrans/OSXTransferable.cxx7
-rw-r--r--vcl/inc/vcl/vclmain.hxx27
-rw-r--r--vcl/ios/source/dtrans/iOSTransferable.cxx7
-rw-r--r--vcl/source/salmain/salmain.cxx2
-rw-r--r--vcl/source/uipreviewer/previewer.cxx6
12 files changed, 101 insertions, 76 deletions
diff --git a/cppu/source/uno/EnvStack.cxx b/cppu/source/uno/EnvStack.cxx
index f4521c3bdeda..cafd4fe23b75 100644
--- a/cppu/source/uno/EnvStack.cxx
+++ b/cppu/source/uno/EnvStack.cxx
@@ -67,8 +67,6 @@ namespace
struct s_threadMap : public rtl::Static< ThreadMap, s_threadMap > {};
}
-static rtl::OUString s_uno_envDcp(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO));
-
static void s_setCurrent(uno_Environment * pEnv)
{
oslThreadIdentifier threadId = osl_getThreadIdentifier(NULL);
@@ -128,8 +126,10 @@ extern "C" CPPU_DLLPUBLIC void SAL_CALL uno_getCurrentEnvironment(uno_Environmen
(*ppEnv)->acquire(*ppEnv);
}
else
- uno_getEnvironment(ppEnv, s_uno_envDcp.pData, NULL);
-
+ {
+ rtl::OUString uno_envDcp(UNO_LB_UNO);
+ uno_getEnvironment(ppEnv, uno_envDcp.pData, NULL);
+ }
}
}
@@ -196,7 +196,7 @@ static int s_getNextEnv(uno_Environment ** ppEnv, uno_Environment * pCurrEnv, un
if (!nextPurpose.isEmpty())
{
- rtl::OUString next_envDcp(s_uno_envDcp);
+ rtl::OUString next_envDcp(UNO_LB_UNO);
next_envDcp += nextPurpose;
uno_getEnvironment(ppEnv, next_envDcp.pData, NULL);
@@ -355,7 +355,7 @@ CPPU_DLLPUBLIC int SAL_CALL uno_Environment_isValid(uno_Environment * pEnv, rtl_
int result = 1;
rtl::OUString typeName(cppu::EnvDcp::getTypeName(pEnv->pTypeName));
- if (typeName.equals(s_uno_envDcp))
+ if (typeName == UNO_LB_UNO)
{
cppu::Enterable * pEnterable = reinterpret_cast<cppu::Enterable *>(pEnv->pReserved);
if (pEnterable)
@@ -363,7 +363,7 @@ CPPU_DLLPUBLIC int SAL_CALL uno_Environment_isValid(uno_Environment * pEnv, rtl_
}
else
{
- rtl::OUString envDcp(s_uno_envDcp);
+ rtl::OUString envDcp(UNO_LB_UNO);
envDcp += cppu::EnvDcp::getPurpose(pEnv->pTypeName);
uno::Environment env(envDcp);
diff --git a/padmin/source/pamain.cxx b/padmin/source/pamain.cxx
index 6f6e2e3e722e..70f9267bfdb3 100644
--- a/padmin/source/pamain.cxx
+++ b/padmin/source/pamain.cxx
@@ -21,6 +21,7 @@
#include <unistd.h>
#include "vcl/svapp.hxx"
+#include "vcl/vclmain.hxx"
#include "vcl/wrkwin.hxx"
#include "vcl/unowrap.hxx"
@@ -53,7 +54,10 @@ public:
static rtl::OUString ReadStringHook( const rtl::OUString& );
};
-MyApp aMyApp;
+void vclmain::createApplication()
+{
+ static MyApp aMyApp;
+}
rtl::OUString MyApp::ReadStringHook( const rtl::OUString& rStr )
{
diff --git a/svx/source/gengal/gengal.cxx b/svx/source/gengal/gengal.cxx
index 21b86b874c51..6d296fc4876e 100644
--- a/svx/source/gengal/gengal.cxx
+++ b/svx/source/gengal/gengal.cxx
@@ -47,6 +47,7 @@
#include <tools/urlobj.hxx>
#include <tools/fsys.hxx>
+#include <vcl/vclmain.hxx>
#include <vcl/window.hxx>
#include <vcl/svapp.hxx>
#include <vcl/font.hxx>
@@ -261,6 +262,9 @@ int GalApp::Main()
return EXIT_SUCCESS;
}
-GalApp aGalApp;
+void vclmain::createApplication()
+{
+ static GalApp aGalApp;
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/unotools/source/config/useroptions.cxx b/unotools/source/config/useroptions.cxx
index 8af1121f9e42..5da601831adb 100644
--- a/unotools/source/config/useroptions.cxx
+++ b/unotools/source/config/useroptions.cxx
@@ -51,29 +51,27 @@ using rtl::OUString;
namespace
{
-OUString const sData = "org.openoffice.UserProfile/Data";
-
// vOptionNames[] -- names of the user option entries
// The order corresponds to the #define USER_OPT_* list in useroptions.hxx.
-OUString const vOptionNames[] = {
- OUString("l"), // USER_OPT_CITY
- OUString("o"), // USER_OPT_COMPANY
- OUString("c"), // USER_OPT_COUNTRY
- OUString("mail"), // USER_OPT_EMAIL
- OUString("facsimiletelephonenumber"), // USER_OPT_FAX
- OUString("givenname"), // USER_OPT_FIRSTNAME
- OUString("sn"), // USER_OPT_LASTNAME
- OUString("position"), // USER_OPT_POSITION
- OUString("st"), // USER_OPT_STATE
- OUString("street"), // USER_OPT_STREET
- OUString("homephone"), // USER_OPT_TELEPHONEHOME
- OUString("telephonenumber"), // USER_OPT_TELEPHONEWORK
- OUString("title"), // USER_OPT_TITLE
- OUString("initials"), // USER_OPT_ID
- OUString("postalcode"), // USER_OPT_ZIP
- OUString("fathersname"), // USER_OPT_FATHERSNAME
- OUString("apartment"), // USER_OPT_APARTMENT
- OUString("customernumber") // USER_OPT_CUSTOMERNUMBER
+char const * const vOptionNames[] = {
+ "l", // USER_OPT_CITY
+ "o", // USER_OPT_COMPANY
+ "c", // USER_OPT_COUNTRY
+ "mail", // USER_OPT_EMAIL
+ "facsimiletelephonenumber", // USER_OPT_FAX
+ "givenname", // USER_OPT_FIRSTNAME
+ "sn", // USER_OPT_LASTNAME
+ "position", // USER_OPT_POSITION
+ "st", // USER_OPT_STATE
+ "street", // USER_OPT_STREET
+ "homephone", // USER_OPT_TELEPHONEHOME
+ "telephonenumber", // USER_OPT_TELEPHONEWORK
+ "title", // USER_OPT_TITLE
+ "initials", // USER_OPT_ID
+ "postalcode", // USER_OPT_ZIP
+ "fathersname", // USER_OPT_FATHERSNAME
+ "apartment", // USER_OPT_APARTMENT
+ "customernumber" // USER_OPT_CUSTOMERNUMBER
};
const sal_uInt16 nOptionNameCount = SAL_N_ELEMENTS(vOptionNames);
@@ -147,7 +145,7 @@ SvtUserOptions::Impl::Impl() :
m_xCfg = uno::Reference<container::XNameAccess>(
comphelper::ConfigurationHelper::openConfig(
comphelper::getProcessComponentContext(),
- sData,
+ "org.openoffice.UserProfile/Data",
comphelper::ConfigurationHelper::E_STANDARD
),
uno::UNO_QUERY
@@ -180,7 +178,7 @@ OUString SvtUserOptions::Impl::GetToken (sal_uInt16 nToken) const
try
{
if (m_xData.is())
- m_xData->getPropertyValue(vOptionNames[nToken]) >>= sToken;
+ m_xData->getPropertyValue(OUString::createFromAscii(vOptionNames[nToken])) >>= sToken;
}
catch (uno::Exception const& ex)
{
@@ -201,7 +199,7 @@ void SvtUserOptions::Impl::SetToken (sal_uInt16 nToken, OUString const& sToken)
try
{
if (m_xData.is())
- m_xData->setPropertyValue(vOptionNames[nToken], uno::makeAny(sToken));
+ m_xData->setPropertyValue(OUString::createFromAscii(vOptionNames[nToken]), uno::makeAny(sToken));
comphelper::ConfigurationHelper::flush(m_xCfg);
}
catch (uno::Exception const& ex)
@@ -240,7 +238,7 @@ sal_Bool SvtUserOptions::Impl::IsTokenReadonly (sal_uInt16 nToken) const
{
uno::Reference<beans::XPropertySet> xData(m_xCfg, uno::UNO_QUERY);
uno::Reference<beans::XPropertySetInfo> xInfo = xData->getPropertySetInfo();
- beans::Property aProp = xInfo->getPropertyByName(vOptionNames[nToken]);
+ beans::Property aProp = xInfo->getPropertyByName(OUString::createFromAscii(vOptionNames[nToken]));
return ((aProp.Attributes & beans::PropertyAttribute::READONLY) ==
beans::PropertyAttribute::READONLY);
}
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index 004325af146f..18592d4e146d 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -661,12 +661,6 @@ $(eval $(call gb_Library_add_ldflags,vcl,\
endif
endif
-ifneq ($(OS),IOS)
-$(eval $(call gb_Library_use_static_libraries,vcl,\
- vclmain \
-))
-endif
-
# Runtime dependency for unit-tests
$(call gb_LinkTarget_get_target,$(call gb_Library_get_linktargetname,vcl)) :| \
$(call gb_AllLangResTarget_get_target,vcl)
diff --git a/vcl/Package_inc.mk b/vcl/Package_inc.mk
index 1c488bed8cb0..3f37b7442ad2 100644
--- a/vcl/Package_inc.mk
+++ b/vcl/Package_inc.mk
@@ -156,6 +156,7 @@ $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/unohelp.hxx,vcl/unohelp.hxx))
$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/unowrap.hxx,vcl/unowrap.hxx))
$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/vclenum.hxx,vcl/vclenum.hxx))
$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/vclevent.hxx,vcl/vclevent.hxx))
+$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/vclmain.hxx,vcl/vclmain.hxx))
$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/vclmedit.hxx,vcl/vclmedit.hxx))
$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/virdev.hxx,vcl/virdev.hxx))
$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/waitobj.hxx,vcl/waitobj.hxx))
diff --git a/vcl/aqua/source/dtrans/DataFlavorMapping.cxx b/vcl/aqua/source/dtrans/DataFlavorMapping.cxx
index 47fad6bd38f3..80ec5c35a6eb 100644
--- a/vcl/aqua/source/dtrans/DataFlavorMapping.cxx
+++ b/vcl/aqua/source/dtrans/DataFlavorMapping.cxx
@@ -48,16 +48,13 @@ using ::rtl::OString;
namespace // private
{
- const Type CPPUTYPE_SEQINT8 = getCppuType((Sequence<sal_Int8>*)0);
- const Type CPPUTYPE_OUSTRING = getCppuType( (OUString*)0 );
-
/* Determine whether or not a DataFlavor is valid.
*/
bool isValidFlavor(const DataFlavor& aFlavor)
{
size_t len = aFlavor.MimeType.getLength();
Type dtype = aFlavor.DataType;
- return ((len > 0) && ((dtype == CPPUTYPE_SEQINT8) || (dtype == CPPUTYPE_OUSTRING)));
+ return ((len > 0) && ((dtype == getCppuType((Sequence<sal_Int8>*)0)) || (dtype == getCppuType( (OUString*)0 ))));
}
NSString* PBTYPE_SODX = @"application/x-openoffice-objectdescriptor-xml;windows_formatname=\"Star Object Descriptor (XML)\"";
@@ -92,7 +89,7 @@ namespace // private
NSString* SystemFlavor;
const char* OOoFlavor;
const char* HumanPresentableName;
- Type DataType;
+ bool DataTypeOUString; // sequence<byte> otherwise
};
// NSPICTPboardType is deprecated in 10.6 and later
@@ -113,23 +110,23 @@ namespace // private
*/
FlavorMap flavorMap[] =
{
- { NSStringPboardType, "text/plain;charset=utf-16", "Unicode Text (UTF-16)", CPPUTYPE_OUSTRING },
- { NSRTFPboardType, "text/richtext", "Rich Text Format", CPPUTYPE_SEQINT8 },
- { NSTIFFPboardType, "image/bmp", "Windows Bitmap", CPPUTYPE_SEQINT8 },
- { NSPICTPboardType, "image/bmp", "Windows Bitmap", CPPUTYPE_SEQINT8 },
- { NSHTMLPboardType, "text/html", "Plain Html", CPPUTYPE_SEQINT8 },
- { NSFilenamesPboardType, "application/x-openoffice-filelist;windows_formatname=\"FileList\"", "FileList", CPPUTYPE_SEQINT8 },
- { PBTYPE_SESX, FLAVOR_SESX, "Star Embed Source (XML)", CPPUTYPE_SEQINT8 },
- { PBTYPE_SLSDX, FLAVOR_SLSDX, "Star Link Source Descriptor (XML)", CPPUTYPE_SEQINT8 },
- { PBTYPE_ESX, FLAVOR_ESX, "Star Embed Source (XML)", CPPUTYPE_SEQINT8 },
- { PBTYPE_LSX, FLAVOR_LSX, "Star Link Source (XML)", CPPUTYPE_SEQINT8 },
- { PBTYPE_EOX, FLAVOR_EOX, "Star Embedded Object (XML)", CPPUTYPE_SEQINT8 },
- { PBTYPE_SVXB, FLAVOR_SVXB, "SVXB (StarView Bitmap/Animation", CPPUTYPE_SEQINT8 },
- { PBTYPE_GDIMF, FLAVOR_GDIMF, "GDIMetaFile", CPPUTYPE_SEQINT8 },
- { PBTYPE_WMF, FLAVOR_WMF, "Windows MetaFile", CPPUTYPE_SEQINT8 },
- { PBTYPE_EMF, FLAVOR_EMF, "Windows Enhanced MetaFile", CPPUTYPE_SEQINT8 },
- { PBTYPE_SODX, FLAVOR_SODX, "Star Object Descriptor (XML)", CPPUTYPE_SEQINT8 },
- { PBTYPE_DUMMY_INTERNAL, FLAVOR_DUMMY_INTERNAL, "internal data",CPPUTYPE_SEQINT8 }
+ { NSStringPboardType, "text/plain;charset=utf-16", "Unicode Text (UTF-16)", true },
+ { NSRTFPboardType, "text/richtext", "Rich Text Format", false },
+ { NSTIFFPboardType, "image/bmp", "Windows Bitmap", false },
+ { NSPICTPboardType, "image/bmp", "Windows Bitmap", false },
+ { NSHTMLPboardType, "text/html", "Plain Html", false },
+ { NSFilenamesPboardType, "application/x-openoffice-filelist;windows_formatname=\"FileList\"", "FileList", false },
+ { PBTYPE_SESX, FLAVOR_SESX, "Star Embed Source (XML)", false },
+ { PBTYPE_SLSDX, FLAVOR_SLSDX, "Star Link Source Descriptor (XML)", false },
+ { PBTYPE_ESX, FLAVOR_ESX, "Star Embed Source (XML)", false },
+ { PBTYPE_LSX, FLAVOR_LSX, "Star Link Source (XML)", false },
+ { PBTYPE_EOX, FLAVOR_EOX, "Star Embedded Object (XML)", false },
+ { PBTYPE_SVXB, FLAVOR_SVXB, "SVXB (StarView Bitmap/Animation", false },
+ { PBTYPE_GDIMF, FLAVOR_GDIMF, "GDIMetaFile", false },
+ { PBTYPE_WMF, FLAVOR_WMF, "Windows MetaFile", false },
+ { PBTYPE_EMF, FLAVOR_EMF, "Windows Enhanced MetaFile", false },
+ { PBTYPE_SODX, FLAVOR_SODX, "Star Object Descriptor (XML)", false },
+ { PBTYPE_DUMMY_INTERNAL, FLAVOR_DUMMY_INTERNAL, "internal data",false }
};
@@ -138,12 +135,12 @@ namespace // private
inline bool isByteSequenceType(const Type& theType)
{
- return (theType == CPPUTYPE_SEQINT8);
+ return (theType == getCppuType((Sequence<sal_Int8>*)0));
}
inline bool isOUStringType(const Type& theType)
{
- return (theType == CPPUTYPE_OUSTRING);
+ return (theType == getCppuType( (OUString*)0 ));
}
} // namespace private
@@ -519,7 +516,7 @@ DataFlavor DataFlavorMapper::systemToOpenOfficeFlavor(NSString* systemDataFlavor
{
oOOFlavor.MimeType = OUString::createFromAscii(flavorMap[i].OOoFlavor);
oOOFlavor.HumanPresentableName = OUString(RTL_CONSTASCII_USTRINGPARAM(flavorMap[i].HumanPresentableName));
- oOOFlavor.DataType = flavorMap[i].DataType;
+ oOOFlavor.DataType = flavorMap[i].DataTypeOUString ? getCppuType( (OUString*)0 ) : getCppuType((Sequence<sal_Int8>*)0);
return oOOFlavor;
}
} // for
diff --git a/vcl/aqua/source/dtrans/OSXTransferable.cxx b/vcl/aqua/source/dtrans/OSXTransferable.cxx
index ec393b0d54cc..0f6c57d06ef7 100644
--- a/vcl/aqua/source/dtrans/OSXTransferable.cxx
+++ b/vcl/aqua/source/dtrans/OSXTransferable.cxx
@@ -34,16 +34,13 @@ using namespace com::sun::star::container;
using ::rtl::OUString;
-const Type CPPUTYPE_SEQINT8 = getCppuType((Sequence<sal_Int8>*)0);
-const Type CPPUTYPE_OUSTRING = getCppuType((OUString*)0);
-
namespace // private
{
bool isValidFlavor( const DataFlavor& aFlavor )
{
size_t len = aFlavor.MimeType.getLength();
Type dtype = aFlavor.DataType;
- return ((len > 0) && ((dtype == CPPUTYPE_SEQINT8) || (dtype == CPPUTYPE_OUSTRING)));
+ return ((len > 0) && ((dtype == getCppuType((Sequence<sal_Int8>*)0)) || (dtype == getCppuType((OUString*)0))));
}
} // namespace private
@@ -106,7 +103,7 @@ Any SAL_CALL OSXTransferable::getTransferData( const DataFlavor& aFlavor )
bool OSXTransferable::isUnicodeText(const DataFlavor& flavor)
{
- return (flavor.DataType == CPPUTYPE_OUSTRING);
+ return (flavor.DataType == getCppuType((OUString*)0));
}
diff --git a/vcl/inc/vcl/vclmain.hxx b/vcl/inc/vcl/vclmain.hxx
new file mode 100644
index 000000000000..1b60cfba42ce
--- /dev/null
+++ b/vcl/inc/vcl/vclmain.hxx
@@ -0,0 +1,27 @@
+/* -*- 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/.
+ */
+
+#ifndef INCLUDED_VCL_VCLMAIN_HXX
+#define INCLUDED_VCL_VCLMAIN_HXX
+
+#include "sal/config.h"
+
+namespace vclmain {
+
+// Function called from vclmain's implementation of main, needs to be
+// implemented by the application and needs to instantiate a (static, derived)
+// instance of Application (where the Application constructor takes care to link
+// that instance to ImplSVData.mpApp):
+void createApplication();
+
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/ios/source/dtrans/iOSTransferable.cxx b/vcl/ios/source/dtrans/iOSTransferable.cxx
index 603b6b949f0d..1f335403d1ff 100644
--- a/vcl/ios/source/dtrans/iOSTransferable.cxx
+++ b/vcl/ios/source/dtrans/iOSTransferable.cxx
@@ -32,16 +32,13 @@ using namespace com::sun::star::container;
using ::rtl::OUString;
-const Type CPPUTYPE_SEQINT8 = getCppuType((Sequence<sal_Int8>*)0);
-const Type CPPUTYPE_OUSTRING = getCppuType((OUString*)0);
-
namespace // private
{
bool isValidFlavor( const DataFlavor& aFlavor )
{
size_t len = aFlavor.MimeType.getLength();
Type dtype = aFlavor.DataType;
- return ((len > 0) && ((dtype == CPPUTYPE_SEQINT8) || (dtype == CPPUTYPE_OUSTRING)));
+ return ((len > 0) && ((dtype == getCppuType((Sequence<sal_Int8>*)0)) || (dtype == getCppuType((OUString*)0))));
}
} // namespace private
@@ -82,7 +79,7 @@ Any SAL_CALL iOSTransferable::getTransferData( const DataFlavor& aFlavor )
bool iOSTransferable::isUnicodeText(const DataFlavor& flavor)
{
- return (flavor.DataType == CPPUTYPE_OUSTRING);
+ return (flavor.DataType == getCppuType((OUString*)0));
}
diff --git a/vcl/source/salmain/salmain.cxx b/vcl/source/salmain/salmain.cxx
index 0718260e4e42..13cd13fe4f99 100644
--- a/vcl/source/salmain/salmain.cxx
+++ b/vcl/source/salmain/salmain.cxx
@@ -23,11 +23,13 @@
#include "sal/main.h"
#include "tools/extendapplicationenvironment.hxx"
+#include "vcl/vclmain.hxx"
#include "salinst.hxx"
SAL_IMPLEMENT_MAIN() {
tools::extendApplicationEnvironment();
+ vclmain::createApplication();
return SVMain();
}
diff --git a/vcl/source/uipreviewer/previewer.cxx b/vcl/source/uipreviewer/previewer.cxx
index 7abb9def5c3b..939c55342744 100644
--- a/vcl/source/uipreviewer/previewer.cxx
+++ b/vcl/source/uipreviewer/previewer.cxx
@@ -18,6 +18,7 @@
#include <vcl/dialog.hxx>
#include <vcl/help.hxx>
#include <vcl/svapp.hxx>
+#include <vcl/vclmain.hxx>
class UIPreviewApp : public Application
{
@@ -88,6 +89,9 @@ int UIPreviewApp::Main()
return EXIT_SUCCESS;
}
-UIPreviewApp aApp;
+void vclmain::createApplication()
+{
+ static UIPreviewApp aApp;
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */