summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config_host.mk.in1
-rw-r--r--configure.ac11
-rw-r--r--connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx1
-rw-r--r--connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx1
-rw-r--r--cui/source/dialogs/QrCodeGenDialog.cxx4
-rw-r--r--dbaccess/source/core/api/preparedstatement.cxx4
-rw-r--r--dbaccess/source/core/api/statement.cxx11
-rw-r--r--dbaccess/source/core/inc/statement.hxx4
-rw-r--r--external/hsqldb/ExternalProject_hsqldb.mk2
-rw-r--r--vcl/inc/strings.hrc2
-rw-r--r--vcl/source/app/scheduler.cxx2
11 files changed, 29 insertions, 14 deletions
diff --git a/config_host.mk.in b/config_host.mk.in
index deafc48737d3..2ab62f748bd6 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -382,6 +382,7 @@ export JAVA_TARGET_VER=@JAVA_TARGET_VER@
export JAWTLIB=@JAWTLIB@
export JDK=@JDK@
export JDK_FOR_BUILD=@JDK_FOR_BUILD@
+export JDK_SECURITYMANAGER_DISALLOWED_FOR_BUILD=@JDK_SECURITYMANAGER_DISALLOWED_FOR_BUILD@
export JFREEREPORT_JAR=@JFREEREPORT_JAR@
export JITC_PROCESSOR_TYPE=@JITC_PROCESSOR_TYPE@
JOM=@JOM@
diff --git a/configure.ac b/configure.ac
index 37dff9cb0d54..be6d72fe237a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6236,6 +6236,7 @@ if test "$cross_compiling" = "yes"; then
JAVA_HOME
JAVAIFLAGS
JDK
+ JDK_SECURITYMANAGER_DISALLOWED
LIBO_BIN_FOLDER
LIBO_LIB_FOLDER
LIBO_URE_LIB_FOLDER
@@ -9080,6 +9081,7 @@ dnl ===================================================================
# Whether all the complexity here actually is needed any more or not, no idea.
+JDK_SECURITYMANAGER_DISALLOWED=
MODULAR_JAVA=
if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
_gij_longver=0
@@ -9104,6 +9106,13 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
if test "$_jdk_ver" -lt 10800; then
AC_MSG_ERROR([JDK is too old, you need at least 8 ($_jdk_ver < 10800)])
fi
+ dnl The Security Manager is disallowed since Java 18 (see
+ dnl <https://openjdk.java.net/jeps/411> "Deprecate the Security Manager for Removal")
+ dnl and completely removed since Java 24 (see
+ dnl <https://openjdk.org/jeps/486> "JEP 486: Permanently Disable the Security Manager"):
+ if test "$_jdk_ver" -ge 180000 && test "$_jdk_ver" -lt 240000; then
+ JDK_SECURITYMANAGER_DISALLOWED=TRUE
+ fi
JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"`
if test "$_os" = "WINNT"; then
@@ -9413,6 +9422,7 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
JAVA_HOME_FOR_BUILD=$JAVA_HOME
JAVAIFLAGS_FOR_BUILD=$JAVAIFLAGS
JDK_FOR_BUILD=$JDK
+ JDK_SECURITYMANAGER_DISALLOWED_FOR_BUILD=$JDK_SECURITYMANAGER_DISALLOWED
fi
AC_SUBST(JAVACFLAGS)
@@ -9424,6 +9434,7 @@ AC_SUBST(JAVA_HOME)
AC_SUBST(JAVA_HOME_FOR_BUILD)
AC_SUBST(JDK)
AC_SUBST(JDK_FOR_BUILD)
+AC_SUBST(JDK_SECURITYMANAGER_DISALLOWED_FOR_BUILD)
AC_SUBST(JAVA_SOURCE_VER)
AC_SUBST(JAVA_TARGET_VER)
AC_SUBST(MODULAR_JAVA)
diff --git a/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx b/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx
index 3e5f94a996d9..bc5b08f5550d 100644
--- a/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx
+++ b/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx
@@ -84,7 +84,6 @@ void ODatabaseMetaDataResultSet::disposing()
m_pConnection->freeStatementHandle(m_aStatementHandle);
- m_aStatement.clear();
m_xMetaData.clear();
m_pConnection.clear();
}
diff --git a/connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx b/connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx
index 6056041020ab..f88005394199 100644
--- a/connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx
+++ b/connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx
@@ -68,7 +68,6 @@ namespace connectivity::odbc
std::map<sal_Int32,SWORD> m_aODBCColumnTypes;
SQLHANDLE m_aStatementHandle; // ... until freed
- css::uno::WeakReferenceHelper m_aStatement;
rtl::Reference<OResultSetMetaData> m_xMetaData;
std::unique_ptr<SQLUSMALLINT[]> m_pRowStatusArray;
rtl::Reference<OConnection> m_pConnection;
diff --git a/cui/source/dialogs/QrCodeGenDialog.cxx b/cui/source/dialogs/QrCodeGenDialog.cxx
index f5161458f4c5..1d8928bcb7a8 100644
--- a/cui/source/dialogs/QrCodeGenDialog.cxx
+++ b/cui/source/dialogs/QrCodeGenDialog.cxx
@@ -19,7 +19,11 @@
#include <vcl/svapp.hxx>
#if ENABLE_ZXING
+#if __has_include(<Version.h>)
#include <Version.h>
+#else
+#include <ZXVersion.h>
+#endif
#include <rtl/strbuf.hxx>
#ifdef __GNUC__
diff --git a/dbaccess/source/core/api/preparedstatement.cxx b/dbaccess/source/core/api/preparedstatement.cxx
index ecb1a4c1e348..506da4908f44 100644
--- a/dbaccess/source/core/api/preparedstatement.cxx
+++ b/dbaccess/source/core/api/preparedstatement.cxx
@@ -187,14 +187,14 @@ Reference< XResultSet > OPreparedStatement::executeQuery()
disposeResultSet();
- Reference< XResultSet > xResultSet;
+ rtl::Reference< OResultSet > xResultSet;
Reference< XResultSet > xDrvResultSet = Reference< XPreparedStatement >( m_xAggregateAsSet, UNO_QUERY_THROW )->executeQuery();
if (xDrvResultSet.is())
{
xResultSet = new OResultSet(xDrvResultSet, *this, m_pColumns->isCaseSensitive());
// keep the resultset weak
- m_aResultSet = xResultSet;
+ m_xWeakResultSet = xResultSet.get();
}
return xResultSet;
}
diff --git a/dbaccess/source/core/api/statement.cxx b/dbaccess/source/core/api/statement.cxx
index 552a8142d491..0334802ab244 100644
--- a/dbaccess/source/core/api/statement.cxx
+++ b/dbaccess/source/core/api/statement.cxx
@@ -123,10 +123,9 @@ void OStatementBase::release() noexcept
void OStatementBase::disposeResultSet()
{
// free the cursor if alive
- Reference< XComponent > xComp(m_aResultSet.get(), UNO_QUERY);
- if (xComp.is())
- xComp->dispose();
- m_aResultSet.clear();
+ if (auto xRes = m_xWeakResultSet.get())
+ xRes->dispose();
+ m_xWeakResultSet.clear();
}
// OComponentHelper
@@ -454,7 +453,7 @@ Reference< XResultSet > OStatement::executeQuery( const OUString& _rSQL )
::connectivity::checkDisposed(WeakComponentImplHelper::rBHelper.bDisposed);
disposeResultSet();
- Reference< XResultSet > xResultSet;
+ rtl::Reference< OResultSet > xResultSet;
OUString sSQL( impl_doEscapeProcessing_nothrow( _rSQL ) );
@@ -468,7 +467,7 @@ Reference< XResultSet > OStatement::executeQuery( const OUString& _rSQL )
xResultSet = new OResultSet( xInnerResultSet, *this, bCaseSensitive );
// keep the resultset weak
- m_aResultSet = xResultSet;
+ m_xWeakResultSet = xResultSet.get();
}
return xResultSet;
diff --git a/dbaccess/source/core/inc/statement.hxx b/dbaccess/source/core/inc/statement.hxx
index 3ab67085164f..17726d7d0f0b 100644
--- a/dbaccess/source/core/inc/statement.hxx
+++ b/dbaccess/source/core/inc/statement.hxx
@@ -36,7 +36,7 @@
#include <cppuhelper/compbase.hxx>
#include <unotools/weakref.hxx>
-namespace dbaccess { class OConnection; }
+namespace dbaccess { class OConnection; class OResultSet; }
// OStatementBase
@@ -55,7 +55,7 @@ protected:
unotools::WeakReference<::dbaccess::OConnection> m_xParent;
::osl::Mutex m_aCancelMutex;
- css::uno::WeakReferenceHelper m_aResultSet;
+ unotools::WeakReference<::dbaccess::OResultSet> m_xWeakResultSet;
css::uno::Reference< css::beans::XPropertySet > m_xAggregateAsSet;
css::uno::Reference< css::util::XCancellable > m_xAggregateAsCancellable;
bool m_bUseBookmarks;
diff --git a/external/hsqldb/ExternalProject_hsqldb.mk b/external/hsqldb/ExternalProject_hsqldb.mk
index a3dfcade6b87..4e5c750c7f3c 100644
--- a/external/hsqldb/ExternalProject_hsqldb.mk
+++ b/external/hsqldb/ExternalProject_hsqldb.mk
@@ -22,6 +22,8 @@ $(call gb_ExternalProject_get_state_target,hsqldb,build) :
$(call gb_Trace_StartRange,hsqldb,EXTERNAL)
$(call gb_ExternalProject_run,build,\
unset MSYS_NO_PATHCONV && JAVA_HOME=$(JAVA_HOME_FOR_BUILD) \
+ $(if $(JDK_SECURITYMANAGER_DISALLOWED_FOR_BUILD), \
+ ANT_OPTS="$$ANT_OPTS -Djava.security.manager=allow") \
$(ICECREAM_RUN) "$(ANT)" \
$(if $(verbose),-v,-q) \
-f build/build.xml \
diff --git a/vcl/inc/strings.hrc b/vcl/inc/strings.hrc
index c4f173fc0f40..76bb4886effc 100644
--- a/vcl/inc/strings.hrc
+++ b/vcl/inc/strings.hrc
@@ -64,7 +64,7 @@
#define SV_STDTEXT_SERVICENOTAVAILABLE NC_("SV_STDTEXT_SERVICENOTAVAILABLE", "The component (%s) could not be loaded.\nPlease start setup with the repair option.")
#define SV_STDTEXT_ABOUT NC_("SV_STDTEXT_ABOUT", "About %PRODUCTNAME")
-#define SV_STDTEXT_PREFERENCES NC_("SV_STDTEXT_PREFERENCES", "Preferences...")
+#define SV_STDTEXT_PREFERENCES NC_("SV_STDTEXT_PREFERENCES", "Settings...")
#define SV_STDTEXT_ALLFILETYPES NC_("SV_STDTEXT_ALLFILETYPES", "Any type")
#define SV_ACCESSERROR_NO_FONTS NC_("SV_ACCESSERROR_NO_FONTS", "No fonts could be found on the system.")
diff --git a/vcl/source/app/scheduler.cxx b/vcl/source/app/scheduler.cxx
index fe9393292271..5a0104ffc140 100644
--- a/vcl/source/app/scheduler.cxx
+++ b/vcl/source/app/scheduler.cxx
@@ -552,7 +552,7 @@ void Scheduler::CallbackTaskScheduling()
// on macOS is now much smoother. Even with Skia disabled (which
// does not paint using a task but does use tasks to handle live
// resizing), the content resizes much more quickly when a user
- // repidly changes window's size.
+ // rapidly changes window's size.
if (bIsLowerPriorityIdle && pMostUrgent->mePriority <= TaskPriority::POST_PAINT)
bIsLowerPriorityIdle = false;
#endif