desktop/unx/source/start.c                     |    4 ++--
 svtools/source/java/javainteractionhandler.cxx |   11 +++++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)

New commits:
commit cccb93cba84a1a5edce69099ce581ad6dca47258
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Sun Jun 1 22:40:47 2025 +0500
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Mon Jun 2 06:13:38 2025 +0200

    tdf#163485: do not report javaldx failure immediately
    
    Transfer the warning from oosplash to soffice.bin in an environment
    variable, and show it in JavaVMCreationFailureException handler.
    
    Change-Id: Ia3a6a94b2723c74000b7da54d59f4e19576e2692
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186115
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c
index ee4358bc904d..0b1cdd866337 100644
--- a/desktop/unx/source/start.c
+++ b/desktop/unx/source/start.c
@@ -661,7 +661,7 @@ static void exec_javaldx(Args *args)
 
     if(err != osl_Process_E_None)
     {
-        fprintf (stderr, "Warning: failed to launch javaldx - java may not 
function correctly
");
+        putenv("javaldx_warn=failed to launch javaldx - java may not function 
correctly");
 
         if (javaldx)
             osl_freeProcessHandle(javaldx);
@@ -679,7 +679,7 @@ static void exec_javaldx(Args *args)
 
         if (bytes_read <= 0)
         {
-            fprintf (stderr, "Warning: failed to read path from javaldx
");
+            putenv("javaldx_warn=failed to read path from javaldx");
 
             if (javaldx)
                 osl_freeProcessHandle(javaldx);
diff --git a/svtools/source/java/javainteractionhandler.cxx 
b/svtools/source/java/javainteractionhandler.cxx
index 4d4541d5dfb8..20748df86b58 100644
--- a/svtools/source/java/javainteractionhandler.cxx
+++ b/svtools/source/java/javainteractionhandler.cxx
@@ -27,6 +27,7 @@
 #include <com/sun/star/java/JavaVMCreationFailureException.hpp>
 #include <com/sun/star/java/RestartRequiredException.hpp>
 #include <comphelper/processfactory.hxx>
+#include <osl/process.h>
 #include <vcl/svapp.hxx>
 #include <vcl/weld.hxx>
 #include <jvmfwk/framework.hxx>
@@ -206,6 +207,16 @@ void SAL_CALL JavaInteractionHandler::handle( const 
Reference< XInteractionReque
             OUString sWarning(SvtResId(STR_ERROR_JVMCREATIONFAILED_MAC));
 #else
             OUString sWarning(SvtResId(STR_ERROR_JVMCREATIONFAILED));
+#endif
+#if !defined(_WIN32)
+            if (OUString javaldx_warn;
+                osl_getEnvironment(u"javaldx_warn"_ustr.pData, 
&javaldx_warn.pData)
+                    == osl_Process_E_None
+                && !javaldx_warn.isEmpty())
+            {
+                // Technical untranslated info
+                sWarning += "
javaldx warning: " + javaldx_warn;
+            }
 #endif
             std::unique_ptr<weld::MessageDialog> 
xErrorBox(Application::CreateMessageDialog(nullptr,
                                                            
VclMessageType::Warning, VclButtonsType::Ok, sWarning));

Reply via email to