Fix improper ELF versions of certain symbols

They got marked as Qt6_PRIVATE_API because of these private header
defining classes that don't follow Qt's naming convention ("mutex",
"condition_variable", "ControlElement"). We have an exclusion for
classes whose name start with Q.

Introduced by 5d903a64ac in the old Perl
syncqt and ported over.

Pick-to: 6.5
Fixes: QTBUG-109605
Fixes: QTBUG-109604
Change-Id: I69ecc04064514f939896fffd173369623c960bcc
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
This commit is contained in:
Thiago Macieira 2022-12-23 08:42:37 -03:00
parent cb62cdbaa6
commit 41b38c802b
2 changed files with 7 additions and 2 deletions

View File

@ -19,6 +19,11 @@
#include <QtCore/QDeadlineTimer>
#include <QtCore/private/qglobal_p.h>
// This header always defines a class called "mutex" and one called
// "condition_variable", so those mustn't be used to mark ELF symbol
// visibility. Don't add more classes to this header!
// ELFVERSION:stop
#include <condition_variable>
#include <mutex>

View File

@ -39,7 +39,7 @@ class QMouseEvent;
namespace QMdi {
template<typename T>
class ControlElement : public T
class ControlElement : public T // ELFVERSION:ignore
{
public:
ControlElement(QMdiSubWindow *child) : T(child, nullptr)
@ -58,7 +58,7 @@ public:
QPointer<QMdiSubWindow> mdiChild;
};
class ControlContainer : public QObject
class ControlContainer : public QObject // ELFVERSION:ignore
{
public:
ControlContainer(QMdiSubWindow *mdiChild);