Warning, /packaging/flatpak-kde-applications/qgnomeplatform.patch is written in an unsupported language. File is not indexed.

0001 diff --git a/src/gnomehintssettings.cpp b/src/gnomehintssettings.cpp
0002 index 3708a5c..10f9fc3 100644
0003 --- a/src/gnomehintssettings.cpp
0004 +++ b/src/gnomehintssettings.cpp
0005 @@ -52,8 +52,30 @@ GnomeHintsSettings::GnomeHintsSettings()
0006      : QObject(0)
0007      , m_gtkThemeDarkVariant(false)
0008      , m_palette(nullptr)
0009 -    , m_settings(g_settings_new("org.gnome.desktop.interface"))
0010  {
0011 +    bool inSandbox = false;
0012 +    if (!qEnvironmentVariableIsEmpty("XDG_RUNTIME_DIR")) {
0013 +        const QString runtimeDir = qgetenv("XDG_RUNTIME_DIR");
0014 +        if (!runtimeDir.isEmpty()) {
0015 +            inSandbox = QFileInfo::exists(runtimeDir + QLatin1String("/flatpak-info"));
0016 +        }
0017 +    }
0018 +
0019 +    if (inSandbox) {
0020 +        if (qEnvironmentVariableIsSet("GIO_EXTRA_MODULES")) {
0021 +            m_gioExtraModules = qgetenv("GIO_EXTRA_MODULES");
0022 +            QString gioExtraModules = QStringLiteral("%1:%2").arg(m_gioExtraModules).arg(QStringLiteral("/usr/share/runtime/lib/plugins/QGnomePlatform/lib/gio/modules"));
0023 +            qputenv("GIO_EXTRA_MODULES", gioExtraModules.toUtf8());
0024 +        } else {
0025 +            qputenv("GIO_EXTRA_MODULES", QByteArray("/usr/share/runtime/lib/plugins/QGnomePlatform/lib/gio/modules"));
0026 +        }
0027 +
0028 +        GSettingsSchemaSource *schema = g_settings_schema_source_new_from_directory("/usr/share/runtime/lib/plugins/QGnomePlatform/share/glib-2.0/schemas/", g_settings_schema_source_get_default(), true, nullptr);
0029 +        m_settings = g_settings_new_full(g_settings_schema_source_lookup(schema, "org.gnome.desktop.interface", true), nullptr, nullptr);
0030 +    } else {
0031 +        m_settings = g_settings_new("org.gnome.desktop.interface");
0032 +    }
0033 +
0034      gtk_init(nullptr, nullptr);
0035  
0036      // Set log handler to suppress false GtkDialog warnings
0037 @@ -161,6 +183,8 @@ GnomeHintsSettings::GnomeHintsSettings()
0038  
0039  GnomeHintsSettings::~GnomeHintsSettings()
0040  {
0041 +    qputenv("GIO_EXTRA_MODULES", m_gioExtraModules.toUtf8());
0042 +
0043      qDeleteAll(m_fonts);
0044      delete m_palette;
0045  }
0046 diff --git a/src/gnomehintssettings.h b/src/gnomehintssettings.h
0047 index ab3e09e..b4adf7a 100644
0048 --- a/src/gnomehintssettings.h
0049 +++ b/src/gnomehintssettings.h
0050 @@ -88,6 +88,7 @@ protected:
0051  private:
0052      QStringList xdgIconThemePaths() const;
0053  
0054 +    QString m_gioExtraModules;
0055      gboolean m_gtkThemeDarkVariant;
0056      gchar *m_gtkTheme;
0057      QPalette *m_palette;