diff options
-rw-r--r-- | config_host.mk.in | 1 | ||||
-rw-r--r-- | configure.ac | 11 | ||||
-rw-r--r-- | connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx | 1 | ||||
-rw-r--r-- | connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx | 1 | ||||
-rw-r--r-- | cui/source/dialogs/QrCodeGenDialog.cxx | 4 | ||||
-rw-r--r-- | dbaccess/source/core/api/preparedstatement.cxx | 4 | ||||
-rw-r--r-- | dbaccess/source/core/api/statement.cxx | 11 | ||||
-rw-r--r-- | dbaccess/source/core/inc/statement.hxx | 4 | ||||
-rw-r--r-- | external/hsqldb/ExternalProject_hsqldb.mk | 2 | ||||
-rw-r--r-- | vcl/inc/strings.hrc | 2 | ||||
-rw-r--r-- | vcl/source/app/scheduler.cxx | 2 |
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 |