From 2cf4b15e8d4e7bb3e79e69a18a93f9058292c4d6 Mon Sep 17 00:00:00 2001
From: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
Date: Tue, 1 Sep 2026 23:37:22 -0300
Subject: tdeprint: resolve cupsdoprint helper path
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
---
 tdeprint/cups/kcupsprinterimpl.cpp | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tdeprint/cups/kcupsprinterimpl.cpp b/tdeprint/cups/kcupsprinterimpl.cpp
index 9d4fd1420..a8bce9510 100644
--- a/tdeprint/cups/kcupsprinterimpl.cpp
+++ b/tdeprint/cups/kcupsprinterimpl.cpp
@@ -28,6 +28,8 @@
 #include <cups/cups.h>
 #include <stdlib.h>
 #include <tdeprocess.h>
+#include <tdestandarddirs.h>
+#include <tdelocale.h>
 
 static void mapToCupsOptions(const TQMap<TQString,TQString>& opts, TQString& cmd);
 
@@ -67,8 +69,15 @@ bool KCupsPrinterImpl::setupCommand(TQString& cmd, KPrinter *printer)
 	// check printer object
 	if (!printer) return false;
 
+	TQString exe = TDEStandardDirs::findExe("cupsdoprint");
+	if (exe.isEmpty())
+	{
+		printer->setErrorMessage(i18n("Unable to locate the CUPS print helper <b>cupsdoprint</b>."));
+		return false;
+	}
+
 	TQString	hoststr = TQString::fromLatin1("%1:%2").arg(CupsInfos::self()->host()).arg(CupsInfos::self()->port());
-	cmd = TQString::fromLatin1("cupsdoprint -P %1 -J %3 -H %2").arg(quote(printer->printerName())).arg(quote(hoststr)).arg(quote(printer->docName()));
+	cmd = TQString::fromLatin1("%1 -P %2 -J %4 -H %3").arg(quote(exe)).arg(quote(printer->printerName())).arg(quote(hoststr)).arg(quote(printer->docName()));
 	if (!CupsInfos::self()->login().isEmpty())
 	{
 		TQString	userstr(CupsInfos::self()->login());
-- 
cgit v1.2.3

