https://bugs.kde.org/show_bug.cgi?id=475562

--- Comment #19 from Timo Gurr <timo.g...@gmail.com> ---
I was able to workaround this downstream by applying:

diff -Naur krita-5.2.0/libs/resources/KoResourcePaths.cpp
krita-5.2.0.new/libs/resources/KoResourcePaths.cpp
--- krita-5.2.0/libs/resources/KoResourcePaths.cpp      2023-10-04
10:06:16.000000000 +0200
+++ krita-5.2.0.new/libs/resources/KoResourcePaths.cpp  2023-10-19
12:36:59.478727217 +0200
@@ -145,7 +145,7 @@
     // NOTE the subscript [1]. It points to the internal location.
     return
QStandardPaths::standardLocations(QStandardPaths::AppDataLocation)[1] + "/";
 #else
-    return qApp->applicationDirPath() + "/../";
+    return qApp->applicationDirPath() + "/../../";
 #endif
 }

Additionally we have to patch the search paths on different other iterations:

diff -Naur krita-5.0.2/libs/libqml/Theme.cpp
krita-5.0.2.new/libs/libqml/Theme.cpp
--- krita-5.0.2/libs/libqml/Theme.cpp   2022-01-05 12:03:09.000000000 +0100
+++ krita-5.0.2.new/libs/libqml/Theme.cpp       2022-03-08 16:13:27.390969897
+0100
@@ -347,7 +347,7 @@
     QString qml = QStandardPaths::locate(QStandardPaths::AppDataLocation,
                                         
QString("krita/qmlthemes/%1/theme.qml").arg(id));
     if (qml.isEmpty()) {
-            qml = KoResourcePaths::getApplicationRoot() +
QString("/share/krita/qmlthemes/%1/theme.qml").arg(id);
+            qml = QString("/usr/share/krita/qmlthemes/%1/theme.qml").arg(id);
     }
     return qml;
 }
diff -Naur krita-5.0.2/libs/ui/KisApplication.cpp
krita-5.0.2.new/libs/ui/KisApplication.cpp
--- krita-5.0.2/libs/ui/KisApplication.cpp      2022-01-05 12:03:09.000000000
+0100
+++ krita-5.0.2.new/libs/ui/KisApplication.cpp  2022-03-08 16:17:08.585457533
+0100
@@ -368,7 +368,7 @@
         QMessageBox::critical(qApp->activeWindow(), i18nc("@title:window",
"Krita: Fatal error"), i18n("%1\n\nKrita will quit now.",
KisResourceCacheDb::lastError()));
     }

-    KisResourceLocator::LocatorError r =
KisResourceLocator::instance()->initialize(KoResourcePaths::getApplicationRoot()
+ "/share/krita");
+    KisResourceLocator::LocatorError r =
KisResourceLocator::instance()->initialize("/usr/share/krita");
     connect(KisResourceLocator::instance(), SIGNAL(progressMessage(const
QString&)), this, SLOT(setSplashScreenLoadingText(const QString&)));
     if (r != KisResourceLocator::LocatorError::Ok &&
qApp->inherits("KisApplication")) {
         QMessageBox::critical(qApp->activeWindow(), i18nc("@title:window",
"Krita: Fatal error"),
KisResourceLocator::instance()->errorMessages().join('\n') + i18n("\n\nKrita
will quit now."));

Anyhow feel free to close this issue as the whole search path problem with our
Exherbo multiarch/cross layout with arch-independent stuff in /usr/share, but
arch-depedendent stuff installed to prefix /usr/<arch> and a solution for this
should probably be a separate more general bugreport.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to