From 07e7bdef28716beada6ab24c156b6c78f405724e Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Thu, 26 Mar 2026 15:11:34 +0100 Subject: libqmenumodel/src: Fix build errors with Qt6 - Forward declarations of classes without corresponding imports seemed to mess with moc compilation. Switch to importing the corresponding headers, and only add forward-declarations where necessary (with a comment). - Adjust to some Qt constructors that handle char/char* being hidden by explicitly making QChar/QString. --- libqmenumodel/src/ayatanamenuaction.h | 3 +++ libqmenumodel/src/ayatanamenumodel.cpp | 4 ++-- libqmenumodel/src/ayatanamenumodel.h | 8 ++++++-- libqmenumodel/src/converter.h | 5 +++-- libqmenumodel/src/qdbusactiongroup.h | 5 ++++- libqmenumodel/src/qmenumodel.h | 3 ++- libqmenumodel/src/qmenumodelevents.h | 3 ++- libqmenumodel/src/qstateaction.h | 2 ++ 8 files changed, 24 insertions(+), 9 deletions(-) diff --git a/libqmenumodel/src/ayatanamenuaction.h b/libqmenumodel/src/ayatanamenuaction.h index 2454d8b..d7994c7 100644 --- a/libqmenumodel/src/ayatanamenuaction.h +++ b/libqmenumodel/src/ayatanamenuaction.h @@ -21,7 +21,10 @@ #include #include + +// cyclical includes, forward-declare class AyatanaMenuModel; +#include "ayatanamenumodel.h" class AyatanaMenuAction: public QObject { diff --git a/libqmenumodel/src/ayatanamenumodel.cpp b/libqmenumodel/src/ayatanamenumodel.cpp index 9ab0ff4..093beaa 100644 --- a/libqmenumodel/src/ayatanamenumodel.cpp +++ b/libqmenumodel/src/ayatanamenumodel.cpp @@ -463,7 +463,7 @@ QVariant AyatanaMenuModel::data(const QModelIndex &index, int role) const ret = gtk_menu_tracker_item_get_attribute (item, "x-canonical-type", "s", &type); if (ret) { - QVariant v(type); + QString v(type); g_free (type); return v; } @@ -658,7 +658,7 @@ static QString qtify_name(const char *name) if (*name == '-') { next_cap = true; } else if (next_cap) { - result.append(toupper(*name)); + result.append(QChar (toupper(*name))); next_cap = false; } else { result.append(*name); diff --git a/libqmenumodel/src/ayatanamenumodel.h b/libqmenumodel/src/ayatanamenumodel.h index 25722d9..b6f3dc3 100644 --- a/libqmenumodel/src/ayatanamenumodel.h +++ b/libqmenumodel/src/ayatanamenumodel.h @@ -20,9 +20,13 @@ #define AYATANAMENUMODEL_H #include -class ActionStateParser; -class QQmlComponent; +#include + +#include "actionstateparser.h" + +// cyclical includes, forward-declare class AyatanaMenuAction; +#include "ayatanamenuaction.h" class AyatanaMenuModel: public QAbstractListModel { diff --git a/libqmenumodel/src/converter.h b/libqmenumodel/src/converter.h index 27cdcae..62b1a7d 100644 --- a/libqmenumodel/src/converter.h +++ b/libqmenumodel/src/converter.h @@ -20,9 +20,10 @@ #ifndef CONVERTER_H #define CONVERTER_H +#include +#include + typedef struct _GVariant GVariant; -class QString; -class QVariant; class Converter { diff --git a/libqmenumodel/src/qdbusactiongroup.h b/libqmenumodel/src/qdbusactiongroup.h index d588b8e..6383e6a 100644 --- a/libqmenumodel/src/qdbusactiongroup.h +++ b/libqmenumodel/src/qdbusactiongroup.h @@ -25,8 +25,11 @@ #include #include +#include "actionstateparser.h" + +// cyclical includes, forward-declare class QStateAction; -class ActionStateParser; +#include "qstateaction.h" typedef char gchar; typedef void* gpointer; diff --git a/libqmenumodel/src/qmenumodel.h b/libqmenumodel/src/qmenumodel.h index bbb35a0..6d34e54 100644 --- a/libqmenumodel/src/qmenumodel.h +++ b/libqmenumodel/src/qmenumodel.h @@ -22,7 +22,8 @@ #include -class MenuNode; +#include "menunode.h" + typedef struct _GMenuModel GMenuModel; class QMenuModel : public QAbstractItemModel diff --git a/libqmenumodel/src/qmenumodelevents.h b/libqmenumodel/src/qmenumodelevents.h index be8f80d..754e233 100644 --- a/libqmenumodel/src/qmenumodelevents.h +++ b/libqmenumodel/src/qmenumodelevents.h @@ -23,7 +23,8 @@ #include #include -class MenuNode; +#include "menunode.h" + typedef struct _GDBusConnection GDBusConnection; typedef struct _GMenuModel GMenuModel; diff --git a/libqmenumodel/src/qstateaction.h b/libqmenumodel/src/qstateaction.h index 4d05a7a..daae7ce 100644 --- a/libqmenumodel/src/qstateaction.h +++ b/libqmenumodel/src/qstateaction.h @@ -23,7 +23,9 @@ #include #include +// cyclical includes, forward-declare class QDBusActionGroup; +#include "qdbusactiongroup.h" class QStateAction : public QObject { -- cgit v1.2.3